Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21325 Discussions

Symbols pipe ( | ), colon ( : ), and underscore ( _ ) characters mean in naming...

Altera_Forum
Honored Contributor II
2,062 Views

What do the symbols pipe ( | ), colon ( : ), and underscore ( _ ) mean in the Quartus II naming mechanism. When I open the node window I am flooded with signals that have long names and they seem to contain these symbols within them. What do they mean in this case?

0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
1,311 Views

Probably nothing at all. 

They appear in generated names when two items are concatenated, using characters that don't appear elsewhere can avoid issues with non-unique names. 

Long names are typical of any system that uses software to generate 'code'. 

In the past I've seen a C compiler warn "variable names are not unique in their first 256 characters" !
0 Kudos
Altera_Forum
Honored Contributor II
1,311 Views

Pipe separates hierarchies. Each hierarchy is represented by the module/entity and the instance, separated by a colon. So you might have something like: 

top|rf:rf_A|filter:filt_inst|free_count[3] 

So top instantiates an entity/instance called rf with instantiation rf_A. Then filter is instantiated, and within that is a register called free_count, and this is bit 3. The underscores are added by the user, but can also be added during synthesis if something gets resynthesized(although I think Quartus often adds ~, i.e. it might be free_count~RESYNTH323432 as a new name if it gets resynthesized. It depends.
0 Kudos
Altera_Forum
Honored Contributor II
1,311 Views

Thanks for the response, but could you elaborate a tiny bit more on the meaning of the ~ symbol?

0 Kudos
Altera_Forum
Honored Contributor II
1,311 Views

It doesn't directly mean anything. Synthesis manipulates your logic, and hence has to give it a different name so the user doesn't confuse it's behavior with a logical name in their design. Users generally don't add ~ in their names, but synthesis tools do(I believe Synplify does this too). So it's just a way to give it a different name.

0 Kudos
Reply