AHDL

Naming a Boolean Operator or Comparator



You can name Boolean logical operators, arithmetic operators, and comparators in AHDL files to make it easy to enter resource assignments and to interpret the Equations Section of the Text-Format Report File (.rpt) or HTML-Format Report File (.htm).

The boole3.tdf file shown below is identical to the boole1.tdf file (shown in Implementing Boolean Expressions & Equations), but uses named operators. The operator name is separated from the operator by a colon (:); the name can contain up to 32 name characters.

SUBDESIGN boole3
(
   a0, a1, b  : INPUT;
   out1, out2 : OUTPUT;
)
BEGIN
   out1 = a1 tiger:& !a0;
   out2 = out1 panther:# b;
END;

The following Report File excerpts show the difference between boole3.rpt and boole1.rpt for the first of the two equations:

-- boole3.rpt equations:
-- Node name is 'out1' from file "boole3.tdf" line 7, column 2
-- Equation name is 'out1', location is LC3_A1, type is output
out1 = tiger~0;

-- Node name is 'tiger~0' from file "boole3.tdf" line 7, column 18
-- Equation name is 'tiger~0', location is LC2_A1, type is buried
tiger~0 = LCELL( _EQ002);
  _EQ002 = !a0 &  a1;

-- boole1.rpt equations:
-- Node name is 'out1' from file "boole1.tdf" line 7, column 2
-- Equation name is 'out1', location is LC3_A1, type is output
out1 = _LC2_A1;

-- Node name is ':33' from file "boole1.tdf" line 7, column 12
-- Equation name is '_LC2_A1', type is buried

LC2_A1 = LCELL( _EQ001);
  _EQ001 = !a0 &  a1;

Depending on the logic of the equation, a named operator can produce multiple node names; however, all names are based on the operator name. In boole3.rpt, a single node, tiger~0, is generated for the first equation. In boole1.tdf, the Compiler assigns the instance name :33 to the same node.

After you have compiled a project, you can use the named operator-based node names shown in the Report File to enter resource assignments for future compilations, even if the project logic changes. The names of logic cells created from named operators remain constant if you change unrelated logic (such as, other equations) in the file. For example, you can enter an assignment on the node tiger~0. In contrast, if operators are unnamed, only instance names are available, and these numbers are randomly reassigned with each compilation.


Back to Top

- PLDWorld -

 

Created by chm2web html help conversion utility.