Author Topic: Vivado problem I don't know how to google for!  (Read 1701 times)

0 Members and 1 Guest are viewing this topic.

Offline 0culusTopic starter

  • Super Contributor
  • ***
  • Posts: 3032
  • Country: us
  • Electronics, RF, and TEA Hobbyist
Vivado problem I don't know how to google for!
« on: May 01, 2019, 12:17:11 am »
So I have an issue with Vivado that I haven't been able to figure out, and I'm guessing I either don't know the right search terms for or I'm a special snowflake.  :-DD

Basically, I have a master XDC constraint file for my boards (Digilent Arty-S7-50 rev B). This file lays out all the correct package pins and i/o standards for each port, button, switch, LED, etc. You're supposed to uncomment what you need. Problem is, when I get the implemented design and look at the i/o ports, all the pins I'm using are still on the default i/o standard and are not placed on a package pin, which means DRC fails and you can't generate a bitstream. How do I get Vivado to actually honor the XDC constraints here? If I set it manually, it clobbers the constraint file and writes it all at the end.
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: Vivado problem I don't know how to google for!
« Reply #1 on: May 01, 2019, 12:36:32 am »
Last time this sort of thing happened to me was when I had the wrong device package selected for the project, so the pin names were not valid, so it just picked any old pin.

I've never it just ignore an XDC but if you are willing to share your design files with me (PM / email me) I am happy to have a look.

Maybe include a few lines in a "code" tag in a reply?

« Last Edit: May 01, 2019, 12:42:29 am by hamster_nz »
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 
The following users thanked this post: 0culus

Offline KE5FX

  • Super Contributor
  • ***
  • Posts: 1999
  • Country: us
    • KE5FX.COM
Re: Vivado problem I don't know how to google for!
« Reply #2 on: May 01, 2019, 12:38:40 am »
Did you actually add the .XDC file to your project?  It won't do anything if the file is just sitting there in the directory, you have to actively add it.
 
The following users thanked this post: 0culus

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3243
  • Country: ca
Re: Vivado problem I don't know how to google for!
« Reply #3 on: May 01, 2019, 01:00:41 am »
If Vivado doesn't understand something in your XDC files, it usually ignores it, but it also puts up an error or warning. If you look at them, you'll see error description and referebces to line numbers in XDC files. Using this information, it should be easy understand what is wrong in XDC.

After you uncomment things, you need to make sure the ports listed in XDC commands have the same names as the ports of the top entity of your design.
 
The following users thanked this post: 0culus

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: Vivado problem I don't know how to google for!
« Reply #4 on: May 01, 2019, 01:12:37 am »
Oh, and uppercase/lowercase matters in top-level signal names!
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 
The following users thanked this post: 0culus

Offline 0culusTopic starter

  • Super Contributor
  • ***
  • Posts: 3032
  • Country: us
  • Electronics, RF, and TEA Hobbyist
Re: Vivado problem I don't know how to google for!
« Reply #5 on: May 01, 2019, 02:08:30 am »
Hmmm, thanks for your replies everyone. So I do have the XDC file added to the project. I did have some capitalization mismatch, so I fixed that. Now it is getting the i/o standard right (LVCMOS33) but it's doing whatever the hell it wants for package pin assignment, ignoring the ones set in XDC. None of the warnings that usually show up when it doesn't like an XDC directive either. I guess it's better than before where it was leaving everything default and not assigning anything. 
 

Offline 0culusTopic starter

  • Super Contributor
  • ***
  • Posts: 3032
  • Country: us
  • Electronics, RF, and TEA Hobbyist
Re: Vivado problem I don't know how to google for!
« Reply #6 on: May 01, 2019, 02:29:46 am »
Nevermind. It wrote it's own constraints again at the end of my constraints.  :o  |O

So the master XDC file provided by Digilent is here: https://github.com/Digilent/digilent-xdc/blob/master/Arty-S7-50-Rev-B-Master.xdc

Vivado writes them out all separately rather than using the -dict directive. Maybe Vivado doesn't like having the XDC specified as dictionaries?
 

Offline 0culusTopic starter

  • Super Contributor
  • ***
  • Posts: 3032
  • Country: us
  • Electronics, RF, and TEA Hobbyist
Re: Vivado problem I don't know how to google for!
« Reply #7 on: May 01, 2019, 03:07:48 am »
OK, I think I fixed it. I reset all the runs and started a new XDC file from the template linked above. I made sure all the signal names matched, etc., and now it seems to be reading the constraints correctly. Thanks for pointing that out!!!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf