I need to get my head around timing (Xilinx) - Page 1
Forum section: electronics / general

author: betocool
author_rank: Regular Contributor
timestamp: August 28, 2024, 01:23:30 pm
content: Hey all,One of the hardest things for me in the FPGA world is timing constraints. I do understand the why and the reasons, mostly, but I struggle especially with the syntax of the XDC commands, the f******g unhelpful complaints about generated clocks in Vivado (the User Constraints Manual does not alleviate the situation) and also how to properly define output and input constraints, related to timing.Do you guys have links or examples with more recent revisions of Vivado that you could point me at, usual symptoms, input - output constraints, etc? We have a project at work coming up on an Artix7, and I want to start focusing on this issue already synthesizing PSRAM interfaces and try to catch errors before the PCB is routed.Cheers,Alberto

author: glenenglish
author_rank: Frequent Contributor
timestamp: August 29, 2024, 01:20:12 am
content: There are quite a few useful video tutorials on the xilinx site on this...as for the PSRAM interface - how fast is it ? if only 200 MHz (DDR?) , with 7 series, it wont matter what pins you choose. the tool will make that work if you tell it when the signals need to be on the pins wrt some other pin.the big difference betweem Vivado and ISE, is that in Vivado everything must be timed otherwise the tool will go to enormous lengths to try and satisfy everything (like all the async reset paths) , and take forever to P&R.glen

author: betocool
author_rank: Regular Contributor
timestamp: August 29, 2024, 08:11:27 am
content: Hey,the PSRAM is 100 MHz DDR, and I've got the simulation model from the manufacturer and got acquainted with IDDR and ODDR primitives. I think that will work OK.Do you have any links to those Xilinx vids you mentioned?I went through a very long article herehttps://www.01signal.com/constraints/timing/which is very detailed, so that helped a lot. I'm still a bit confused about the syntax and I/O timing constraints. But it's been a lot of reading...Cheers,Alberto

author: glenenglish
author_rank: Frequent Contributor
timestamp: August 30, 2024, 10:09:00 am
content: you'll need to go looking for videos webinars and tutorials under Vivado in the xilinx site, I dunno where anythign is since AMD changed all the links.download the Xilinx DOCNAV, also. that has a "Design Hub View" that you find useful- has all the video and tuts listed and linked.also, start reading the microzed chronicals...

author: betocool
author_rank: Regular Contributor
timestamp: September 08, 2024, 11:49:14 pm
content: Hey, thanks for the information so far.I'm still confused about how to get rid of the "No ouput delay" and "No input delay" warnings, or basically, how to set the input and output delay correctly.I'm not fussed about the UART or GPIO ports, but I would to add an exception to them, just haven't figured out how yet.Do you know of any example constraints that I could have a look at? My google searching skills on this subject have been sub-par of late.Cheers,Alberto

author: Someone
author_rank: Super Contributor
timestamp: September 09, 2024, 12:02:56 am
content: There are some examples in UG903.But you're probably after the "Language Templates" on the tools menu.

author: KE5FX
author_rank: Super Contributor
timestamp: September 09, 2024, 09:03:49 pm
content: Quote from: betocool on September 08, 2024, 11:49:14 pmAs of a year or so ago, ChatGPT couldalmostcreate XDC constraints if you told it what you were trying to do, but it would drop the ball fairly early in the process. GPT4o seems a bit better. Try asking it for help with a particular error message or asking it to author constraints for a particular use case.Obviously a solution provided by a language model will have an 80% chance of getting you out of trouble and a 20% of chance of getting you into even worse trouble... but getting the most out of these things is a skill that will clearly matter going forward, so you might as well try it.

author: betocool
author_rank: Regular Contributor
timestamp: September 18, 2024, 02:22:31 pm
content: Good call, I didn't think about using ChatGPT for that, it usually does the trick for me for simpler stuff. I'll have to give that a try.Cheers,Alberto