1) Partition the design at functional boundaries.
2) Minimize the I/O connections between different partitions.
3) Register all inputs and outputs of each block. This makes logic
synchronous and avoids glitches and avoids any delay penalty on
signals that cross between partitions. Registering I/Os typically
eliminates the need to specify timing requirements for signals that
connect between different blocks.
4) Do not use “glue logic” or connection logic between hierarchical
blocks. When you preserve hierarchy boundaries, glue logic is not
merged with hierarchical blocks. Your synthesis software may
optimize glue logic separately, which can degrade synthesis results
and is not efficient when used with the LogicLock design
methodology.
5) Remember that logic is not synthesized or optimized across partition
boundaries, which means any constant values (signals set to GND,
for example) will not be propagated across partitions.
6) Do not use tri-state signals or bidirectional ports on hierarchical
boundaries. If you use boundary tri-states in a lower-level block,
synthesis pushes the tri-states through the hierarchy to the top-level
to take advantage of the tri-state drivers on the output pins of Altera
device. Because this requires optimizing through hierarchies,
lower-level boundary tri-state signals are not supported with a
b-level design methodology.
7) Limit clocks to one per block. Partitioning the design into clock
domains makes synthesis and timing analysis easier.
8) Place state machines in separate blocks to speed optimization and
provide greater encoding control.
9) Separate timing-critical functions from non-timing-critical functions.
10) Limit the critical timing path to one hierarchical block. You can
group the logic from several design blocks to ensure the critical path
resides in one block.
xworld2008 said:
I want to improve me skill in asic design, and i want to find some matter
to improve my ability about partition or archiecture.Can you tell me any
book or matter about partition or architecture, or what i should do?
Thanks.