Hi, I would like to know where the documentation is to know the pin relationship between the physical pins of the FPGA and the arduino board. And on which pins you can connect the original USB Blaster, not the emulated one through the SAM D21 Thank you
With FPGA-like things, it's always a schematics file.
This file can be found at arduino store, in the documentation section for the board: https://content.arduino.cc/assets/vidor_c10_sch.zip
Ok. Thank you, but a file with the connections is essential for FPGAs
In this file you find the position and characteristics of the various pins: vidor_s_pins.qsf
In the library example:
// Ok, so we know now that the FPGA contains the extended GPIO IP // Please refer to the online documentation for the actual pin assignment // Let's configure pin A0 to be an output, controlled by the FPGA FPGA.pinMode(33, OUTPUT); FPGA.digitalWrite(33, HIGH);
// The same pin can be read by the SAMD processor :) pinMode(A0, INPUT); Serial.print("Pin A0 is "); Serial.println(digitalRead(A0) == LOW ? "LOW" : "HIGH");
Where is the table that relates pin 33 in the example with the rest of the fpga pins?
I'm not sure has anyone of us used these original FPGA images. I think we all just create our own FPGA images.
At least that FPGA class commands from SAMD21 is "slow" because they use JTAG + mailbox messaging to FPGA and in there NIOS II will handle message and write IP block registers.
Also if you plan to use USB Blaster sketch then you lose that FPGA class based communication because it also uses JTAG.
Note: I think this board is not for typical arduino users because you have to have knowledge of FPGA development and tools.
So for continuing hobby I recommend to check nandland website and youtube channel. fpga4fun have some info for who want to learn. Also Intel have good free curriculums for FPGA training.
My opinion is that this board lacks a lot of software development ... the web user interface is not created to use precompiled blocks and there are only three libraries created quite useless because they are not sufficiently documented to be able to modify them. To program only the FPGA with Quartus is also quite useless because the number of physical pins on the board are few, the JTAG connector is not soldered to use the true usb blaster and the emulated through SAM21 is only used to program the RAM memory of the FPGA . This is a constructive criticism I hope they continue working .. in the software to be able to use the precompiled blocks that can be fun to use with the SAM21
Those who will create their own IP block will use more likely Quartus than arduino web ide.
Web IDE is ok for precompiled fpga images or combining predefined IP:s. Web IDE should also create FPGA user guide when it's building image.
Current problem is lack of professional documentation like system level and implementation document. These should contain all pin mappings, how communication is done between fpga and MCU, memory maps, flash map, etc...
Currently if you wan't to implement something new then it's easiest to start with empty FPGA or do it hard way and start to reverse engineer stuff. current documents are in that state.
USB Blaster sketch should be able to program flash that is connected to FPGA. You just have to use indirect programming. Also be carefull I'm not sure if the golden image is available. Aso when using USB blaster sketch then normal FPGA communication is disabled because they use same JTAG.
Thank you, I agree with you. I hope they advance in the development of this board.