Difference between revisions of "Escaped identifiers in RTL files and in Verific data structures"

From Verific Design Automation FAQ
Jump to: navigation, search
Line 1: Line 1:
 
'''>>> This page is under construction <<<'''
 
'''>>> This page is under construction <<<'''
  
'''Verific data structures:
+
'''Verific data structures:'''
'''
+
 
 
No escaped identifier
 
No escaped identifier
  
 
In netlist outputs and in pretty-print outputs, identifiers are escaped based on the naming rules of the language format.
 
In netlist outputs and in pretty-print outputs, identifiers are escaped based on the naming rules of the language format.
  
'''Verilog:
+
'''Verilog:'''
'''
+
 
 
starts with a backslash and ends with a space character
 
starts with a backslash and ends with a space character
  
'foo' is the same object as '\foo '
+
The escaping characters '\' and ' ' are not part of the name. 'foo' is the same object as '\foo '
 
+
The escaping characters '\' and ' ' are not part of the name!
+
  
 
So, with AddSignal() when you define the name, you don't need to escape it.
 
So, with AddSignal() when you define the name, you don't need to escape it.
Line 19: Line 17:
 
But when you refer to an escaped id, you need to escape it.
 
But when you refer to an escaped id, you need to escape it.
  
'''VHDL:
+
'''VHDL:'''
'''
+
 
enclosed in a pair backslashes
+
enclosed in a pair backslashes. The backslashes are part of the name.
  
 
'\foo\' and 'foo' are too different objects
 
'\foo\' and 'foo' are too different objects

Revision as of 14:57, 16 March 2021

>>> This page is under construction <<<

Verific data structures:

No escaped identifier

In netlist outputs and in pretty-print outputs, identifiers are escaped based on the naming rules of the language format.

Verilog:

starts with a backslash and ends with a space character

The escaping characters '\' and ' ' are not part of the name. 'foo' is the same object as '\foo '

So, with AddSignal() when you define the name, you don't need to escape it.

But when you refer to an escaped id, you need to escape it.

VHDL:

enclosed in a pair backslashes. The backslashes are part of the name.

'\foo\' and 'foo' are too different objects