# COPYRIGHT NOTICE
Copyright 2000-2004 © Lattice Semiconductor Corporation. ALL RIGHTS RESERVED This confidential and proprietary software may be used only as authorized by a licensing agreement from Lattice Semiconductor Corporation. The entire notice above must be reproduced on all authorized copies and copies may only be made to the extent permitted by a licensing agreement from Lattice Semiconductor Corporation.

Lattice Semiconductor Corporation | Telephone: | 1-800-Lattice (USA and Canada)
5555 NE Moore Court |  | 1-408-826-6000 (other locations)
Hillsboro, OR 97124 | Website: | http://www.latticesemi.com
U.S.A | Email: | techsupport@latticesemi.com

##

Lattice's new ispLeverCORETM are large, modular design blocks that can be reused and easily placed within a customer's programmable logic design. ispLeverCORE implement popular industry-standard functions, commonly known as Intellectual Property (IP) cores.
This document contains information to help you evaluate the package you have chosen. The following topics are covered: General IP Core Information Evaluation Process Evaluation Appendix

# I. IP Core Information

## About the Core

IP Name: | < xgbe_xgxs_o4_2_002>
IP Version: | <ver1.0>
IP Configuration Release Date: | <September 16, 2004>
Configuration Description: |
Target Technology: | <ORCA4>

## Software Requirements

Synthesis Tools Supported: | Synplify version 7.7.0, Build 021R and up
| Leonardo Spectrum 2004a.83_OEM_Lattice and UP
Simulation Tool Supported: | ModelSim SE PLUS 5.5f and UP
Lattice Tool Supported: | IspLEVER-Advanced 4.2 (R4.2.00.33.40.04)

## Installation Procedures

All Lattice IP Cores are available in the zip file format. Unzip the file to the directory location of choice. Refer to the directory structure section for detailed information of the packaged files.
Return to Top

# II. IP Core Evaluation Procedures

## Running Functional RTL Simulation

A simulation script file is provided in the "eval\simulation" directory for RTL simulation. The script file run_eval.bat uses precompiled models provided with this package. The XGXS design and testbench models have been compiled into the work directory in directory “eval\simulation”. The ORCA ORT82G5 and SYSBUS models have been provided in the directory “eval\lib\modelsim” as tar.gz archives (ort82g5_work.tar.gz and sysbus_work.tar.gz). These files should be unarchived into the directory “eval\lib\modelsim” creating two compiled work directories “eval\lib\modelsim\ort82g5_work and “eval\lib\modelsim\sysbus_work”.
NOTE: The procedure described here is applicable ONLY when using ModelSim for simulation.

### Simulation Procedures:

1. Go to directory “eval\simulation”.

2. Type run_eval.bat

For more information on how to use ModelSim, please refer to the ModelSim User’s Manual.

## Running Synthesis using Synplicity's Synplify

To synthesize the XGXS solution using Synplicity’s Synplify in one step, go to the directory “eval\synthesis\orca4\synplicity\config1” and enter “runsyn.bat”. A top-level EDIF for the application will be produced. Users may use runsyn.bat as a guide and template if they are creating their own unique system-level project.
The following step-by-step procedure may also be executed. Note that results may vary from those obtained with the scripted run due to small differences in options: Create a new working directory for synthesis. Launch the Synplify synthesis tool. Start a new project and add the specified files in the following order: eval\source\synplicity\orca4_synplify.v eval\source\xgxs_define.v eval\source\ring_osc.v eval\source\synplicity\xgxs_clk_mx2.v eval\source\synplicity\xgxs_clk_tx.v eval\source\synplicity\xgxs_sys_bus.v eval\source\synplicity\ORT82G5_INTF.v eval\source\synplicity\xgmii_io_if.v eval\source\xgbe_xgxs_o4_2_002.v eval\source\synplicity\xgxs_top_xgmii.v eval\synthesis\orca4\synplicity\config1\xgxs_top.sdc In the Implementation Options select target device Lattice ORCA Series 4. Specify an EDIF netlist filename and EDIF netlist output location in the Implementation Options. This top-level EDIF netlist will be used during Place and Route. In the Implementation Options, set the following: - Fanout guide : 1000 - Enable FSM Compiler - Set the global frequency constraint to 160 MHz. Select run.

## Running Synthesis using LeonardoSpectrum

To synthesize the XGXS solution using LeonardoSpectrum in one step, go to the directory “eval\synthesis\orca4\exemplar\config1” and enter “runsyn.bat”. A top-level EDIF for the application will be produced. Users may use runsyn.bat as a guide and template if they are creating their own unique system-level project.
The following step-by-step procedure may also be executed. Note that results may vary from those obtained with the scripted run due to small differences in options. The step-by-step procedure provided below describes how to run synthesis using Leonardo Spectrum. Create a new working directory for synthesis. Launch the Leonardo Spectrum synthesis tool. Start a new project and select Lattice device technology ORCA-4E. Select Input tab, set the Working Directory path pointed to the source directory. Open the specified files in the following order: eval\source\exemplar\orca4_leonardo.v eval\source\xgxs_define.v eval\source\ring_osc.v eval\source\exemplar\xgxs_clk_mx2.v eval\source\exemplar\xgxs_clk_tx.v eval\source\exemplar\xgxs_sys_bus.v eval\source\exemplar\ORT82G5_INTF.v eval\source\exemplar\xgmii_io_if.v eval\source\xgbe_xgxs_o4_2_002.v eval\source\exemplar\xgxs_top_xgmii.v In the Constraints tab, set Clock Frequency as 156 MHz. Select xgxs_top_xgmii.v , click the right mouse button, and select from the list “Make xgxs_top_xgmii.v Top of the Design” Set the synthesis directory, created in step 1, as the path where you would like to save the output netlist. Specify an EDIF netlist filename for the output file. This top-level EDIF netlist will be used during Place and Route. Click on the advanced tab icon. a. In the Technology Tab, Check the Manual GSR box, and fill “reset_n” in the Signal entry box. b. In the Input Tab, specify “eval/source” directory in the Input File Search File text box. Select Run Flow

## Running Place and Route (PAR) for ORCA devices in ispLEVER

Once the EDIF netlist is generated, the next step is to map, place and route the design. To map, place and route the entire XGXS solution in one step, Goto to the directory “par\orca4\config1” and type runpar.bat. This script will process the EDIF file to map, place and route the XGXS IP solution.
The step-by-step procedure provided below may also be followed. Note that results may vary from those obtained with the scripted run due to small differences in options. Once the EDIF netlist is generated, import the EDIF into the Project Navigator. The ispLEVER software automatically detects the provided EDIF netlist of the instantiated IP core in the design. The step-by-step procedure provided below describes how to perform Place and Route in ispLEVER for an ORCA device: Create a new working directory for Place and Route. Start a new project, assign a project name and select the project type as EDIF. Select the ORT82G5 target device, with –3 speed grade and BM680 package. Copy the following files to the Place and Route working directory: a) eval\par\xgbe_xgxs_o4_2_002.ngo b) eval\par\xgxs_top_exemplar.prf if the EDIF was generated using Leonardo Spectrum or eval\par\xgxs_top_synplicity.prf if the EDIF was generated using Synplicity Synplify c) eval\source\ring_osc.nmc d) The top-level EDIF netlist generated from running synthesis Rename the xgxs_top.prf file (in step 4) to match the project name. For example, if the project name is "demo", then the .prf file must be renamed to demo.prf. The preference file name must match that of the project name. Import the EDIF netlist into the project. In the ispLEVER Project Navigator, select Tools->Timing Checkpoint Options. The Timing Checkpoint Options window will pop-up. In both Checkpoint Options, select Continue. In the ispLEVER Project Navigator, highlight Place & Route Design, with a right mouse click select Properties. Set the following Properties: - Placement Iterations: 1 - Placement Save Best Run: 1 - Placement Iteration Start Point: “7” if the EDIF was generated using Synplify ; “2” if the EDIF was generated using Leonardo Spectrum - Routing Resource Optimization: 1 - Routing Delay Reduction Passes: 6 - Routing Passes: 25 - Placement Effort Level: 5 All other options remain at their default values. Select the Place & Route Trace Report in the project navigator to execute Place and Route and generate a timing report for ORCA. Highlight Place & Route TRACE Report, with a right mouse click and select Force One Level. A new timing report is generated.

Note that timing results may change under different versions of synthesis tools or different releases of ispLever. In this case, multiple placement iteration may need to be run to find the one with 0 timing errors. Multiple placement iterations are run by increasing the “Placement Iterations” value.

Return to Top

# III. IP Core Evaluation Appendix

## Directory Structure

The directory structure for the Lattice ispLEVERCORE is shown below and includes the basic description of the contents.
\ xgbe_xgxs_o4_2_002 | |--\Readme.html | |--\ver1.0 | | | |-----\docs (Contents: User’s guide and data sheet) | | | |-----\eval (Customer directory for evaluation) | |--\lib | | | |--\modelsim (Simulation zipped MTI compiled models ) | | | |--\NOTE (INFO file) | | | |--\ort82g5_work (compiled ORT82G5 embedded block model) | | | |--\sysbus_work(compiled SYSBIS embedded block model) | |--\par (Place and route directory ) | | | |--\xgbe_xgxs_o4_2_002.ngo (core ngo file) | | | |--\preference files for PAR | | | |--\orca4 | | | |--\Config1 (Physical PAR directories containing executable scripts ) | | | |--\README (INFO file) | |--\simulation (Run/execute functional RTL simulation here) | | | |--\README (INFO file) | | | |--\scripts (Contents: ModelSim macro (*.do) to run UNIX simulation) | | | |--\pc_scripts (Contents: ModelSim macro (*.do) to run PC simulation) | | | | | |--\work (Contents: Will contain compiled testbench files | | AFTER running functional RTL simulation) | |--\source (.contains files for synthesis and P&R) | | | |--\exemplar (contains synthesis files for Leonardo Spectrum) | | | |--\synplicity (contains synthesis files for Synplify) | |--\synthesis (synthesis directory ) | | | |--\orca4 | | | |--\exemplar (Leonardo Spectrum synthesis directory) | | | | | |--\Config1 (synthesis directory containing executable scripts) | | | |--\synplicity (Synplify synthesis directory) | | | |--\Config1 (synthesis directory containing executable scripts) | | |--\testbench (Contains: 1 Testbench for evaluation) | |--\tests (Contains different possible test cases for evaluation)

## Files for Synthesis

A set of HDL files (Verilog) are provided for synthesis. These design files are provided such that this IP Core can be evaluated as a stand-alone device or as part of an application specific design. NOTE: $synthtool refers to either “synplicity” or “exemplar”
xgxs_define.v defined parameters for the XGXS core location: eval/source NOTE: THIS FILE AND ALL IP PARAMETER FILES MUST NOT BE MODIFIED IN ANY WAY. IF THIS FILE IS MODIFIED THIS IP CORE MAY NOT RUN AT SPECIFICATION. xgbe_xgxs_o4_2_002.v black box for the XGXS core location: eval/source xgmii_io_if.v for the DDR interface; location: eval/source/$synthtool ORT82G5_INTF.v for the ORT82G5 module; location: eval/source/$synthtool xgxs_sysbus.v for the SYSBUS module; location: eval/source/$synthtool xgxs_clk_tx.v for the Tx Clk PLL; location: eval/source/$synthtool xgxs_clk_mx2.v for FPGA/FPSC PLLs; location: eval/source/$synthtool ring_osc.v ring oscillator macro black box to drive um_clk; location: eval/source xgxs_top_xgmii.v for top-level module that ties all the application components together location: eval/source/$synthtool

## Files for Place and Route

The gate-level netlist(<ngo>) and the preference/constraint file (<prf>) are located in the: eval/par directories The ring oscillator “ring_osc.nmc” file is located in the eval/source directory

For ispLEVERCORE devices implemented in ORCA4 technology: - Netlist file extension is “ngo” -Preference file extension is “prf” (PICS Rules File)

For ispLEVERCORE devices implemented in XPGA technology: -Netlist file extension is “ld2” -Constraint file extension is “lct”

The preference/constraint file (<.prf>) contains information for the ispLEVER Place and Route (PAR) tool and allows for optimum implementation of this IP Core in the target technology. The supplied preference/constraint file is a good starting point for designs that integrate this IP Core. It may be edited to include the preference/constraint file for additional design components.

## GUI support in IP Manager for Newly released Core

No configuration of this IP Core using the IP Manager is supported

Return to Top