|
|
Before you run synthesis you must define design constraints.
We discuss some examples of the types of constraints that you set in your
design.
|
|
|
|
Since I/O pads must be added to the design prior to running Place and
Route, Precision Synthesis assigns I/O pads to all ports in the top
level of a design by default. Precision
Synthesis can map input buffers, output buffers, tri-state buffers,
bi-directional buffers, and complex I/O registers. The I/O pads are
defined in the target technology library. If the technology includes
more than one I/O cell of a particular class, the technology vendor
will specify a default I/O pad to use for that class of I/O pad.
Precision Synthesis allows you to override the default assignment by
adding attributes to the ports or by manually instantiating the I/Os
in your design. Use this method if the default I/O assignments do not
meet timing, and be prepared to validate the output of the design.
|
|
|
|
Another type of constraint you can set is on pin numbers. Precision
Synthesis supports assigning device pin numbers to top-level ports.
These pin numbers are transferred to the synthesized netlist as a technology
specific attribute, which is recognized by the place-and-route tool.
|
|
|
 |
Prior to running synthesis, you can override the hierarchy
control on any block in the design by placing a hierarchy attribute on
a specific instance.
|
|
|
 |
In order to prevent Precision Synthesis from optimizing certain
blocks or instances, set the attribute (don't_touch) on that block or
instance.
|
|
|
 |
Precision Synthesis handles clock distribution by assigning
clock buffers to top-level and internal signals that drive clock pins.
|
|
|
 |
Precision Synthesis allows the user to control the fanout on
data nets by overriding the library value. Do this by setting a "max_fanout"
attribute on the net.
These are just a few examples of constraints and attributes you can
set on your design within Precision Synthesis.
|