The following topics describe how to use the Synopsys VHDL System Simulator (VSS) and
This file is suitable for printing only. It does not contain hypertext links that allow you to jump from topic to topic.
Setting Up the MAX+PLUS II/Synopsys Working Environment
- Software Requirements
- Setting Up VSS Configuration Files
- Simulation Libraries
- MAX+PLUS II/Synopsys Interface File Organization
- MAX+PLUS II Project File Structure
Functional Simulation
- Design Entry Flow
- Performing a Pre-Routing or Functional Simulation with VSS Software
Timing Simulation
- Project Simulation Flow
- Performing a Timing Simulation with VSS Software
Related Topics:
- Go to the following topics in these MAX+PLUS II
ACCESSSM Key topics for related information:- Compiling Projects with MAX+PLUS II Software
- Programming Altera Devices
- Resynthesizing a Design Using the alt.vtl Library & a MAX+PLUS II SDF Output File
- Using Synopsys Design Compiler or FPGA Compiler & MAX+PLUS II Software
- Using Synopsys FPGA Express & MAX+PLUS II Software
- Using Synopsys PrimeTime & MAX+PLUS II Software
- Go to the following topics for additional information:
- MAX+PLUS II Development Software
- Altera Programming Hardware
- Synopsys web site (http://www.synopsys.com)
Setting Up the MAX+PLUS II/Synopsys Working Environment
To use the
| The information presented here assumes that you are using C shell and that your MAX+PLUS II system directory is /usr/maxplus2. If not, you must use the appropriate syntax and procedures to set environment variables for your shell. |
To set up your working environment for the MAX+PLUS II/Synopsys interface, follow these steps:
- Ensure that you have correctly installed the MAX+PLUS II and Synopsys software versions described in the MAX+PLUS II/Synopsys Software Requirements.
- Add technology, synthetic, and link library settings to your .synopsys_dc.setup configuration file, as described in Setting Up Design Compiler & FPGA Compiler Configuration Files.

To use the DesignWare interface with FLEX® 6000, FLEX 8000, and FLEX 10K devices, follow the steps in Setting Up the DesignWare Interface. - Add simulation library settings to your .synopsys_vss.setup file, and analyze the libraries, as described in Setting Up VSS Configuration Files.
- Add the /usr/maxplus2/bin directory to the
PATHenvironment variable in your .cshrc file in order to run the MAX+PLUS II software. (Optional) Change the path in the first line of the perl script files, which are located in the$ALT_HOME/synopsys/bin directory to specify the correct path of your local perl executable file.
Related Topics:
- Go to the following topics for additional information:
- FLEX Devices
- MAX+PLUS II Getting Started version 8.1 (5.4 MB)
- This manual is also available in 4 parts:
- Preface & Section 1: MAX+PLUS II Installation
- Section 2: MAX+PLUS II - A Perspective
- Section 3: MAX+PLUS II Tutorial
- Appendices, Glossary & Index
MAX+PLUS II/Synopsys Software Requirements
The following applications are used to generate, process, synthesize, and verify a project with
| Synopsys | Altera | ||
|---|---|---|---|
|
|
Compilation with the Synopsys Design Compiler and FPGA Compiler is available only on Sun SPARCstations running Solaris 2.4 or higher.
| The MAX+PLUS II read.me file provides up-to-date information on which versions of Synopsys applications are supported by the current version of MAX+PLUS II. It also provides information on installation and operating requirements. You should read the read.me file on the CD-ROM before installing the MAX+PLUS II software. After installation, you can open the read.me file from the MAX+PLUS II Help menu. |
Setting Up VSS Configuration Files
The .synopsys_vss.setup file contains the mapping information that directs the VHDL System Simulator (VSS) Software to use
- Add the lines shown in Figure 1 to your .synopsys_vss.setup file. Altera provides a sample setup file, .synopsys_vss.setup, in the /usr/maxplus2/synopsys/config directory. See Figure 1.
Figure 1. Sample .synopsys_vss.setup File WORK > DEFAULT DEFAULT : .
altera : /usr/maxplus2/synopsys/library/alt_mf/lib
flex_vtl : /usr/maxplus2/synopsys/library/alt_pre/vital/ lib/flex_vtl alt_vtl : /usr/maxplus2/synopsys/library/alt_post/sim/ lib/alt_vtl flex10k_ftsm : /usr/maxplus2/synopsys/library/alt_pre/flex10k/ lib/flex10k_ftsm flex10k_ftgs : /usr/maxplus2/synopsys/library/alt_pre/flex10k/ lib/flex10k_ftgs max9000_ftsm : /usr/maxplus2/synopsys/library/alt_pre/max9000/ lib/max9000_ftsm max9000_ftgs : /usr/maxplus2/synopsys/library/alt_pre/max9000/ lib/max9000_ftgs flex8000_ftsm : /usr/maxplus2/synopsys/library/alt_pre/flex8000/ lib/flex8000_ftsm flex8000_ftgs : /usr/maxplus2/synopsys/library/alt_pre/flex8000/ lib/flex8000_ftgs max7000_ftsm : /usr/maxplus2/synopsys/library/alt_pre/max7000/ lib/max7000_ftsm max7000_ftgs : /usr/maxplus2/synopsys/library/alt_pre/max7000/ lib/max7000_ftgs flex6000_ftsm : /usr/maxplus2/synopsys/library/alt_pre/flex6000/ lib/flex6000_ftsm flex6000_ftgs : /usr/maxplus2/synopsys/library/alt_pre/flex6000/ lib/flex6000_ftgs max5000_ftsm : /usr/maxplus2/synopsys/library/alt_pre/max5000/ lib/max5000_ftsm max5000_ftgs : /usr/maxplus2/synopsys/library/alt_pre/max5000/ lib/max5000_ftgs flex10k_fpga_ftsm : /usr/maxplus2/synopsys/library/alt_pre/flex10k/ lib/flex10k_fpga_ftsm flex10k_fpga_ftsm : /usr/maxplus2/synopsys/library/alt_pre/flex10k/ lib/flex10k_fpga_ftgs max9000_fpga_ftsm : /usr/maxplus2/synopsys/library/alt_pre/max9000/ lib/max9000_fpga_ftsm max9000_fpga_ftgs : /usr/maxplus2/synopsys/library/alt_pre/max9000/ lib/max9000_fpga_ftgs flex8000_fpga_ftsm : /usr/maxplus2/synopsys/library/alt_pre/flex8000/ lib/flex8000_fpga_ftsm flex8000_fpga_ftgs : /usr/maxplus2/synopsys/library/alt_pre/flex8000/ lib/flex8000_fpga_ftgs max7000_fpga_ftsm : /usr/maxplus2/synopsys/library/alt_pre/max7000/ lib/max7000_fpga_ftsm max7000_fpga_ftgs : /usr/maxplus2/synopsys/library/alt_pre/max7000/ lib/max7000_fpga_ftgs flex6000_fpga_ftsm : /usr/maxplus2/synopsys/library/alt_pre/flex6000/ lib/flex6000_fpga_ftsm flex6000_fpga_ftgs : /usr/maxplus2/synopsys/library/alt_pre/flex6000/ lib/flex6000_fpga_ftgs max5000_fpga_ftsm : /usr/maxplus2/synopsys/library/alt_pre/max5000/ lib/max5000_fpga_ftsm max5000_fpga_ftgs : /usr/maxplus2/synopsys/library/alt_pre/max5000/ lib/max5000_fpga_ftgsThe variables in the .synopsys_vss setup file perform the following functions:
- The
WORKvariable specifies your working directory, i.e., the directory where you start the Synopsys tools. If not explicitly specified elsewhere, the results of any analysis or compilation are written to this directory. The first line of the file shown in Figure 1 mapsWORKto the design library variable calledDEFAULT. - The
DEFAULTvariable is used to create library aliases, which allows you to map theWORKvariable to various paths. In Figure 1, theDEFAULTvariable specifies the current directory. - The altera library is listed to allow you to simulate the architecture control logic functions in the alt_mf library.
- The remaining lines in the file specify the path and name of the directories that contain the device simulation libraries for Altera device families.
- Analyze the target device simulation library to ensure that the correct timing and functional information is provided to VSS. Analyzing the simulation library produces VSS simulation models of the primitives that appear in all Altera-provided technology libraries.
You can analyze device simulation libraries by using the Altera-provided shell script analyze_vss:
- Add the /usr/maxplus2/synopsys/bin directory, which contains the analyze_vss scripts, to the
PATHenvironment variable in your .cshrc file. - Make sure that you have write privileges for the /usr/maxplus2/synopsys/library/alt_pre/<device family> directory because the analyzed model is placed in the /usr/maxplus2/synopsys/library/alt_pre/<device family>/lib directory and the analysis log file is placed in the ./synopsys/library/alt_pre/<device family>/src directory.
- Run the analyze_vss shell script by typing
analyze_vss
at the dc_shell prompt. When you run the analyze_vss shell script, you are prompted to select the appropriate device family simulation model(s) for analysis. Figure 2 shows the analyze_vss shell script.
Figure 2. The analyze_vss Shell Script Type the full pathname of the directory where the
MAX+PLUS® II software is installed (default: /usr/maxplus2):<MAX+PLUS II system directory>
Analyze VSS Simulation Models: 1. flex10k_FTGS 2. flex10k_FTSM 3. flex10k_fpga_FTGS 4. flex10k_fpga_FTSM 5. max9000_FTGS 6. max9000_FTSM 7. max9000_fpga_FTGS 8. max9000_fpga_FTSM 9. flex8000_FTGS 10. flex8000_FTSM 11. flex8000_fpga_FTGS 12. flex8000_fpga_FTSM 13. max7000_FTGS 14. max7000_FTSM 15. max7000_fpga_FTGS 16. max7000_fpga_FTSM 17. flex6000_FTGS 18. flex6000_FTSM 19. flex6000_fpga_FTGS 20. flex6000_fpga_FTSM 21. max5000_FTGS 22. max5000_FTSM 23. max5000_fpga_FTGS 24. max5000_fpga_FTSM 25. alt_vtl 26. flex_vtl 27. Quit
Enter one or more numbers: <device library numbers>
- Check the log file to make sure that no errors occurred during the analysis of the simulation models.
- Use VSS to simulate your pre-routed VHDL design.
Related Topics:
- Refer to the VHDL System Simulator Core Programs Manual for more information about VSS.
Altera Simulation Libraries
Altera provides simulation libraries for both pre-routing functional simulation and post-routing timing simulation.
Pre-Routing Functional Simulation Libraries (VITAL-Compliant)
The /usr/maxplus2/synopsys/library/alt_pre/vital/src directory contains
Similarly, the /usr/maxplus2/synopsys/library/alt_pre/verilog/src directory contains Altera-provided Verilog HDL simulation models for all device families. The altera.v file can be used for simulation with the Cadence Verilog-XL simulator.
Pre-Routing Functional Simulation Libraries with Estimated Timing Information
The /usr/maxplus2/synopsys/library/alt_pre/<device family>/src directory contains
Altera provides an encrypted Full Timing Structural Model (FTSM) and a Full Timing Gate-Level Simulation model (FTGS) for the VHDL simulation libraries listed in Table 1.
| Table 1. VHDL Functional Simulation Libraries | |||
|
|
|
|
|
| flex10k_FTSM.vhd.E flex10k_fpga_FTSM.vhd.E flex10k_FTGS.vhd.E flex10k_fpga_FTGS.vhd.E flex10k_components.vhd flex10k_fpga_components.vhd |
max9000_FTSM.vhd.E max9000_fpga_FTSM.vhd.E max9000_FTGS.vhd.E max9000_fpga_FTGS.vhd.E max9000_components.vhd max9000_fpga_components.vhd |
||
| FLEX 8000 | flex8000_FTSM.vhd.E flex8000_fpga_FTSM.vhd.E flex8000_FTGS.vhd.E flex8000_fpga_FTGS.vhd.E flex8000_components.vhd flex8000_fpga_components.vhd |
MAX 7000 | max7000_FTSM.vhd.E max7000_fpga_FTSM.vhd.E max7000_FTGS.vhd.E max7000_fpga_FTGS.vhd.E max7000_components.vhd max7000_fpga_components.vhd |
| FLEX 6000 | flex6000_FTSM.vhd.E flex6000_fpga_FTSM.vhd.E flex6000_FTGS.vhd.E flex6000_fpga_FTGS.vhd.E flex6000_components.vhd flex6000_fpga_components.vhd |
MAX 5000 & |
max5000_FTSM.vhd.E max5000_fpga_FTSM.vhd.E max5000_FTGS.vhd.E max5000_fpga_FTGS.vhd.E max5000_components.vhd max5000_fpga_components.vhd |
Post-Routing Timing Simulation Libraries
The /usr/maxplus2/synopsys/library/alt_post/sim/src directory contains the
Related Topics:
- Go to the following topics for additional information:
- FLEX Devices
- MAX Devices
- Classic Device Family
MAX+PLUS II/Synopsys Interface File Organization
Table 1 shows the
You must add the /usr/maxplus2/bin directory to the PATH environment variable in your .cshrc file in order to run the MAX+PLUS II software. |
| Table 1. MAX+PLUS II Directory Organization | |
|
|
|
| ./synopsys/bin | Contains script programs to convert Synopsys timing constraints into MAX+PLUS II Assignment & Configuration File (.acf) format, and to analyze VHDL System Simulator simulation models. |
| ./synopsys/config | Contains sample .synopsys_dc.setup and .synopsys_vss.setup files. |
| ./synopsys/examples | Contains sample files, including those discussed in these ACCESS Key Guidelines. |
| ./synopsys/library/alt_pre/<device family>/src | Contains VHDL simulation libraries for functional simulation of VHDL projects. |
| ./synopsys/library/alt_pre/verilog/src | Contains the Verilog HDL functional simulation library for Verilog HDL projects. |
| ./synopsys/library/alt_pre/vital/src | Contains the VITAL 95 simulation library. You use this library when you perform functional simulation of the design before compiling it with the MAX+PLUS II software. |
| ./synopsys/library/alt_syn//<device family>/lib | Contains interface files for the MAX+PLUS II/Synopsys interface. Technology libraries in this directory allow the Design Compiler and FPGA Compiler to map designs to |
| ./synopsys/library/alt_mf/src | Contains behavioral VHDL models of some Altera macrofunctions, along with their component declarations. The a_81mux, a_8count, a_8fadd, and a_8mcomp macrofunctions are currently supported. Libraries in this directory allow you to instantiate, synthesize, and simulate these macrofunctions. |
| ./synopsys/library/alt_post/syn/lib | Contains the post-synthesis library for technology mapping. |
| ./synopsys/library/alt_post/sim/src | Contains the VHDL source files for the VITAL 95-compliant library. You use this library when you perform simulation of the design after compiling it with the MAX+PLUS II software. |
Related Topics:
- Go to the following topics for additional information:
- MAX+PLUS II Getting Started version 8.1 (5.4 MB)
- This manual is also available in 4 parts:
- Preface & Section 1: MAX+PLUS II Installation
- Section 2: MAX+PLUS II - A Perspective
- Section 3: MAX+PLUS II Tutorial
- Appendices, Glossary & Index
MAX+PLUS II Project File Structure
In MAX+PLUS® II, a project name is the name of a top-level design file, without the filename extension. This design file can be an EDIF, Verilog HDL, or VHDL netlist file; an
MAX+PLUS II stores the connectivity data on the links between design files in a hierarchical project in a Hierarchy Interconnect File (.hif), but refers to the entire project only by its project name. The MAX+PLUS II Compiler uses the HIF to build a single, fully flattened project database that integrates all the design files in a project hierarchy.
Synopsys Design Entry Flow
Figure 1 below shows the design entry flow for the
| Altera-provided items are shown in blue. |

Performing a Pre-Routing or Functional Simulation with VSS SoftwareAfter you have synthesized and optimized a VHDL or Verilog HDL design with the Design Compiler or FPGA Compiler software, you can perform a pre-routing or functional simulation with the Synopsys VHDL System Simulator (VSS) software. To perform a pre-routing/functional simulation, follow these steps:
Related Topics:
Project Simulation FlowFigure 1 shows the project simulation flow for the Figure 1. MAX+PLUS II/Synopsys Project Simulation Flow
The MAX+PLUS II/Synopsys design environment fully supports design verification with the Synopsys VHDL System Simulator (VSS). For pre-route simulation, you can simulate a design that has been compiled with one of the Synopsys compilers. For post-route simulation, you can simulate the VHDL Output File (.vho) that Performing a Timing Simulation with VSS SoftwareOnce the To simulate a VHDL Output File with VSS, follow these steps: Be sure to set up the working environment correctly, as described in the following topics:
Related Topics:
Programming Altera DevicesOnce you have successfully compiled and simulated a project with the Figure 1. MAX+PLUS II Device Programming Flow
You can program devices with Altera programming hardware and MAX+PLUS II Programmer software installed on a 486- or Pentium-based PC or a UNIX workstation, or with programming hardware and software available from other manufacturers. Table 1 shows the available Altera programming hardware options on PCs and UNIX workstations.
If you wish to transfer programming files from a UNIX workstation to a PC over a network with File Transfer Protocol (FTP) or other similar transfer programs, be sure to select binary transfer mode. Programming hardware from other manufacturers varies, but typically consists of a device connected to one of the serial ports on the workstation. Various vendors, such as Data I/O and BP Microsystems, supply hardware and software for programming Altera devices. Related Links:
Last updated on December 6, 1999 for the MAX+PLUS II software version 9.4. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
