®
Altera Corporation 1
Improving Performance in
FLEX 10K Devices with the
Synplify Software
October 1998, ver. 1.0 Application Note 101
A-AN-101-01
Introduction
As the demand for improved performance increases, you must construct
your designs for maximum logic optimization. Achieving better
performance in FLEX
®
10K devices is possible with VHDL and
Verilog HDL coding techniques, Synplify software constraints, and
MAX+PLUS
®
II software options. Using these tools can help you
streamline your design, optimize it for FLEX 10K devices, and increase the
speed of an already high-performance programmable logic family. This
application note documents techniques for improving FLEX 10K device
performance using the Altera
®
/Synplicity design flow.
1
You should have a basic understanding of the FLEX 10K family
architecture, the Altera MAX+PLUS II software, and the
Synplicity Synplify software to use this document effectively.
This application note provides information on the following topics:
Design Flow ........................................................................................................2
Effective HDL Design Techniques in the Synplify Software.......................4
Hierarchy .............................................................................................4
Combinatorial Logic...........................................................................5
Priority-Encoded If Statements.........................................................8
“Don’t Care” Conditions for Logic Optimization..........................9
Sequential Logic................................................................................11
Gated Clocks......................................................................................12
State Machines...................................................................................14
Implementing State Machine Designs in Embedded Array
Blocks (EABs) ............................................................................22
Synplify Design Techniques for FLEX 10K Devices ...................................28
Register Balancing ............................................................................28
Pipelining...........................................................................................28
Logic Duplication .............................................................................29
LPM Functions ..................................................................................32
Synplify Settings...............................................................................................35
Map Logic to LCELLs ......................................................................35
Perform Cliquing ..............................................................................35
MAX+PLUS II Options For High Performance...........................................36
Synthesis Style...................................................................................36
Using the Fast I/O Logic Option....................................................37
Timing-Driven Compilation ...........................................................38
Synplify Constraints for Improving Performance ......................................40