Mudanças entre as edições de "Seguindo o tutorial da ALTERA para o MODELSIM"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 31: Linha 31:
 
* To select this entity, scroll down and locate the '''tutorial library''' and click on the plus (+) sign.  
 
* To select this entity, scroll down and locate the '''tutorial library''' and click on the plus (+) sign.  
 
* You will see three entities available for simulation: FSM, serial, and shift_reg. '''Select the serial''' entity (Design Unit(s) = tutorial.serial) and click '''[OK]''' to begin simulation.
 
* You will see three entities available for simulation: FSM, serial, and shift_reg. '''Select the serial''' entity (Design Unit(s) = tutorial.serial) and click '''[OK]''' to begin simulation.
 +
: See the equivalent tcl command in Transcript window:
 +
vsim tutorial.serial
 +
* Using the '''sim''' tab and the '''Objects''' window we can select signals for simulation. To add a signal to simulation, rightclick on the signal name in the Objects window and '''[select Add > To Wave > Selected Signals]'''. Add signals '''A, B, resetn, start, clock, sum''', and current_state to the simulation,
 +
: See the equivalent tcl command in Transcript window:
 +
add wave  \
 +
sim:/serial/A \
 +
sim:/serial/B \
 +
sim:/serial/start \
 +
sim:/serial/resetn \
 +
sim:/serial/clock \
 +
sim:/serial/sum
 +
* There are two ways to run a simulation in ModelSim: manually or by using scripts. In this tutorial, we perform the simulation manually.
 +
* To set the '''clock''' period, right-click on the clock signal and select '''Clock...''' from the pop-up menu.
 +
: '''[clock period = 100 ps]''', '''[first edge = falling edge]''' and click '''[OK]'''.
 +
* To reset the circuit, set the '''resetn''' signal low by right-clicking on it and selecting the '''Force...''' from the pop-up menu.
 +
: '''[Value =  0]''' and click '''[OK]'''.
 +
* Set the value of the '''start''' signal to 0.
 +
: '''[Value =  0]''' and click '''[OK]'''.
 +
: See the equivalent tcl command in Transcript window:
 +
force -freeze sim:/serial/clock 0 0, 1 {50 ps} -r 100
 +
force -freeze sim:/serial/resetn 0 0
 +
force -freeze sim:/serial/start 0 0
 +
* To run a simulation for '''100 ps''', set the value in the text field to 100 ps (default) and press the '''[Run]''' button.
 +
: See the equivalent tcl command in Transcript window:
 +
run
 +
run 100 ps (or)

Edição das 19h43min de 16 de setembro de 2015

Este tutorial ensina como utilizar o Modelsim para realizar a simulação funcional e também temporal. É requisito para a realização do tutorial o acesso ao software Quartus II e Modelsim ou Modelsim-ALTERA.

PASSO 1

/opt/altera/13.0sp1/modelsim_ase/bin/vsim
  • Para usar o ModelSim 10.1d no LabProg abra um terminal e digite:
/opt/altera/13.0/quartus/modelsim_ase/linux/vsim

PASSO 2 - Functional Simulation with ModelSim

Creating a Project
  • To create a project in ModelSim, select [File > New > Project...]
project name = serial_adder,
project location <= <subdiretorio do usuário>/Using_ModelSim/functional
default library name <= tutorial
copy settings field.
click [OK]
  • Since the file for this tutorial exists, click Add Existing File and select serial.vhd file.
  • Once the file is added to the project, it will appear in the Project tab
  • click [Close]
Compiling a Project

Compilation in ModelSim checks if the project files are correct and creates intermediate data that will be used during simulation.

  • select [Compile > Compile All]. A green check mark will appear to the right of the serial.vhd file in the Project tab.
Simulation
  • Put Modelsim in simulation mode by selecting [Simulate > Start Simulation...]
  • The window to start simulation consists of many tabs. For the purposes of the functional simulation, we only need to look at the Design tab.
  • In the Design tab you will see a list of libraries and entities you can simulate. In this tutorial, simulate a entity called serial.
  • To select this entity, scroll down and locate the tutorial library and click on the plus (+) sign.
  • You will see three entities available for simulation: FSM, serial, and shift_reg. Select the serial entity (Design Unit(s) = tutorial.serial) and click [OK] to begin simulation.
See the equivalent tcl command in Transcript window:
vsim tutorial.serial
  • Using the sim tab and the Objects window we can select signals for simulation. To add a signal to simulation, rightclick on the signal name in the Objects window and [select Add > To Wave > Selected Signals]. Add signals A, B, resetn, start, clock, sum, and current_state to the simulation,
See the equivalent tcl command in Transcript window:
add wave  \
sim:/serial/A \
sim:/serial/B \
sim:/serial/start \
sim:/serial/resetn \
sim:/serial/clock \
sim:/serial/sum
  • There are two ways to run a simulation in ModelSim: manually or by using scripts. In this tutorial, we perform the simulation manually.
  • To set the clock period, right-click on the clock signal and select Clock... from the pop-up menu.
[clock period = 100 ps], [first edge = falling edge] and click [OK].
  • To reset the circuit, set the resetn signal low by right-clicking on it and selecting the Force... from the pop-up menu.
[Value = 0] and click [OK].
  • Set the value of the start signal to 0.
[Value = 0] and click [OK].
See the equivalent tcl command in Transcript window:
force -freeze sim:/serial/clock 0 0, 1 {50 ps} -r 100
force -freeze sim:/serial/resetn 0 0
force -freeze sim:/serial/start 0 0
  • To run a simulation for 100 ps, set the value in the text field to 100 ps (default) and press the [Run] button.
See the equivalent tcl command in Transcript window:
run 
run 100 ps (or)