GO TO ➢ Chapter 12
Table of ORCA FPSC/FPGA EXPRESS INTERFACE
Contents
Cover
• RELATED DOCUMENTATION
Page • SOFTWARE REQUIREMENTS
• SETTING THE DESIGN ENVIRONMENT
FPSC
Home
• DESIGN FLOW
• DESIGN ENTRY
List of • DESIGN IMPLEMENTATION
Docs
• THE ORCA FOUNDRY ENVIRONMENT
OVERVIEW
This chapter describes the ORCA Field Programmable System Chip (FPSC)
design interface between Synopsys FPGA Express design tool and the ORCA
Foundry™ place and route tools. Together, the tools provide a powerful and
integrated high-level design environment for ORCA FPSCs.
GO TO ➢ RELATED DOCUMENTATION
Table of
This chapter assumes that you are familiar with ORCA-Series FPGAs and
Contents
FPSCs. This chapter is meant to be used with the following documents:
FPSC
Tutorials SOFTWARE REQUIREMENTS
The ORCA FPSC/Synopsys FPGA Express Interface is compatible with the
following software:
Index
Environment Variables
Cover Make sure you have installed the ORCA Foundry 9.35 software CD and that the
Page FOUNDRY environment variable is set. Also make sure that you have installed
the ORCA FPSC kit and that the FPSC environment variable is set. The
FPSC FOUNDRY variable points to the ORCA Foundry software installation directory.
Home
On the workstation, the FOUNDRY variable should be set as follows:
List of
$ setenv FOUNDRY <library_installation_directory>
Docs
$ setenv FPSC<fpsc_design_kit_installation_directory>
FPSC
Tutorials Note
This chapter assumes that you are using the c-shell. If not, use the
appropriate syntax and procedures to set the environment variable for
your shell.
This command may be entered into your .cshrc or .login file so that the
environment is properly set upon login.
GO TO ➢ DESIGN FLOW
Table of
This section describes the interface between Synopsys FPGA Express and
Contents
ORCA Foundry for designing with the ORCA FPSC devices. The interface allows
you to:
Index
• Synthesize an ORCA FPSC design using Synopsys FPGA Express.
Cover • Use the ORCA Foundry tools to read in the EDIF file, map the design into a
Page selected ORCA FPSC device, then place and route the design.
• Perform a static timing analysis using the ORCA Foundry TRCE tool.
FPSC
Home • Program the final design into the selected ORCA device.
Figure 1 shows a typical design flow for generating logic designs with Synopsys
List of FPGA Express and the ORCA Foundry software. For additional information on the
Docs synthesis flow, consult your Synopsys FPGA Express documentation. For
information on the ORCA Foundry Development System, consult your ORCA
FPSC Foundry manuals and tutorials.
Tutorials
ESTABLISH STATIC
DESIGN TIMING
CONSTRAINT Netlist Writer ANALYSIS
(ngd2vhd/ (trcesh)
ngd2ver)
COMPILE/
OPTIMIZE
DESIGN Write VHDL, GENERATE
Verilog SDF BIT FILE
Netlists (bitsh)
WRITE WRITE EDIF
VHDL/ NETLIST
Verilog
ORCA Backend
Frontend Simulation using
Simulation using VHDL/ ORCA
Verilog Verilog/VHDL Device
Verilog/VHDL Simulator
Simulator FPSC CORE
VHDL/
Verilog NeoPrim
MT350CDE VITAL/
VITAL/ Verilog
Verilog
GO TO ➢ DESIGN ENTRY
Table of
Contents
The following steps outline how to synthesize designs for ORCA with Synopsys
FPGA Express and ORCA Foundry:
Index 1. Generate the FPSC Interface module (including the core and the interface
buffers) by running the FPSC Configuration Manager, fpscsh and selecting
Cover the appropriate module and the relevant configuration.
Page
2. Create the design in Verilog HDL, VHDL, or EDIF. The designs may be
technology-independent or contain ORCA-specific functions; however, they
FPSC cannot contain instances of functions from other technology libraries. If it
Home
contains ORCA cells then make sure that the cells are ORCA Series 3
components only. Please refer to the Lucent Technologies ORCA Foundry
List of Libraries Manual for a list of valid ORCA Series 3 components.
Docs
3. Create a top level design file which includes the FPGA portion of the design
FPSC and the FPSC portion of the design. To help the designer construct the FPSC
Tutorials portion of the design, VHDL and Verilog templates have been provided for the
FPSC in the $FPSC/or3tp12/misc dir.
4. For Verilog designs, the FPSC core library model has to be included from the
$FPSC/or3tp12/express/lib/verilog dir.
5. (Optional) Verify that the design description is correct by simulating the HDL
description.
6. Set up the design by creating a project in FPGA Express and identifying the
source files. The design files are automatically analyzed when they are added
to the project.
7. Double click on the top level design file and Create Implementation by right
clicking on the architecture. Select the target architecture and device,
including the exact package and speed grade.
GO TO ➢ 9. Turn ON Preserve Hierarchy if you want to keep the hierarchy intact for the
entire design. On the other hand the designer can selectively Preserve/
Table of Eliminate hierarchy on a per-module basis using the Modules window in the
Contents
Constraints window.
13. Finally, export the design netlist as an EDIF file for ORCA Foundry, and
generate a design report for documentation and review.
For more detailed information, refer to the Synopsys FPGA Express User’s
Guide and Online Help.
//Interconnect Busses
wire [17:0] FB_MDATA;
wire [17:0] PCIM_MDATA;
wire [17:0] FB_SDATA;
wire [17:0] PCIM_SDATA;
wire [3:0] PCIM_MWSLICE;
wire [3:0] PCIM_TWSLICE;
wire [1:0] PCIM_MRSLICE;
wire [1:0] PCIM_TRSLICE;
GO TO ➢ .TR_AFULLN(PCIM_SFFULL_4N),
.TR_FULLN(PCIM_SFFULLN),
Table of .TFIFOCLRN(FB_PCIFFCLRN),
Contents
.MFIFOCLRN(FB_FBFFCLRN),
.TRPCIHOLD(FB_TPCIHOLD),
Index .MWPCIHOLD(FB_MPCIHOLD),
.TRBURSTPENDN(FB_RDDATAAVAILN),
.PCI_INTAN(FB_IRQN),
Cover
Page .FPGA_MBUSYN(FB_BUSYN),
.FPGA_MSYSERROR(PCIM_SYSERROR),
.MCLK(FB_MCLK1),.TCLK(FB_TCLK),
FPSC .PCICLK(PCIM_PCICLK),
Home .FPGA_SYSERROR(FB_SYSERROR),
.M_READY(M_READY),.T_READY(T_READY),
List of .PCI_CFG_STAT(PCIM_CFGSTS_OUT)
Docs );
// Instantiate the FPGA design
FPSC
FPGA_TAR FPGA_TAR(
Tutorials .FB_MCLK1(FB_MCLK1),.FB_BUSYN(FB_BUSYN),
.FB_PCIFFCLRN(FB_PCIFFCLRN),
.FB_FBFFCLRN(FB_FBFFCLRN),
.FB_ADRFINN(FB_ADRFINN),
.FB_ADRFOUTN(FB_ADRFOUTN),
.FB_MDATAFINN(FB_MDATAFINN),
.FB_MDATAFOUTN(FB_MDATAFOUTN),
.FB_SDATAFINN(FB_SDATAFINN),
.FB_SDATAFOUTN(FB_SDATAFOUTN),
......................);
endmodule
end FPSC_Test;
component PCI_INTF
port( CLK, RSTN : in std_logic;
AD : inout std_logic_vector (63 downto 0);
C_BEN : inout std_logic_vector (7 downto 0);
PAR, FRAMEN, IRDYN, TRDYN, STOPN : inout std_logic;
IDSEL : in std_logic; DEVSELN : inout std_logic;
REQN : out std_logic; GNTN : in std_logic;
PERRN: inout std_logic; SERRN, INTAN: out std_logic;
REQ64N, ACK64N, PAR64 : inout std_logic;
EJECTSW: in std_logic; ENUMN, LEDN: out std_logic;
MAENN : in std_logic; MA_FULLN : out std_logic;
MWDATAENN: in std_logic; MW_AFULLN, MW_FULLN: out
component FPGA_TAR
port( FB_MCLK1: in std_logic; FB_BUSYN, FB_PCIFFCLRN,
FB_FBFFCLRN,FB_ADRFINN, FB_ADRFOUTN, FB_MDATAFINN,
FB_MDATAFOUTN, FB_SDATAFINN,FB_SDATAFOUTN, FB_IRQN,
FB_SYSERROR, FB_TARABORT, FB_RDDATAAVAILN,
FB_RETRYN: out std_logic;
FB_MDATA: out std_logic_vector (17 downto 0);
FB_WBSTONN, FB_STOPTXN: out std_logic;
FB_SDATA: out std_logic_vector (17 downto 0);
FB_TW_MR_SEL, FB_MPCIHOLD,
FB_TPCIHOLD: out std_logic;
PCIM_PCICLK, PCIM_RSTN, PCIM_REQN, PCIM_SYSERROR,
PCIM_DISCTMR_EXPN: in std_logic;
PCIM_MDATA: in std_logic_vector (17 downto 0);
PCIM_MAFFULLN, PCIM_MRFEMPTYN, PCIM_MRFEMPTY_4N,
PCIM_MWFFULLN, PCIM_MWFFULL_4N: in std_logic;
PCIM_SDATA: in std_logic_vector (17 downto 0);
FPSC
component FD1P3DX
Tutorials port( D, SP, CK, CD: in std_logic; Q : out std_logic);
end component;
begin
FPSC
Tutorials
GO TO ➢ DESIGN IMPLEMENTATION
Table of
In this step of the design process, the circuit is mapped, placed, and routed using
Contents
the following steps:
Index • Translate Synopsys FPGA Express timing constraints into an ORCA Foundry
preference file.
Cover • Compile the EDIF netlist for ORCA with the ORCA Foundry mapsh tool. (See
Page the section Mapping the Design in the ORCA Foundry Environment.) The
output of the mapping phase is an NCD database, named <design>.ncd,
FPSC
which is submitted to the placer and router (parsh) along with timing
Home preferences.
• The order of execution of the tools are: FPGA Express -> map -> trce -> par
List of -> trce -> epic.
Docs • To analyze the timing of your design, use the trcesh static timing analysis
tool.
FPSC
Tutorials • To interactively edit the physical design, use EPIC.
Figure 2 shows a typical design implementation flow using the ORCA Foundry
tools. For a complete description of how to use the ORCA Foundry design
implementation tools, see the ORCA Foundry User's Guide and the EPIC User's
Guide.
Technology
Mapping
Place and
Route
.ncd
(Circuit Description)
File
FPSC 1. Invoke the MAP Shell dialog box by entering the command mapsh on the
Tutorials UNIX command line. For a complete description of how to use the MAP Shell
dialog box, see the chapter MAPPING A DESIGN in the ORCA Foundry
User's Guide.
2. Enter the name(s) of the design(s) to be mapped in the Input Files List. The
top level of a hierarchical design must be the first file in the list.
3. Push the Options button to select the FPSC target device: Architecture:
or3tfpsc; Device: or3txx2; Package: <select targeted package>, Speed:
<select targeted speed grade>.
4. Use the Preference File text field to specify a previously created preference
file (perhaps containing I/O specifications) for the design.
5. Press the OK button in the MAP Options dialog box to accept its configuration
and return to the MAP Shell dialog box.
6. On the MAP Shell dialog box, press the OK button to begin the mapping
operation.
GO TO ➢ The MAP shell creates a script file (output_filename.msc) which is run (and may
be later modified and rerun). Next, the NGDBUILD operation creates the generic
Table of database (.ngd) design file, which contains the fully expanded design. Finally, the
Contents
MAP program is run to create the circuit description (.ncd) file, which represents
the mapped physical FPGA design.
Index
The timing constraints which are contained within the Preference File are written
into the .ngo files as Preference Language preferences. These constraints are
Cover
Page then written into the .prf preference file during the technology mapping operation.
The next step in the process is to run TRACE on the mapped design to get an
FPSC estimate of the logic delays, number of logic levels, and the critical paths.
Home
For additional information on how to run the other ORCA Foundry tools, please
List of refer to the appropriateORCA Foundry Users Guide chapters on the Preference
Docs Language, TRACE, and PAR. A list of related documents is provided at the
beginning of this chapter.
FPSC
Tutorials
GO TO ➢ DESIGN VERIFICATION
Table of
Design verification involves three operations:
Contents
• (Optional) Using a standard supported simulator to perform full timing
simulation of the Verilog, VHDL, or EDIF output file generated by ORCA
Index
Foundry. Currently, we support Model Technology V-System and Synopsys
VSS simulators for VITAL (VHDL) simulations, Cadence Verilog-XL for
Cover Verilog simulations, and Viewlogic Viewsim for EDIF simulations.
Page
• Producing a data bitstream (using BITGEN) that will be written into the device.
• Physically loading the configuration data into the device.
FPSC
Home
For a complete description of how to use the ORCA Foundry design verification
tools, see the ORCA Foundry User's Guide and the appropriate simulator
List of interface and reference manuals.
Docs
FPSC
Tutorials