Table of Contents
Lattice Semiconductor
LatticeXP Family Handbook
7
Hierarchical Coding................................................................................................................................. 15-1
Design Partitioning .................................................................................................................................. 15-2
State Encoding Methodologies for State Machines ................................................................................ 15-3
Coding Styles for FSM ............................................................................................................................ 15-5
Using Pipelines in the Designs................................................................................................................ 15-6
Comparing IF statement and CASE statement .......................................................................................15-7
Avoiding Non-intentional Latches............................................................................................................ 15-8
HDL Design with Lattice Semiconductor FPGA Devices ................................................................................. 15-8
Lattice Semiconductor FPGA Synthesis Library ..................................................................................... 15-8
Implementing Multiplexers .................................................................................................................... 15-10
Clock Dividers ....................................................................................................................................... 15-10
Register Control Signals ....................................................................................................................... 15-12
Use PIC Features.................................................................................................................................. 15-14
Implementation of Memories................................................................................................................. 15-16
Preventing Logic Replication and Limited Fanout.................................................................................15-16
Use ispLEVER Project Navigator Results for Device Utilization and Performance .............................. 15-17
Technical Support Assistance........................................................................................................................ 15-17
Lattice Semiconductor FPGA Successful Place and Route
Introduction ...................................................................................................................................................... 16-1
ispLEVER Place and Route Software (PAR) ................................................................................................... 16-1
Placement ............................................................................................................................................... 16-1
Routing.................................................................................................................................................... 16-1
Timing Driven PAR Process.................................................................................................................... 16-2
General Strategy Guidelines ............................................................................................................................ 16-2
Typical Design Preferences .................................................................................................................... 16-2
Proper Preferences ................................................................................................................................. 16-3
Translating Board Requirements into FPGA Preferences ...................................................................... 16-4
Analyzing Timing Reports ................................................................................................................................ 16-6
Example 1. Multicycle Between Two Different Clocks ............................................................................ 16-6
Example 2. CLOCK_TO_OUT with PLL Feedback................................................................................. 16-8
ispLEVER Controlled Place and Route.......................................................................................................... 16-10
Running Multiple Routing Passes ......................................................................................................... 16-10
Using Multiple Placement Iterations (Cost Tables) ...............................................................................16-11
Clock Boosting ...................................................................................................................................... 16-12
Guided Map and PAR .................................................................................................................................... 16-14
Notes on Guided Mapping .................................................................................................................... 16-15
Notes on Guided PAR........................................................................................................................... 16-15
Conclusion ..................................................................................................................................................... 16-15
Technical Support Assistance........................................................................................................................ 16-16
Introduction ...................................................................................................................................................... 17-1
Read Operation................................................................................................................................................ 17-2
Set-up Time Calculation for the Data Input (Max. Case) ........................................................................ 17-3
Hold Time Calculation for the Data Input (Min. Case)............................................................................. 17-3
Write Operation ................................................................................................................................................ 17-4
Write Set-up ............................................................................................................................................ 17-4
Write Hold ............................................................................................................................................... 17-5
Address and Command Signals....................................................................................................................... 17-5
Set-up Calculation................................................................................................................................... 17-6
Hold Calculation ...................................................................................................................................... 17-7
Board Design Guidelines ................................................................................................................................. 17-7
Technical Support Assistance.......................................................................................................................... 17-8
Appendix A. Example Extractions of Delays from Timing Reports .................................................................. 17-9