Forum Discussion
4 Replies
- Altera_Forum
Honored Contributor
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" ! - Altera_Forum
Honored Contributor
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. - Altera_Forum
Honored Contributor
Thanks for the response, but could you elaborate a tiny bit more on the meaning of the ~ symbol?
- Altera_Forum
Honored Contributor
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.