One USB gadget is a CP2104 USB to serial "dongle" that I have connected to the console serial port. The port runs at 115200, so a CP2102 would do just as well, but apparently this is the first thing I found in my drawer.
The other USB gadget is a Pi Pico with firmware installed so it functions as a XVC (Xilinx Virtual Cable) device. This is connected to the JTAG port on the Ebaz. More on this below. This does not have to be plugged in unless you actually intend to download bitstreams from vivado (or via the openFPGALoader utility).
I have a "pigtail" connected to the power pins with the usual coaxial power connector soldered to it. This allows a variety of "wall warts" to be used. I am current using a Netgear badged 12 volt, 1200 mA unit and it seems to work fine. I am told that any voltage from 6 to 12 volts (and perhaps beyond?) will work, but lower voltages will need to supply more current. I dug around and found a 6 volt 2100 mA supply and tried it. It seems to work just fine.
If you start up the unit without a network cable attached it will try to run whatever random rubbish is in ram after the network boot times out and typically get an undefined instruction exception and go into a boot loop. The same will happen if the network is misconfigured or if the DHCP server is not set up properly, and so forth.
There is no reset button unfortunately, but what I do is to have a button wired up to interrupt power, which yields the same effect as a reset. There is an issue however. Somehow the USB to serial device powers the board and I do not always get a clean reset (or any reset) when I interrupt power. The solution is to unplug the USB cable to the USB/serial device. This is unfortunate, but what can you do.
Vivado "remembers" all of my projects. The code and files for them resides in /home/tom/vivado. The "fancy" ledio project is actually "ebaz_blink_4" in the Vivado world and the verilog is at:
/home/tom/vivado/ebaz_blink_4/ebaz_blink_4.srcs/sources_1/new/fancy.v
I flashed xvc-pico and use the Pico as a Xilinx Virtual Cable (which is one of the options that Vivado understands to access the FPGA over JTAG. My notes are here:
Along with connecting this and plugging in the USB cable, you also need to run a server. This is "xvcd-pico" and I usually set aside a terminal for this, and type this on the command line.[tom@trona tom]$ xvcd-pico xvc-pico listening on port 2542I made the trivial hack to the code so it tells me it is listening on port 2542.
I can then do this:
[tom@trona blink2]$ make pl openFPGALoader -c xvc-client --file-type bit ledio.bit detected xvcServer version v1.0 packet size 1024It has a progress bar and takes quite a while. While it is loading, the green LED (LED1) next to the Zynq goes out, and it comes back on when the bitstream is loaded.
In the current state of the blink2 demo, this is useless and actually counterproductive. It works, but then software needs to be told to write to the GPIO port to configure the blink state. It is both faster and simpler just to compile the bitstream into the software and let software load it and then do the write to configure it.
Tom's Computer Info / [email protected]