Jump to content

Kvass

Members
  • Posts

    23
  • Joined

  • Last visited

Everything posted by Kvass

  1. Yea, the old method is deprecated and doesn't work past Vivado 2019. On the bright side, the newer way explained here https://www.instructables.com/Flashing-a-MicroBlaze-Program works well, and gets both your embedded SW and your FPGA programmed. -K
  2. The CMOD is programmable just with a USB-MicroUSB cable. I believe the Basys 3 is the same, only needs a microusb cable to be programmed by your PC.
  3. As far as I know, as long as you made the JTAG interface on your custom board to match the HS2 pinout, the Adept 2 should recognize the HS2 chip as the "hardware server" and you should be able to see your FPGA and configure it. I use the HS2 programmer to program boards with FPGA parts not from Digilent all the time.
  4. Oh man, I've ran into this issue many times over, and with multiple versions of vivado. One thing I found at some point is that if you have a microblaze program in your design, it likes to be the release version, not the debug one. Which version of Vivado/Vitis are you using? https://forum.digilent.com/topic/23536-storing-program-in-flash-on-cmod-a7-in-2022/ https://forum.digilent.com/topic/26483-microblaze-program-not-starting-on-powerup-cmod-a7/ https://forum.digilent.com/topic/25802-cmod-a7-35t-spi-memory-programming
  5. hmmm, I've double checked the QSPI IPcore and my device settings, everything is set to Quad mode. I am also using Micron memory on my CMOD a7 35T, so our setups are quite similar. I'll try to made the barebones Hello World project and expand from there, I'll post an update if I get it working and find the issue that was causing it not to launch. Thanks, Kvass
  6. Ugh, I feel as thought I'm at my wits end here. I have a project on my CMOD A7 35T, and I can't get it to boot the Microblaze on startup. Whenever I program the device through VITIS using the debugger, my program starts and everything is well. I added my .ELF file to my Microblaze using the "associate elf file" function, and am storing my bin file via the "Configuration Memory Device" through the hardware manager. When I powercycle my board, I can see that the bitstream loaded and the clock is running based on my observations on the ILA. However my C program stored on the Microblaze isn't starting up for some reason. I've tried both release and debug versions of my C code, and I verified that I followed all steps when configuring my QSPI core and other related settings based on this post from before : What are possible reasons why the Microblaze isn't launching on startup, but works every time when programming the board through Vitis or the hardware manager? Vivado version is 2021.2 Thanks, ~Kvass
  7. I ran into this issue recently, and that tutorial is now outdated as of vivado 2020. The newer tutorial is here I believe. https://www.instructables.com/Flashing-a-MicroBlaze-Program/
  8. So "time.h" doesn't work on zynq and microblaze processors as far as I know. There is a xilinx specific library called "xtime_l.h" that implements time measurement functions.
  9. I think all of their boards are on the Digilent Github: https://github.com/Digilent/vivado-boards
  10. It should be as easy as setting the Rx and Tx pins of the UARTlite IP core to output pins and assign them to the Pmod pins in your constraints file.
  11. Have you configured your SD card settings correctly on the ZYNQ? I had the same issue for the longest time on a Genesys ZU 7EV until I read that the SD card had to be 3.0 and neither eMMC nor 2.0. https://digilent.com/reference/programmable-logic/genesys-zu/reference-manual#microsd_boot_mode
  12. Hi Sarvan, Ok, that clears it up a bit. Check out https://digilent.com/reference/programmable-logic/genesys-zu/reference-manual for the reference manual of the board. Try setting the Programming mode to USB on JP3 when using the USB port to upload your program. The JTAG mode should be used when you have a HS# connector used to connect to the JTAG header. I had an HS1 module that came with my board, so maybe you also have one in the box somewhere? Good luck, -K
  13. Hi Sarvan, So does it not connect to the board when attempting to launch the hardware server? When you say you connect to the board via microusb, are you connecting to the microusb port, or to the JTAG pins using the JTAG-HS# connector? Also, do you have anything connected to the FMC connector on the board? -K
  14. Take a look at the errors it gives you at the bottom tab of the interface. This should have the reasons why the bitstream generation failed. It looks like you didn't assign non-default pins in your project. Even if the "default" setting is the one you want, you need to manually assign the pin I/O Standard in the xdc file, or in the pin planner. ~Kvass
  15. Hi JColvin, I did end up using the Instructables guide to flash the memory. This seems to be a much easier way than creating the bootloader and using the SREC. No issues with the Macronix memory either. Thank you very much! One thing about the guide that wasn't clear and may be worth noting is that in the guide, the .ELF file is built as a debug configuration. In practice, the MicroBlaze did not immediately run the .elf file if it was built as a debug .elf. Once I built it as a release, it worked right away. Thanks again, -Kvass
  16. Hi all, So I've been trying to store my bitstream + vitis .elf project on my CMOD A7-35t. I've done this in the past using the guide that gets referenced here often https://digilent.com/reference/learn/programmable-logic/tutorials/htsspisf/start. However, this time I'm doing it with Vivado 2020.2 and Vitis. The big change that I cannot seem to port over to Vitis is the xilisf library. This has been deprecated with Vitis and replaced with XilFlash. My CMOD board also uses Macronix flash memory. This normally means I have to do extra steps to support this memory vendor as shown in the guide. The summary of issues I'm facing trying to store my project in flash is: xilisf no longer shows up in the BSP file I cannot configure the (non-existent) xilisf to support Macronix memory Is storing the project in flash memory impossible without using an older version of the SDK which supports xilisf? Does anyone have a workaround for this? -Kvass
  17. Thanks for the response. I did check all available COM ports, with the same result (no data sent) . I should probably run the "hello world" program anyways as a test.
  18. Hi all, I am working on a program which reads some text input from a PC using a UART connection. I am coding the UART parser on PS-side in Vitis, then sending the data to the FPGA - but this part of the system works. I am having an issue with the UART connection on the Genesys ZU. I am using the microUSB port labelled "PROG USB", as this seems to be the UART port on the board. When I connect to my PC, I do see the two COM ports open up, labelled as "serial port". I have ensured I have the proper drivers for that port, I got it straight from the FTDI website (UART-USB chip on the Genesys ZU board). However my data is not being sent to the FPGA. When I debug my code, I see that the UART buffer is not filling up, I also write to the UART port in my C program in Vitis, and the PC is not picking anything up. This tells me that there is something wrong with the connection itself. Has anyone else had issues with being able to connect to the UART on the Genesys ZU board? I've attached images with how I've configured the UART related portions of the system. Thanks, Kvass
  19. This is a very generic question, but I'll try to point you in the right direction. Generating a bitstream file in Vivado happens after Synthesis and Implementation of your project code. It will just be a button on the righthand toolbar. (See images) Source files for this board? Do you mean the pin assignment master file? What are you trying to put onto the board? Here's a step-by-step tutorial of creating and uploading a very basic project onto this board. https://www.youtube.com/watch?v=pkDWzG8spvg
  20. Looks like it's sending and receiving signals just fine. I'm still a newbie to the whole industry, so I may be wrong ?
  21. You could check the pins by creating a new project, and checking I/O on those pins that way. Alternatively, if you own an oscilloscope, it could also verify the signals on the pins with that.
  22. Thanks for the responses. I did some digging, and yea, @zygot is right. The JTAG is read after the FMC connector, so is FMC_PRSNTN_M2C is held low, then the FPGA will never get to reading the onboard JTAG port. Somewhat complicates things, but I can work around this information now.
  23. The JTAG cable is not being read at all when anything is connected to the FMC-LPC connector. I have a new Genesys-ZU 3EG board which I am programming with Vitis. I am using the JTAG HS1 adapter to load my program into the board. This works when nothing else is connected to the board. For my project, I connect another board to the FMC connector. I am using this board. When the FMC card is connected, my PC stops recognizing the JTAG connection. The connection is invisible to both Vitis and Vivado. I have nothing else connected to the Genesys board nor to the FMC adapter. Any insight would be appreciated, -Kvass edit: all LEDs that were on previously light up as normal, i.e. main and aux power LEDs are on, the "init" LED is on as well. My jumper on JP3 is connected to the JTAG pins as well
×
×
  • Create New...