10.1.4 Netlist Attributes NDC Commands
(Ask a Question)To
set netlist-specific constraints, use Netlist attributes Netlist Design Constraint (NDC)
commands.
These commands are placed in a Compile Netlist Constraint (*.ndc
) file and
used by the Libero SoC Compile engine to optimize the post-synthesis netlist.
10.1.4.1 set_ioff
(Ask a Question)This command specifies whether or not a register is combined with an I/O during Synthesis. I/Os are combined with a register to achieve better clock-to-out and input-to-clock timing. This command is placed in a Compile Netlist Constraint (*.ndc) file that the Constraint Manager passes to Synthesis as a constraint in the Libero SoC Constraint Flow.
set_ioff -port_name <portname> \ [-IN_REG true/1|false/0] \
[-OUT_REG true/1|false/0] \ [-EN_REG true/1|false/0]
Arguments
- -port_name <portname>
- Specifies the name of the I/O port to be combined with a register. The port can be an input, output, or inout port. Wildcard characters are supported.
- -IN_REG
- Specifies whether the input register is combined into the port <portname>. Valid values are true/1 or false/0.
- -OUT_REG
- Specifies whether the output register is combined into the port <portname>. Valid values are true/1 or false/0.
- -EN_REG
- Specifies whether the enable register is combined into the port <portname>. Valid values are true/1 or false/0.
Example
set_ioff -port_name {D} -IN_REG <value> -OUT_REG <value> -EN_REG <value>
set_ioff -port_name {Q} -IN_REG <value>-OUT_REG <value>-EN_REG <value>
<value> can be either true/false, or 1/0.
The following example is applicable for the SmartFusion® 2, IGLOO® 2, and RTG4™ family of devices:
set_ioff {D} -IN_REG <value> _ -OUT_REG_ <value> _ -EN_REG_ <value>
set_ioff {Q} -IN_REG <value> -OUT_REG <value> -EN_REG <value>
<value> can be yes/no.
for { set i 0 } { i < 32 } { incr i } { set_ioff -port_name "DataA\[$i\]" -IN_REG 1 }
set_ioff -port_name {DataA[*]} -IN_REG 1
Return Value
The command returns 0 on success and 1 on failure.
Error Messages
Error: [19138170]: PDCPF-426: IN_REG: Invalid argument value: 'yes' (expecting TRUE, 1, true, FALSE, 0 or false).[set_ioff -port_name PAD -IN_REG yes][[D:/designs/ test_ioff_ioedit/constraint/test.ndc]
Error: [19137989]: PDCPF-01: Port name doesn't exist in the netlist or is not connected to an IoCell macro. [set_ioff -port_name PAD253 -IN_REG 1]
Error: [19138170]: PDCPF-426: Required parameter 'port_name' is missing. [set_ioff][[D:/ designs/test_ioff_ioedit/constraint/test.ndc]
10.1.4.2 set_preserve
(Ask a Question)This command sets a preserve property on instances before compile. Therefore, compile does preserve these instances and does not combine them.
set_preserve -inst_name <instance_name>
Arguments
- -inst_name
- Specifies the full hierarchical name of the macro in the netlist to preserve.
Example
set_preserve -inst_name “test1/AND2_0”