Specifications
How to Control the Implementation of VHDL
VHDL Reference Manual 4-15
To specify node numbers:
1. Declare the signal in the entity (not the architecture).
2. If the signal is combinational, associate a critical attribute with it,
as in the following example:
library metamor;
use metamor.attributes.all;
entity nnum1a is
port ( A, B, Clk: in boolean ;
o1: out boolean);
attribute pinnum of A : signal is "1";
attribute pinnum of B : signal is "2";
attribute pinnum of Clk : signal is "3";
attribute pinnum of o1 : signal is "4";
-- maps to NODE #20 for combinational signal
signal t1: boolean;
attribute pinnum of t1 : signal is "20";
attribute critical of t1 : signal is true;
-- maps to NODE #21 for registered signal
signal t2: boolean;
attribute pinnum of t2 : signal is "21";
end;
Property Attribute
The property attribute is used to pass device-specific fitting data to
device fitting or place-and-route software. The attribute strings are
passed to the fitter software (through the use of Open-ABEL property
fields in the intermediate data files) exactly as specified in the
property attribute statements. The case is maintained, and the syntax
of the strings is not checked or parsed in any way by the VHDL
synthesizer.
To use the property attribute, you must first declare the attribute as a
string using the following statement:
attribute property: string;
and then write one attribute statement containing all properties
needed for the entire design:
entity example is
port (Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0: in bit;
D3,D2,D1,D0: out bit);
attribute property: string;
attribute property of example: entity is
"AMDMACH GROUP A Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0" & CR &
"AMDMACH GROUP B D3 D2 D1 D0";
end example;
In VHDL, it is not legal to have a newline imbedded within a string, so
to create multiple properties it is necessary to concatenate strings with
new lines using the “& CR &” syntax as shown.