© 2003 Xilinx, Inc. All Rights Reserved System Simulation.

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

Verilog Intro: Part 1.
1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:
© 2003 Xilinx, Inc. All Rights Reserved Debugging.
Section B A Step-By-Step Description of the Synplicity Flow Andy Miller © Copyright 2000 Xilinx - All Rights Reserved.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
DSP Algorithm on System on Chip Performed by : Einat Tevel Supervisor : Isaschar Walter Accompanying engineers : Emilia Burlak, Golan Inbar Technion -
Configurable System-on-Chip: Xilinx EDK
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved Embedded Design with the Xilinx Embedded Developer Kit.
Lab4 Writing Basic Software Applications Lab: MicroBlaze.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Foundation and XACTstepTM Software
Lab5 Advanced Software Writing Lab : MicroBlaze. for EDK 6.3i1 Objectives Utilize the OPB timer. Assign an interrupt handler to the OBP timer. Develop.
This material exempt per Department of Commerce license exception TSU EDK Introduction.
This material exempt per Department of Commerce license exception TSU Debugging.
Embedded Design with The Xilinx Embedded Developer Kit Xilinx Training.
Hardware Description Language(HDL). Verilog simulator was first used beginning in 1985 and was extended substantially through The implementation.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
© 2003 Xilinx, Inc. All Rights Reserved Address Management.
Simulink ® Interface Course 13 Active-HDL Interfaces.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Impulse Embedded Processing Video Lab Generate FPGA hardware Generate hardware interfaces HDL files HDL files FPGA bitmap FPGA bitmap C language software.
© 2003 Xilinx, Inc. All Rights Reserved CORE Generator System.
© 2004 Xilinx, Inc. All Rights Reserved EDK Overview.
Simulink ® Interface Course 13 Active-HDL Interfaces.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Stanford µSequencer December Motivation Control, initialization, and constant maintenance of Avalon peripherals –Perfectly deterministic Microprocessor.
© 2003 Xilinx, Inc. All Rights Reserved HDL Co-Simulation.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
Active-HDL Interfaces Building VHPI Applications C Compilation Course 9.
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
09/04/971 Xilinx Cadence Alliance Series Technology through Teamwork.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
LAB1 Summary Zhaofeng SJTU.SOME. Embedded Software Tools CPU Logic Design Tools I/O FPGA Memory Logic Design Tools FPGA + Memory + IP + High Speed IO.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
© 2004 Xilinx, Inc. All Rights Reserved Embedded Processor Design.
© 2004 Xilinx, Inc. All Rights Reserved EDK Overview.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU HDL Co-Simulation.
This material exempt per Department of Commerce license exception TSU System Simulation.
This material exempt per Department of Commerce license exception TSU Address Management.
Speaker: Tsung-Yi Wu FPGA Design Flow (Part 2) : Simulation.
© 2004 Xilinx, Inc. All Rights Reserved Adding a Processor System to an FPGA Design.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
Survey of Reconfigurable Logic Technologies
What’s New in Xilinx Ready-to-use solutions. Key New Features of the Foundation Series 1.5/1.5i Release  New device support  Integrated design environment.
Ready to Use Programmable Logic Design Solutions.
1 VHDL & Verilog Simulator. Modelsim. 2 Change the directory to where your files exist (All of the files must be in a same folder). Modelsim.
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU CORE Generator System.
Design with Vivado IP Integrator
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
Introduction to Vivado
Xilinx/Model Technology Powerful FPGA Verification Solution
Lab4 Writing Basic Software Applications Lab: MicroBlaze
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

© 2003 Xilinx, Inc. All Rights Reserved System Simulation

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Objectives After completing this module, you will be able to: Describe the functionality of SimGen Describe the integration of SimGen within XPS Describe the simulation process Describe what SmartModel™ Libraries are and how to use them

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Outline SimGen Simulation Procedure SmartModel Libraries

System Simulation © 2003 Xilinx, Inc. All Rights Reserved SimGen The Simulation Model Generation tool (SimGen) generates and configures various simulation models for the specified hardware SimGen will generate simulation models by using a Microprocessor Hardware Specification (MHS) file SimGen searches for input files in the following directories located in the project directory – /hdl/ system_name.[vhd|v] peripheral_wrapper.[vhd|v] – /implementation/ (if any of the peripherals are black-box) peripheral_wrapper.ngc system_name.ngc system_name.ncd

System Simulation © 2003 Xilinx, Inc. All Rights Reserved SimGen SimGen produces.[vhd|v] ***.[vhd|v].do _sim.bmm.sdf ** SimGen Generated Directories project_directorysimulation directory * * = behavioral/structural/timing **.sdf in timing simulation ***.[vhd\v] in behavioral or structural simulation

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Memory Initialization To initialize memory in the simulation models created by SimGen, you need: – The compiled executable executable.elf – The simulation hardware model generated by executing SimGen system.vhd or system.v – The BMM file generated by PlatGen /implementation directory Data2MEM system_init.[vhd|v] system.bmm executable.elf system.[vhd|v]

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Memory Initialization The system.bmm file is created by the PlatGen tool and carries block memory related information (see next slide) – Number of block memories – Address range for each set of block memory – Data indexing for each block memory in a set The executable.elf file is generated by the compiler and carries data variables and code The system.vhd file is generated by the SimGen tool and carries a hardware model of the system The Data2MEM program uses the above mentioned files, extracts data code information, and generates a system_init.vhd file that contains block memory initialization content

System Simulation © 2003 Xilinx, Inc. All Rights Reserved System.bmm File ADDRESS_BLOCK plb_bram_if_cntlr_1_bram RAMB16 [0xffffc000:0xffffffff] BUS_BLOCK plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_0 [63:56] ; plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_1 [55:48] ; plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_2 [47:40] ; plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_3 [39:32] ; plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_4 [31:24] ; plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_5 [23:16] ; plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_6 [15:8] ; plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_s9_s9_7 [7:0] ; END_BUS_BLOCK; END_ADDRESS_BLOCK; ADDRESS_BLOCK plb_bram_if_cntlr_2_bram RAMB16 [0xffff0000:0xffff3fff] BUS_BLOCK plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_0 [63:56] ; plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_1 [55:48] ; plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_2 [47:40] ; plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_3 [39:32] ; plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_4 [31:24] ; plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_5 [23:16] ; plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_6 [15:8] ; plb_bram_if_cntlr_2_bram/plb_bram_if_cntlr_2_bram/ramb16_s9_s9_7 [7:0] ; END_BUS_BLOCK; END_ADDRESS_BLOCK;

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Simulation Libraries: EDK EDK library – Used for behavioral simulation – Contains all of the EDK IP components precompiled for ModelSim  SE and PE – Not available for ModelSim XE – Only VHDL support – Must be compiled for the target simulator – Only the ModelSim simulator is supported Compiling the EDK library by using COMPEDKLIB – compedklib [ -h ] [ -o output-dir-name ] [ -lp repository-dir-name ] [ -X compxlib-output-dir-name ] [ -E compedklib-output-dir-name ]

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Simulation Libraries: XILINX UNISIM library – Used for behavioral simulation and contains default unit delays – Includes all of the Xilinx Unified Library components that are inferred by most popular synthesis tools SIMPRIM library – Used for structural and timing simulation – Includes all of the Xilinx Primitives Library components that are used by Xilinx implementation tools XilinxCoreLib library – Contains pre-optimized modules to take advantage of architectural resources – Library models are used for behavioral simulation – May be used for your own defined IPs Structural and timing simulation models generated by SimGen instantiate the SIMPRIM library components

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Outline SimGen Simulation Procedure SmartModel Libraries

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Integration within XPS Specify simulation parameters by using Options  Project Options – HDL and Simulation tab HDL Simulator Compile Script Simulation Libraries Path – EDK Library – XILINX Library Simulation Models – Hierarchy and Flow tab Submodule ISE Flow Projnav Directory Set up the Project Options 1

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Integration within XPS Generate the simulation models – Generation of simulation models: Tools  Sim Model Generation – Generation of simulation models and simulation initialization: Tools  Hardware Simulation (system model must be top-level) Generate the Simulation Model 2

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Export to ProjNav Copy the files to the ProjNav directory 3 Using Windows Explorer, double-click system.npl 4

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Use within the Project Navigator VHDL – Using Project  New Source  VHDL Test Bench – Using Project  Add Source, add the testbench to the project Verilog – Using Project  New Source  Verilog Test Fixture – Using Project  Add Source, add the testbench to the project Create/Add testbench file 5

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Use within the Project Navigator VHDL – You must copy over the.do simulation file – Testbench.vhd must be added to the.DO file – Testbench.vhd must include a configuration statement to load the RAM initialization strings included in _init.vhd Verilog – You must copy over the.do simulation file – Testbench.v must be added to the.DO file – Testbench.v must include a #include statement to load the RAM initialization strings included in _init.v Copy.DO files to the ProjNav directory Copy.DO files to the ProjNav directory 6

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Outline SimGen Simulation Procedure SmartModel Libraries

System Simulation © 2003 Xilinx, Inc. All Rights Reserved SmartModel Libraries SmartModel  Libraries are compiled simulation models that represent integrated circuits and system buses as black boxes. SmartModel Libraries: – Accept an input stimulus and respond with an appropriate output behavior – Provide improved performance over gate-level models – Protect proprietary designs – Can be used with any simulation tool that supports the SWIFT™ Interface

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Creating SmartModel Libraries SmartModel  Libraries are compiled by using the VMC (Verilog Model Compiler) or the VhMC (VHDL Model Compiler) from Synopsys – Xilinx used VMC to compile a Verilog version of the PowerPC  processor and MGT – You do not need VMC or VhMC to use the Xilinx model Xilinx has compiled each model for a specific OS – Solaris™ Operating System, Windows®, Linux® VMC generates an object file that represents the Verilog file – Internal timing delays are maintained – It is an exact equivalent of the Verilog

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Running a Simulation Using SmartModels The SWIFT™ Interface provides access to SmartModel  Libraries Changes required in the modelsim.ini – Resolution = ps – Comment out the "PathSeparator" = / using “;” – Veriuser = $MODEL_TECH/libswiftpli.dll (SWIFT Interface) – libsm = $MODEL_TECH/libsm.dll – libswift = $LMC_HOME/lib/pcnt.lib/libswift.dll set MODELSIM= \modelsim.ini Instantiate the appropriate MGT or PowerPC  primitive

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Supported Simulators and Platforms Solaris™ Operating System (2.8, 2.9) – MTI's ModelSim  SE simulator (5.6E and newer) – Cadence NC-Verilog  simulator – Cadence Verilog-XL  simulator – Synopsys VCS  simulator Windows® 2000 (SP2) or Windows XP – MTI's ModelSim SE simulator (5.6E and newer) Linux® (7.2) – MTI's ModelSim SE simulator (5.6E and newer)

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Solution Records 14597: 6.1i/5.2i/5.1i SmartModel/SWIFT Interface - How do I use the MGT and PPC SmartModels in NC-Verilog, Verilog-XL, and Synopsys VCS? 14019: 6.1i/5.2i/5.1i SmartModel/SWIFT Interface - How do I use the MGT and PPC SmartModels in ModelSim? 14181: Virtex-II Pro - What are the SWIFT Interface, Smart Model, VMC, and VhMC? What of these does Xilinx deliver? 14596: 6.1i SmartModels - What simulators support SmartModel simulation? 14365: Virtex-II Pro PowerPC - What is the difference between Bus Functional Model (BFM) and Smart Model (SWIFT interface) simulation?

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Skills Check

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Review Question Which three items are required to initialize memory in the simulation models created by SimGen?

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Answer Which three items are required to initialize memory in the simulation models created by SimGen? – The compiled executable generated with the appropriate gcc compiler or assembler, from corresponding C or assembly source code – The simulation model generated by executing PlatGen and then SimGen – The BMM file generated by PlatGen

System Simulation © 2003 Xilinx, Inc. All Rights Reserved Where Can I Learn More? Tool documentation – Getting Started with the Embedded Development Kit – Embedded System Tools Guide  Simulation Models Generator Support website – Xilinx Home Page: support.xilinx.com – EDK Home Page: support.xilinx.com/edk