Top Banner
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12
25

Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

Jan 02, 2016

Download

Documents

Andra Hood
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

Interfaces to External EDA Tools

Debussy Denali

SWIFT™

Course 12

Page 2: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

OutlineOutline

1. Debussy Debugging System2. Denali Memory Models3. SWIFT SmartModels Library

Page 3: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.1 Debussy12.1 Debussy

• Debussy is a debugging system developed by Novas Software.

• Active-HDL can work with Debussy in two modes: 

• Post-processing Mode• In the Post-processing Mode, the simulation and debugging are two separate

stages.• First, Active-HDL is used to simulate the design. During the simulation Active-HDL,

dumps the required data to a Fast Signal Database (FSDB). Once the simulation process is over, the design can be loaded into Debussy. Debussy will read the signal history from the FSDB database created by Active-HDL.

• Dumping data to the FSDB database can be controlled either directly from HDL source code or with macro commands and FSDB PLI tasks. The commands and the PLI tasks can be placed in macro files or issued interactively from the Console window.

• Interactive Mode• In the Interactive Mode, Active-HDL acts as a slave application for Debussy and

can be controlled directly from the Debussy GUI. Debussy sends commands to Active-HDL and reads simulation data from it.

• Using the Interactive Mode requires some initial setup, such as compiling the project in Active-HDL, adding a PLI application and preparing the debussy.rc file (templates are available).

Page 4: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.1a Debussy & Active-HDL in post-processing mode

12.1a Debussy & Active-HDL in post-processing mode

• Dumping FSDB databases can be controlled either directly from VHDL source code or with macro commands.

• To dump FSDB databases directly from VHDL code, declare the aldec library and use the package fsdb_wrapper:library aldec;use aldec.fsdb_wrapper.all;

 • Debussy FSDB procedures (tasks) can be placed inside any

process,

FSDB_DUMP: processbegin  fsdbDumpfile("simdata.fsdb");  fsdbDumpvars(0, "");  wait;end process;

Page 5: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.1b Debussy & Active-HDL in post-processing mode

12.1b Debussy & Active-HDL in post-processing mode

• If you do not want to modify your VHDL source code, you can dump FSDB databases using macro commands. The commands can be placed in macros or typed in the Console window after initializing the simulation process.

asim testbenchfsdbDumpfile("simdata.fsdb")fsdbDumpvars(0, "")run -all

• Simulation data is automatically flushed to the FSDB database when simulation is finished with the endsim command.

Page 6: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.1c Debussy & Active-HDL Sample Design

12.1c Debussy & Active-HDL Sample Design

• Open Design “DebussyPostMode”• Run macro runme.do

Page 7: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.1d Debussy & Active-HDL Sample Design

12.1d Debussy & Active-HDL Sample Design

Step #1 : Compilation.Step #2 : Simulation

Initialization.Step #3 : Invoking FSDB Tasks.Step #4 : Running Simulation.Step #5 : End Simulation.Step #6 : Running Debussy.Step #7 : Creating Waveform.

Page 8: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.1e Debussy & Active-HDL Sample Design

12.1e Debussy & Active-HDL Sample Design

Choosing FSDB File.

Choosing signals.

Page 9: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.1f Debussy & Active-HDL Sample Design

12.1f Debussy & Active-HDL Sample Design

Debussy & Active-HDL Waveforms

Page 10: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2 Denali12.2 Denali

• Active-HDL supports memory models distributed by the Denali software.

• Denali models can be instantiated in Verilog designs only.

• Memory models communicate with Active-HDL via a PLI library.

• The PLI library must be built by the user.

• PLI tasks to control memory models can be placed directly in the Verilog code or called directly from the Console window.

• To display the PureView memory viewer after initializing the

simulation process, type $mmstartpureview in Console. 

Page 11: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2a Denali Sample Design Obtaining memory description file

12.2a Denali Sample Design Obtaining memory description file

Step #1: Obtain SOMA file with description of SRAM memory IDT71016.

- memory model description files are available at eMemory.com.

Page 12: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2b Denali Sample DesignCreating Verilog source

12.2b Denali Sample DesignCreating Verilog source

Step #2 : Launch Denali PureView and open SOMA file.

Page 13: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2c Denali Sample DesignCreating Verilog source

12.2c Denali Sample DesignCreating Verilog source

Step #3 : Configure parameters for the memory model.

Page 14: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2d Denali Sample DesignCreating Verilog source

12.2d Denali Sample DesignCreating Verilog source

Step #4 : Generate Verilog wrapper file for memory model.- First, specify the Simulation Environment in Options menu. Select NC Verilog from the list.

Page 15: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2e Denali Sample DesignVerilog source

12.2e Denali Sample DesignVerilog source

A ready-to-use Verilog file will be generated.

Use Save Source As from the File menu to save the file at desired lacation.

NOTE:In order to use Denali PureView for debugging purposes, the initial block has to be modified as follows:

initialbegin $mmtcleval("mmsimulationdatabase simdb_filename"); $sram_access(a,webar,csbar,oebar,bebar,io,den_io);end

Page 16: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2f Denali Sample DesignAdding HDL file to design

12.2f Denali Sample DesignAdding HDL file to design

Step #6 : Add the source file to the Design and compile it.Memory models communicate with Active-HDL via PLI library. This library (Denali.dll) has to be built by the user. Detailed instructions are provided in Active-HDL On-line Help in section Active-HDL Interfaces | Denali Interface | Building the Denali Library. Neccessary files can be found in Denali subfolder of Active-HDL installation directory.

Once the Denali.dll library is built, it has to be added to Verilog PLI applications tab of Design Settings

Page 17: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2g Denali Sample DesignInitializing simulation

12.2g Denali Sample DesignInitializing simulation

Step #7 : After simulation initialization memory interface is accessible.

Page 18: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2h Denali Sample DesignWriting data to memory

12.2h Denali Sample DesignWriting data to memory

Step #8 : We can prepare stimulators and write data to memory.

Step #9 : We can also see the contents of memory by using $mmstartpureview task

Page 19: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2i Denali Sample DesignChoosing memory to view

12.2i Denali Sample DesignChoosing memory to view

Step #10 : After choosing memory instance we will see memory contents …

Page 20: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.2j Denali Sample DesignMemory view in Denali “PureView”

12.2j Denali Sample DesignMemory view in Denali “PureView”

Page 21: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.3 SWIFT12.3 SWIFT

• The SWIFTTM SmartModels Library is an external library containing the behavioral simulation models of the standard integrated circuits.

• The range and complexity of models varies and starts from simple TTL devices, such as gates, and ends with complex VLSI structures, such as microprocessors and high-density programmable logic.

• Active-HDL provides an interface that allows customers to use these models within the Active-HDL environment

• The SmartModels Library's software (swift.dll) is required to use SmartModels in Active-HDL

• The inclusion of SmartModels Libraries allows users to target Virtex-II Pro devices as well (fully supports PowerPC and Rocket I/O)

Page 22: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.3a SWIFT & Active-HDLSample Design

12.3a SWIFT & Active-HDLSample Design

• Install SmartModel library ‘i27256’• Open SwiftModel design• Open runme.do macro and execute it

We are going to simulate model “i27256” in Active-HDL …

Page 23: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.3b SWIFT Sample Design Creating foreign architecture

12.3b SWIFT Sample Design Creating foreign architecture

• To use SmartModels in Active-HDL's VHDL-based designs, the communication between an external library and the Active-HDL environment has to be established.

• It can be done by using the library's interface (swift.dll).

• Additionally, Active-HDL provides a program that allows users to create a code containing the foreign entity/architecture pair associated with the SmartModels library.

• Then, such a code can be compiled and used in your design. Active-HDL's sm_prepare creates entity/foreign architecture pairs for SmartModels automatically.

Page 24: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.3c SWIFT Sample DesignCompilation & Simulation

12.3c SWIFT Sample DesignCompilation & Simulation

Page 25: Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.

All materials updated on: September 30, 2004

12.3d SWIFT & Active-HDLCommand Channel

12.3d SWIFT & Active-HDLCommand Channel

• The command channel is a SmartModel feature that allows the user to invoke SmartModel specific commands.

• The interface built-in to the Active-HDL environment allows customers to use two kinds of commands : Model Commands & Session Commands