Jump to content
  • 0

Nexys 4 DDR Blinky tutorial error generating Bitstream


guantamanera

Question

Hello all, I bought the nexys 4 DDR, and since I am new I started with the basic tutorial blinky
Everything goes well until I get to step 8. "Synthesis, Implementation, and Bitstream Generation"

The Synthesis ran successfully,  and where it fails is at the bitstream generation. Since the Synthesis was completed I am assuming is not the verilog code, and is just some setting that I need to complete.
The log gives the following error:

ERROR: [DRC NSTD-1] Unspecified I/O Standard: 2 out of 2 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all I/O standards. This design will fail to generate a bitstream unless all logical ports have a user specified I/O standard value defined. To allow bitstream creation with unspecified I/O standard values (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks NSTD-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: clk, and led.
ERROR: [DRC UCIO-1] Unconstrained Logical Port: 2 out of 2 logical ports have no user assigned specific location constraint (LOC). This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all pin locations. This design will fail to generate a bitstream unless all logical ports have a user specified site LOC constraint defined.  To allow bitstream creation with unspecified pin locations (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks UCIO-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run.  Problem ports: clk, and led.
WARNING: [DRC CFGBVS-1] Missing CFGBVS and CONFIG_VOLTAGE Design Properties: Neither the CFGBVS nor CONFIG_VOLTAGE voltage property is set in the current_design.  Configuration bank voltage select (CFGBVS) must be set to VCCO or GND, and CONFIG_VOLTAGE must be set to the correct configuration voltage, in order to determine the I/O voltage support for the pins in bank 0.  It is suggested to specify these either using the 'Edit Device Properties' function in the GUI or directly in the XDC file using the following syntax:

I googled the error and the query gave me 2 answers. The first one looks way way to complicated and to be honest I don't understand it. I got lost at the first step.
The second answer is from digilent forums. In there the person asking said he fixed it, and he wrote this; "I solved this. I had input 'clk' in the source and 'CLK' in the constraints file". 
I am using the constrain file that I donwloaded digilent named "Nexys-4-DDR-Master.xdc" and in the clock I have CLK100MHZ and a commented out one called "clk100mhz". I tried changing in the verilog file to those names instead of clk, since the blinky tutorial said not to modify the constrain file and only uncomment. 

Please help this is like the most frustrating hello world I ever had to do. I attached my project files and constrain files in case anyone wants to look at it. 

blinky.zip

Nexys-4-DDR-Master.xdc

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

Remember that Verilog is case sensitive and this extends to names in the constraints file.

Your blinky.v source file uses "led" (lower case). The constraints file uses "LED" (upper case). 

I also noticed that the constraints file you attached names the clock as "CLK100MHZ" but your blinky.v refers to it as "clk".

If you reconcile the names between blinky.v and Nexys-4-DDR-Master.xdc, you should be able to generate a bitstream.

I implemented blinky with my Arty A7-35 as shown below.

Note I created the constraints file blinky.xdc and copied only the relevant clock and led lines from the master constraints file to make it easier to see.

Also note the pin locations shown for my Arty board will be different from the pin locations for your Nexys board.

image.thumb.png.f359cb520eac98f4e2f948e7a4659578.png

Link to comment
Share on other sites

Thanks that works. I renamed it to be CLK100MHZ and LED in the verilog file as it shows in the constrains file. I blame this one on digilent since they don't mention this at all in their tutorial and also blame myself for not using my imagination 1 bit. Well it was long and tiring setting up the environment just to get started with the blinky tutorial. Hopefully things will not be so hard from here.

 

Thank you kwilber.

guantamanera

Link to comment
Share on other sites

I am glad that helped.

Digilent's tutorials and sample projects are great. Just keep in mind that they are developed for a specific board using a specific version of Vivado, so you have to be on the lookout for things you have to tweak when porting to a different board/device or Vivado version. This also applies to many open source projects you find on the web.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...