|
|
|
REGISTER_POWERUP
REGISTER_POWERUP Description
XST will not automatically figure out and enforce register power-up values. You must explicitly specify them if needed with REGISTER_POWERUP. This XST synthesis constraint can be assigned to a VHDL enumerated type, or it may be directly attached to a VHDL signal or a Verilog register node through a VHDL attribute or Verilog meta comment. The constraint value may be a binary string or a symbolic code value.
REGISTER_POWERUP Architecture Support
Virtex No Virtex-E No Spartan-II No Spartan-IIE No Spartan-3 No Virtex-II No Virtex-II Pro No Virtex-II Pro X No XC9500, XC9500XL, XC9500XV Yes CoolRunner XPLA3 Yes CoolRunner-II Yes
REGISTER_POWERUP Applicable Elements
Signals and types
REGISTER_POWERUP Propagation Rules
Applies to the signal or type to which it is attached.
REGISTER_POWERUP Syntax Examples
ECS Schematic Editor
Not applicable.
VHDL
Following are some examples of REGISTER_POWERUP.
Example 1
The register is defined with a predefined VHDL type such as std_logic_vector. The constraint value is necessarily a binary code.
signal myreg : std_logic_vector (3 downto 0);
attribute register_powerup of myreg : signal is "0001";
Example 2
The register is defined with an enumerated type (symbolic state machine). The constraint is attached to the signal and its value is one of the symbolic states defined. Actual power-up code will differ depending on the way the state machine is encoded.
type state_type is (s1, s2, s3, s4, s5);
signal state1 : state_type;
attribute register_powerup of state1 : signal is "s2";
Example 3
The constraint is attached to an enumerated type. All registers defined with that type inherit the constraint.
type state_type is (s1, s2, s3, s4, s5);
attribute register_powerup of state_type : type is "s1";
signal state1, state2 : state_type;
Example 4
For enumerated type objects, the power-up value may also be defined as a binary code. However, if automatic encoding is enabled and leads to a different encoding scheme (in particular a different code width), the power-up value will be ignored.
type state_type is (s1, s2, s3, s4, s5);
attribute enum_encoding of state_type : type is "001 011 010 100 111";
attribute register_powerup of state_type : type is "100";
signal state1 : state_type;
For a more detailed discussion of the basic VHDL syntax, see the "VHDL" section of the "Constraint Entry" chapter.
Verilog
Not applicable.
ABEL
Not applicable.
NCF
Not applicable.
UCF
Not applicable.
XCF
BEGIN MODEL “entity_name”
NET “signal_name” register_powerup=”string”;
END;
Old XST Constraint File
No attribute declaration is required. An attribute can be directly specified using the following syntax:
attribute register_powerup of state_type type is "001 011 010 100 111";
For more details, see the "Old XST Constraint File" section of the “Constraint Entry” chapter.
Constraints Editor
Not applicable.
PCF
Not applicable.
Floorplanner
Not applicable.
PACE
Not applicable.
FPGA Editor
Not applicable.
XST Command Line
Example 1
attribute register_powerup of myreg : signal is "0001";
Example 2
attribute register_powerup of state1 : signal is "s2";
Example 3
attribute register_powerup of state1 : signal is "s2";
attribute register_powerup of state2 : signal is "s2";
Example 4
attribute register_powerup of state1 : signal is "100";
Project Navigator
Not applicable.
|
|
|