Using Agilent SystemVue® Co-Simulation Interface

Introduction

Agilent's SystemVue® is an environment for electronic system-level (ESL) design used by system architects and algorithm developers in physical layer designs of wireless, RF and DSP applications. The SystemVue Interface built-into Riviera-PRO provides the integration of the Agilent's simulation tools with Aldec’s HDL-based simulation environment for FPGA and ASIC designs. It enables co-simulation of algorithmic and hardware components of system-level design, addressing the needs of these professionals:

Running Co-Simulation with Riviera-PRO

The HDL co-simulation is just one of the steps of model-based FPGA verification flow. Please refer to following application note for details: http://cp.literature.agilent.com/litweb/pdf/5991-1113EN.pdf. This application note covers the HDL co-simulation flow represented in the following diagram. (The flow applies to HDL models that originate outside SystemVue; in contrast to using SystemVue’s built-in HDL code generation feature when the system automatically builds and loads the co-simulation models).

We will use the following sample design to demonstrate the co-simulation in action: http://www.aldec.com/downloads/private/340

Here is the typical sequence you would like to follow to run the HDL co-simulation:

  1. Create Riviera-PRO workspace and add all HDL source files Please refer to the following link for detailed information about working with the workspace in Riviera-PRO: http://www.aldec.com/resources/manuals/Riviera-PRO/index.htm?open_page=wad_basicop.htm

  2. Compile workspace in Riviera-PRO Right click on workspace and select the compile workspace option

  3. Generate Block Description File and xml library for SystemVue from Riviera-PRO This can be done using 2 approaches.

    1. If you are using GUI for different actions then right click on compiled objects from library and select ‘Generate Library for SystemVue…’ option.

    2. If using script then use ‘systemvuegenmod’ command to generate *.xml and *.m file. systemvuegenmod -xml -o ./../MUL_U2_PAR.m MUL_U2_PAR

  4. Now, open or create a workspace in SystemVue and create your schematic using different library components.

  5. Open Library manager from Tools | Library Manager from SystemVue.

  6. Click on Add from File… button and browse to the directory where you have stored the Riviera-PRO generated SystemVue library (*.xml file). Select this file, click open, and close the Library manager.

  7. Add component (from newly added Riviera-PRO library) to your schematic design. To do so, just drag and drop component from the Part Selector window.

  8. Right click on newly added component and select the properties… option. Here, select the proper block description file under Model category and click OK.

  9. Make sure to set all settings based on your requirements and design from Inputs, Outputs, Parameters, Clocks, Simulators, Waveform and Simulation settings tabs. Please refer to readme.txt from the example design for detailed information regarding these parameters.

  10. Press the Run button in SystemVue. Riviera-PRO starts automatically and starts performing co-simulation. Once simulation is finished you will be able to observe waveform in Riviera-PRO and SystemVue.

    SystemVue waveform

    Riviera-PRO waveform

Highlighted Capabilities of the Interface

Conclusion

Using Riviera-PRO SystemVue interface one can perform hardware (HDL) and software (algorithmic) co-simulation without leaving the native SystemVue environment and can still have ability to control and debug HDL side of co-simulation. With this interface one can start performing hardware simulation using algorithmic models in early stages while other blocks are still in HDL development phase. Floating and fixed point simulation can be performed and results can be analyzed in SystemVue and in Riviera-PRO using advanced waveform viewer.

Required Software

  1. Riviera-PRO 2012.06 or later

  2. SystemVue 2012.06 or later



Printed version of site: www.aldec.com/en/support/resources/documentation/articles/1507