Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16592 Discussions

How to know the suffix meaning?

NuvKFC
New Contributor I
1,181 Views

From some example, I know some meaning of suffix by my guessing.

 

Ex.

"clk" is the clock pin of a D flip-flop.

"q" is the output pin of a D flip-flop.   

"~0" to "~*" are the duplicate nets. Note that * represent any number.

"~clkctrl" is the global buffer by my guessing.

 

Does there have a complete table to describe all the suffix meaning?

 

Thank you very much.

0 Kudos
15 Replies
sstrell
Honored Contributor III
1,166 Views

What are you referring to?  Are you talking about selecting items in a timing netlist for creating timing constraints?  Where are you looking at this and what's your goal?

0 Kudos
NuvKFC
New Contributor I
1,134 Views

Hi sstrell

    I want to know the the suffix meaning.

    For example, the "_clk" is the clock pin of a D flip-flop. "A_clk" is D flip-flop A's clock pin.

    Does there have some document for reference? Thank you very much.

0 Kudos
AqidAyman_Intel
Employee
1,154 Views

Hello,


Yes, could you share first which document are you referring to?


Regards,

Aqid Ayman


0 Kudos
NuvKFC
New Contributor I
1,133 Views

Hi AqidAyman_Intel

    I don't know which document I can refer.

    For example, I know inclk[*] is the generated clock pin of PLL from "drive_pll_clocks" command.

    I know that the "_clk" is the clock pin of a D flip-flop from some SDC constraint example.

    I want to know the the suffix meaning.

    Does there have some document for reference? Thank you very much.

 

0 Kudos
sstrell
Honored Contributor III
1,117 Views

I'm still not sure what you are looking for.  It does seem, though, you are referring to the timing netlist when performing a timing analysis.  You can right-click anything and cross-probe to other tools by selecting one of the Locate options.  For example, you could cross probe from a timing analyzer report to the RTL Viewer or Technology Map Viewer to see pins on an entity, like a PLL.

0 Kudos
NuvKFC
New Contributor I
1,094 Views

Hi sstrell

    Yes, like that.

But I don't want to open RTL Viewer or Technology Map Viewer every time.

Like the Design Compile tool on SoC synthesis flow,  all register names are named "****_reg".

All output pin of a register is named "****_reg.Q".

All clock pin of a register is named "****_reg.CLK".

The duplicated register's output is named "****_reg~0.Q".

The bit 1 of  a register is named "****_reg_1.Q".

It is a naming rule that defined by the tool.

I need it to help people to quickly find the node that they want to.

 

 

Back to the PLL on FPGA, there are many pins in PLL module, like follows picture.

I don't know which pin I should constraint.

I don't know which pin I can constraint.

NuvKFC_0-1660111067265.png

NuvKFC_1-1660111086075.png

NuvKFC_2-1660111442173.png

 

 

I only know which pin should be constrained the clock constraint from the "drive_pll_clocks" command.

 

Thank you very much.

0 Kudos
sstrell
Honored Contributor III
1,087 Views

I think you're overthinking this a bit.  If your goal is to fully constrain your design for timing, all you need (at a minimum) are clock constraints and I/O constraints.  Timing exceptions are optional, though usually required.

For a PLL, the command is derive_pll_clocks (not "drive_pll_clocks") and that command alone defines the output clock domains of the PLL, targeting the output pins of the PLL.  They're c0 through c5 in the screenshot you've posted, but the nice thing about the tool and the command is that you don't need to know that to constrain the design.  If you add the -create_base_clocks option, that constrains the reference clock into the PLL (inclk0).  And with that, you're done (for the clocks that is).

If you are missing constraints, rely on the Unconstrained Paths report from the timing analyzer to find the paths the tool considers to be unconstrained and then constrain them.  This report lists unconstrained clock and I/O paths.

0 Kudos
NuvKFC
New Contributor I
1,063 Views

Hi sstrell

    Thank you, sstrell, very much. I have two questions more.

 

1. If I use an exception timing constraint on/for a pre-synthesis node, does it work after post-fitter? 

    Some nodes may is disappeared after post-fitter.

    In SoC follow, user always uses the node name which comes from after synthesis.

    But I don't know the node name which comes from after post-fitter that can be used for SDC.

 

2. When I report timing path report, how can directly know the the node name which comes from after post-fitter?

    For example, I know the combination output name after post-fitter called "*|combout". So, I can report the specified path delay.

  NuvKFC_1-1660565045540.png

 

    If I don't know that, how can I to directly report the specified path delay?

 

Thank you very much.

 

 

0 Kudos
sstrell
Honored Contributor III
1,054 Views

1) Timing exceptions don't typically affect whether logic is optimized away during compilation.  I can't think of a situation where this would be applicable.  In fact, timing exceptions usually prevent logic from being optimized away and prevent optimization in some devices (like Stratix 10 and Agilex Hyperflex devices).

2) In the graphical Timing Analyzer tool, you can use the Node Finder in most dialog boxes when you create custom timing reports.  The Name Finder lets you search the timing netlist for the resource or path in question similar to using the Node Finder to target nodes or entities for assignments or use in other tools.  You set the Name Finder filter to the get_pins collection to find specific pins on a cell (like combout).

0 Kudos
NuvKFC
New Contributor I
1,038 Views

Hi sstrell

    Thank you, sstrell, very much. I get it. But.....

 

Unfortunately, all beginners don't  know what is the mean  of "combout" when use get_pins in Node Finder.

What can I do for that?

For me, I guess "combout" is the output of a cell. And then I search some information to confirm it on the Google.

If I can't find any information on the Google, what is the next step?

 

Thank you very much.

0 Kudos
sstrell
Honored Contributor III
1,031 Views

"combout" means "combinational logic output".  These are basic digital logic design shorthand names.  It's expected that if you are doing digital logic design that you are familiar with things like this.  I think this is the type of stuff you learn in college or university and is a given if you are doing this type of design.

0 Kudos
NuvKFC
New Contributor I
976 Views

Hi sstrell

    Thank you, sstrell, very much.

 

Can I know what kind of situation that the output name is named "combout"?

From the logic cell document, I know data{a~f} is the input pin of logic cell of FPGA.

How about "combout"?

NuvKFC_0-1661151720263.png

 

Thank you very much.

 

0 Kudos
sstrell
Honored Contributor III
963 Views

I just said that combout is a digital logic output.  In the case of the FPGA, this would be the output of a lookup table (LUT) or logic element (LE).

0 Kudos
NuvKFC
New Contributor I
940 Views

Hi sstrell

    Thank you, sstrell, very much. I get it.

 

Does there have document to tell the user how Quartus change the name between RTL and fitter?

 

Thank you very much.

0 Kudos
AqidAyman_Intel
Employee
831 Views

Hello,


What do you mean by Quartus change the name between RTL and fitter? Can you clarify?


0 Kudos
Reply