UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
3,846 Views
Registered: ‎09-12-2011

Speed grade information while creating an ngc

Jump to solution

Dear Members;

 

 Is the speed grade information used while creating an ngc file if the project doesn't include a xcf file?

 

 Assume I am providing a user with an ngc file to be used in his design. The user will take the ngc file and create his own project with additional design units added to the design and run the place & route.

 

If I were to create the ngc file with a different speed grade, would this be problem? Would this result in any inefficient designs?

 

Regards, 

 

 

0 Kudos
1 Solution

Accepted Solutions
Teacher muzaffer
Teacher
4,944 Views
Registered: ‎03-31-2012

Re: Speed grade information while creating an ngc

Jump to solution
NGC file stored the netlist for the subblock. After that netlist is integrated to the top level, the whole design will be timed with the requirements of the top level design. So the output will be correct with respect to behavior & timing (whether it passes or not).
The potential issues are two: if the ngc provider generates it with a slower part, that design might be overly constrained and its size might be bigger than it would've been had it been designed for the faster part the top level is using. This is a potential inefficiency. The other issue is that if the ngc provider uses a faster part than the top level part, the design might be overly optimistic and it might be difficult to meet timing after integration. I think either of these issues is not something to be overly concerned and it may make sense to generate the design for a speed which is in the middle range for that part so that it is neither overly optimistic nor overly pessimistic.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
3 Replies
Highlighted
Historian
Historian
3,839 Views
Registered: ‎01-23-2009

Re: Speed grade information while creating an ngc

Jump to solution

Hmmm... Interesting question.

 

So, first, the design will be "correct" regardless of which speed grade you used in generating the ngc, as long as your customer uses the correct speed grade in his project. The ngc is merely a netlist describing the basic elements (BELs) used to implement the design and their connectivity. It can carry some constraints (that's why its ngC - the C is for constraints), but the constraints are not written unless the -write_timing_constraints option to xst is used (which, as far as I know, no one does - particularly if you don't have an .xcf!)

 

As for it being inefficient... Well, that's a tougher question. In theory XST is timing driven, so it is theoretically possible that it will optimize your design differently on different speed grade parts (maybe a faster speed grade would result in a smaller design, since the tool has less trouble meeting timing, and can hence reduce area). Of course, this is based on two assumptions

  1) That the tools have a goal. Since you haven't given an xcf file, they don't. and

  2) that XST is really timing driven (or does something sane based on timing constraints). In my experience, the verdict on this is still out (and probably always will be). I have never found XST to be particularly strongly timing driven

 

Since, in your case, neither of these things seem to be true, its not likely that you will be able to find any difference in efficiency. However, the results will be different - changing the speed grade is an "independent variable" to the synthesis process, and even without an .xcf file this will likely change the resulting design. Its impossible to know if it will be better or worse, but it will likely be "different".

 

Avrum

0 Kudos
Teacher muzaffer
Teacher
4,945 Views
Registered: ‎03-31-2012

Re: Speed grade information while creating an ngc

Jump to solution
NGC file stored the netlist for the subblock. After that netlist is integrated to the top level, the whole design will be timed with the requirements of the top level design. So the output will be correct with respect to behavior & timing (whether it passes or not).
The potential issues are two: if the ngc provider generates it with a slower part, that design might be overly constrained and its size might be bigger than it would've been had it been designed for the faster part the top level is using. This is a potential inefficiency. The other issue is that if the ngc provider uses a faster part than the top level part, the design might be overly optimistic and it might be difficult to meet timing after integration. I think either of these issues is not something to be overly concerned and it may make sense to generate the design for a speed which is in the middle range for that part so that it is neither overly optimistic nor overly pessimistic.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
Explorer
Explorer
3,808 Views
Registered: ‎09-12-2011

Re: Speed grade information while creating an ngc

Jump to solution

0 Kudos