Red de conocimiento informático - Material del sitio web - Cómo utilizar Debussy y ModelSim para co-simulación

Cómo utilizar Debussy y ModelSim para co-simulación

Este artículo presenta cómo usar Debussy y ModelSim para realizar co-simulación, y usar Verilog, VHDL y Verilog con VHDL para realizar simulación cruzada juntos.

Introducción

Entorno de uso: Debussy 5.4 v9 ModelSim SE 6.3e

He estado usando Debussy NC-Verilog para simulación antes, y Debussy (Verdi) puede Se dice que Source Insight de HDL es una poderosa herramienta para rastrear y depurar. NC-Verilog también es el más rápido entre los simuladores de Verilog. Sin embargo, debido a necesidades de trabajo recientemente, obtuve un paquete de código que usa Verilog para escribir RTL y VHDL. Escriba testbench. Por lo tanto, dos idiomas deben simularse juntos. No he podido simular con éxito los dos idiomas juntos en NC-Verilog. Aunque ModelSim admite la co-simulación Verilog VHDL, estoy acostumbrado a Debussy y todavía no puedo olvidar su conveniente método de código de rastreo, por lo que sería perfecto si ModelSim también pudiera volcar los archivos fsdb requeridos por Debussy.

Lo siguiente se discutirá de 4 maneras

1. Tanto RTL como testbench usan Verilog

2 Tanto RTL como testbench usan VHDL

<. p>3.RTL usa VHDL, testbench usa Verilog

4.RTL usa Verilog, testbench usa VHDL

1.RTL y testbench usan Verilog

Paso 1:

Configure ModeSim para usar Verilog PLI (porque testbench usa Verilog)

Copiar C:\Novas\Debussy\share\PLI\modelsim_pli\WINNT\novas.dll a C: \Modeltech_6.3e\win32\under

Modifique C:\Modeltech_6.3e\modelsim.ini y modifique la parte de Veriuser de la siguiente manera:

; Lista de objetos cargados dinámicamente para Verilog PLI aplicaciones

; Veriuser = veriuser.sl

; uso por verilog

Veriuser = novas.dll

; p>

; Veriuser = novas_fli.dll

modelsim.ini es un archivo de sólo lectura. Recuerde modificar sus propiedades antes de poder guardarlo.

Paso 2:

Parte RTL (tomando el contador de 4 bits como ejemplo)

counter.v/Verilog

1 /*

2 (C) OOMusou 2011 blogs.com

3

4 Nombre de archivo: counter.v

5 Simulador: ModelSim 6.3e , Debussy 5.4 v9

6 Descripción: ModelSim con debussy

7 Lanzamiento: 31/01/2010 1.0

8 */

9

Contador de 10 módulos (

11 clk,

12 rst_n,

13 cnt

14)

15

16 entrada clk;

17 entrada rst_n

18 salida [3:0]

19

20 reg [3:0] cnt;

21

22 siempre@(posedge clk, negedge rst_n) comenzar

23 if (~rst_n)

24 cnt lt; = 4'h0;

25 else

26 cnt lt; b1 ;

27 end

28

29 endmodule

Paso 3:

Parte del banco de pruebas

counter_tb.v / Verilog

1 /*

2 (C) OOMusou 2011 blogs.com

3

4 Nombre de archivo: counter_tb.v

5 Compilador: ModelSim 6.3e, Debussy 5.4 v9

6 Descripción: ModelSim con debussy

7 Lanzamiento: 31/01/ 2010 1.0

8 */

9

10 módulo counter_tb

11

12 reg clk;

13 reg rst_n;

14 cables [3:0] cnt

15

16 // 50MHz

17 siempre #(10) clk = ~clk;

18

19 inicio inicial

20 #0; 21 clk = 1'b0;

22 primer_n = 1'b0;

23

24 #5

25 primer_n = 1'b1;

26

#195;

27 $finalizar

28 finalizar

29

30 inicio inicial

31 $ fsdbDumpfile("counter.fsdb");

32 $fsdbDumpvars(0, counter_tb);

33 fin

34

35 contador u_counter (

36 .clk(clk),

37 .rst_n(rst_n),

38 .cnt(cnt)

39 );

40

41 módulo final

19 líneas

comienzo inicial

#0;

clk = 1'b0;

primero_n = 1'b0;

#5; p>

p>

#195;

$finish;

end

En pocas palabras, si hacemos simulación en NC- Verilog, lo haremos en el banco de pruebas. Especifique el tiempo para finalizar la simulación. Sin embargo, en ModelSim, el tiempo de simulación está controlado por el script ModelSim. Es inútil escribir $finish en el banco de pruebas, por lo que se omitirá el tiempo de $finish. .

comienzo inicial

#0

clk = 1'b0

rst_n = 1'b0; p> #5;

rst_n = 1'b1;

end

Paso 4:

Parte del script de ModelSim

vsim.do

vlib trabajo

vlog counter.v

vlog counter_tb.v

vsim counter_tb

run 200ns

q

Entre ellos

vlib work

crea la biblioteca de trabajo.

vlog counter.v

vlog counter_tb.v

Compile RTL: counter.v y testbench: counter_tb.v, vlog es el compilador Verilog de modelsim.

vsim counter_tb

Utilice counter_tb como módulo superior para la simulación.

ejecutar 200 ns

Instruye a ModelSim a realizar una simulación de 200 ns.

q

Salir de ModelSim

Paso 5:

Ejecutar el archivo por lotes de ModelSim

mod.bat

vsim -c -do sim.do

-c significa que ModelSim se ejecutará en modo consola, porque en Debussy ModelSim, ModelSim solo se usa como NC-Verilog, que es inútil. Vaya al modo GUI de ModelSim.

-do significa ejecutar el script ModelSim.

Resultados de la ejecución

D:\0Clare\VerilogLab\ModelSim\counter_veriloggt; vsim -c -do sim.do

Lectura C:/Modeltech_6.3e/ tcl/vsim/pref.tcl

# 6.3e

# do sim.do

# ** Advertencia: (vlib-34) La biblioteca ya existe en "trabajo".

# Model Technology ModelSim SE vlog 6.3e Compilador 2008.02 2 de febrero de 2008

# -- Compilando el contador del módulo

#

# Módulos de nivel superior:

# contador

# Model Technology ModelSim SE vlog 6.3e Compilador 2008.02 2 de febrero de 2008

# -- Módulo de compilación counter_tb

#

# Módulos de nivel superior:

# counter_tb

# vsim counter_tb

# ** Nota: (vsim-3813) El diseño se está optimizando debido a la recompilación del módulo...

# ** Nota: (vsim-3865) Debido a la presencia de PLI, se está especificando acceso completo al diseño.

# Cargando C:\Modeltech_6.3e\win32/novas.dll

# // ModelSim SE 6.3e 2 de febrero de 2008

# //

# // Copyright 1991-2008 Mentor Graphics Corporation

# // Todos los derechos reservados.

# //

# // ESTE TRABAJO CONTIENE SECRETO COMERCIAL Y

# // INFORMACIÓN DE PROPIEDAD QUE ES PROPIEDAD

# // DE MENTOR GRAPHICS CORPORATION O SUS LICENCIANTES

# // Y ESTÁ SUJETA A LOS TÉRMINOS DE LICENCIA .

# //

# Cargando work.counter_tb(rápido)

# Cargando work.counter(rápido)

# Novas FSDB Dumper para ModelSim, versión 5.4v9 (Win95/NT) 04/05/2005

# Copyright (C) 1996 -

2004 por Novas Software, Inc.

# *Novas* Crear archivo FSDB 'counter.fsdb'

# *Novas* Comience a volcar el alcance (counter_tb), capa (0).

# *Novas* Fin del volcado.

# ** Nota: $finish: counter_tb.v(27)

# Tiempo: 200 ns Iteración: 0 Instancia: /counter_tb

Reimpreso solo como referencia, los derechos de autor pertenecen al autor original. Te deseo una vida feliz, acéptala si estás satisfecho