Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
Ing. Andrés Miguel Airabella.Ing. Facundo Aguilera.
Simulación Simulación avanzada con avanzada con
TestBench en HDLTestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 22
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Desc. del Problema
Descripción HDL
Synthesis
Place and Route / Fit
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 33
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 44
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 55
Every time you Every time you breath, you verify. breath, you verify.
Nizar Abdallah, Actel Corp. Nizar Abdallah, Actel Corp.
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 66
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Estímulos HDL
Desc. del Problema I/O Esperadas
Simulación
Simulación
Simulación
Descripción HDL
Synthesis
Place and Route / Fit
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 77
¿Qué es un ¿Qué es un TestBench?TestBench?
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 88
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 99
010010011101 101101100010
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1010
010010011101 101101100010
HDL
VHDL AMS
HDL
HDL
o
VHDL AMS
VHDL AMS
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1111
TestBenchTestBench
UUT (o DUT)
Full Adder
00000000 a_i 01101001 s_o
VHDLSecuencia
de 1 y 0
00110011 b_i01010101 c_i
00010111 c_o
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1212
TestBenchTestBench
UUT
Multiplicador
32 bits x 32 bits
/32
VHDLSecuencia
de 1 y 0
/32
/
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1313
TestBenchTestBench
UUT
Multiplicador
32 bits x 32 bits
/32
VHDLSecuencia
de 1 y 0
/32
/64
Posibles Combinaciones para las entradasPosibles Combinaciones para las entradas223232 * 2 * 23232 = 18.446.744.073.709.551.616 = 18.446.744.073.709.551.616
221414 * 2 * 21414 = 268.435.456 = 268.435.456
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1414
TestBenchTestBench
UUT
Multiplicador
32 bits x 32 bits
/32
VHDLSecuencia
de 1 y 0
/32
/64
¿Por qué simular todos los valores?¿Por qué simular todos los valores?Mult <= A * B;Mult <= A * B;Sum <= A + B;Sum <= A + B;
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1515
TestBenchTestBench
UUT
Multiplicador
14 bits x 14 bits
/14
VHDLSecuencia
de 1 y 0
/14
Chequearesultados
/28
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1616
¿Qué hay dentro de ¿Qué hay dentro de un TestBench?un TestBench?
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1717
Entidad del TestBenchEntidad del TestBench
library IEEE;use IEEE.STD_LOGIC_1164.ALL;
entity fa_tb isend entity;
Ejemplo: Ejemplo: FullAdderFullAdder
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1818
Arquitectura del TestBench (I)Arquitectura del TestBench (I)architecture fa_arch_tb of fa_tb is
Defino el componentecomponent fa is port ( A_i : in std_logic; B_i : in std_logic; C_i : in std_logic; S_o : out std_logic; C_o : out std_logic );end component;...
Ejemplo: Ejemplo: FullAdderFullAdder
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 1919
Arquitectura del TestBench (II)Arquitectura del TestBench (II)... Defino Señales de Interconexion.signal A_i : std_logic;signal B_i : std_logic;signal C_i : std_logic;signal S_o : std_logic;signal C_o : std_logic;
Otras Declaraciones...
Ejemplo: Ejemplo: FullAdderFullAdder
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2020
Arquitectura del TestBench (III)Arquitectura del TestBench (III)...begin Instanciar el componente fafa1: fa port map ( A_i => A_i, B_i => B_i, C_i => C_i, S_o => S_o, C_o => C_o);
Aplicamos los vectores de prueba, asignaciones manuales, archivo de test...end architecture fa_arch_tb;
Ejemplo: Ejemplo: FullAdderFullAdder
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2121
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2222
Generación de Estímulos - Asignaciones ManualesGeneración de Estímulos - Asignaciones Manuales
- Manualmente escribo los valores (y su duración en el tiempo) de las entradas (opc. de las salidas).
- Ejecuto el TestBench para un tiempo específico.
- Veo los resultados en la forma de onda o por consola.
Andrés Miguel AirabellaFacundo Aguilera
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2323
Generación de Estímulos - Asignaciones ManualesGeneración de Estímulos - Asignaciones ManualesUncloked: process begin
D_i <= '0'; RESET_i <= '1'; wait for 230 ns; Reset
RESET_i <= '0'; wait for 170 ns; No Reset D_i <= '1'; wait for 160 ns; D_i <= '0'; wait for 260 ns; ...
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2424
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2525
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2626
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2727
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2828
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Loop
UUT
señal1(i)señal2(i)señal3(i)
i++
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 2929
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Loop
UUT
ClockRetardo
señal1(i)señal2(i)señal3(i)
i++
<
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3030
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
DUT
Loop
a = ib = j
i++j++Sumador
7 bitsba
sum
Esperados
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3131
rca
\7 S_o
C_iC_iC_o
\7
A_i
B_i
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3232
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.numeric_std.all;use std.textio.all;
entity rca_tb isend entity;
architecture rca_arch_tb of rca_tb is Defino el componentecomponent rca is generic (size : integer :=2); port ( A_i : in std_logic_vector(size 1 downto 0); B_i : in std_logic_vector(size 1 downto 0); C_i : in std_logic; S_o : out std_logic_vector(size 1 downto 0); C_o : out std_logic);end component;
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
library IEEE;use IEEE.STD_LOGIC_1164.ALL;
entity fa_tb isend entity;
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3333
Defino Seniales de Interconexion.signal A_i : std_logic_vector(6 downto 0);signal B_i : std_logic_vector(6 downto 0);signal C_i : std_logic;signal S_o : std_logic_vector(6 downto 0);signal C_o : std_logic;
begin
Instanciar el componente rcarca1: rca generic map (7)port map( A_i => A_i, B_i => B_i, C_i => C_i, S_o => S_o, C_o => C_o);
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3434
testeo:processvariable suma_integer : integer := 0;variable suma_unsigned : unsigned (7 downto 0);variable s : line;variable errors : boolean := false;begin for i in 0 to 2**7 1 loop for j in 0 to 2**7 1 loop for k in 0 to 1 loop A_i <= std_logic_vector(to_unsigned(i,7)); B_i <= std_logic_vector(to_unsigned(j,7)); if k = 1 then C_i <= '1'; else C_i <= '0'; end if;
wait for 50 ns;
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3535
suma_unsigned := to_unsigned(i + j + k, 8);suma_integer := i + j + k;write(s, string'("Sumando ")); write(s, i); write(s, string'(" + ")); write(s, j); write(s, string'(" con Carry ")); write(s, k); writeline(output,s);
Chequeo Carryif C_o = std_logic(suma_unsigned(7)) then write(s, string'("Carry Ok")); writeline(output,s);else write(s, string'("Error de Carry. Se esperaba ")); write(s, k); writeline(output,s);
errors := true;end if;
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3636
Chequeo Sumaif std_logic_vector(suma_unsigned(6 downto 0)) = S_o then write(s, string'("Suma Ok")); writeline(output,s);else write(s, string'("Error de Suma. Se esperaba ")); write(s, suma_integer); writeline(output,s); errors := true;end if;
if errors then exit; end if;end loop;
if errors then exit; end if;end loop;
if errors then exit; end if;end loop;wait;
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Archivos rca*.*
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3737
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
a = ib = j
i++j++DUT
Esperados
...
k++
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3838
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
a = ib = j
i++j++DUT
Esperados
...
k++
Place and Route / Fit
Place and Route / Fit
SynthesisSynthesis
Descripción HDL
Descripción HDL1
2
3
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 3939
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Test 2
Test 1
Multiplicador
n bits
A(i,j) = 10101010<<iB(i,j) = 10101010<<ji++j++
A(i,j)=test2(i,j)i++j++ B(i,j)=test2(i,j)
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4040
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4141
Bucles con vectores de pruebaBucles con vectores de prueba
- Genero un ARREGLO de VECTORES con valores para las entradas (op. para las salidas también).
A_i
Declaro Tipo Vector de Testtype test_vector is record A_i : std_logic; B_i : std_logic; C_i : std_logic; S_o : std_logic; C_o : std_logic;end record;
B_i C_i S_o C_o
Declaración de Tipotest_vector
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4242
Bucles con vectores de pruebaBucles con vectores de prueba
- Genero un ARREGLO de VECTORES con valores para las entradas (op. para las salidas también).
0 0 0 0 0
Declaro Tipo Arreglo de Vectores de Testtype test_vector_array is array(natural range<>) of test_vector;
A_i B_i C_i S_o C_o
0 0 1 1 0
Posición n
Posición n + 1
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4343
Bucles con vectores de pruebaBucles con vectores de prueba
- Genero un ARREGLO de VECTORES con valores para las entradas (op. para las salidas también).
Declaro y lleno un arreglo constante de valores.constant t_v : test_vector_array := ( Formo todas las combinaciones posibles para las E/S (A_i => '0', B_i => '0', C_i => '0', S_o => '0', C_O => '0'), (A_i => '0', B_i => '0', C_i => '1', S_o => '1', C_O => '0'), . . .
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4444
Bucles con vectores de pruebaBucles con vectores de prueba
- En un for in loop recorro todos los valores del ARREGLO y se los voy asignando al UUT (o DUT).
for i in t_v'range loop Leer el valor del vector i vector := t_v(i);
Asigno a las seniales correspondientes A_i <= vector.A_i; B_i <= vector.B_i; C_i <= vector.C_i;...
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4545
Bucles con vectores de pruebaBucles con vectores de prueba
- Veo los resultados en la forma de onda o chequeo directamente en el TestBench.
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4646
Bucles con vectores de pruebaBucles con vectores de prueba
- Genero un ARREGLO de VECTORES con valores para las entradas (op. para las salidas también).
- En un for in loop recorro todos los valores del ARREGLO y se los voy asignando al UUT (o DUT).
- Veo los resultados en la forma de onda o chequeo directamente en el TestBench.
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4747
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4848
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Escenario realEscenario real
PLDSeñales
eléctricas Comunicación
Otro
dispositivoPLD
PLD o
Componente
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 4949
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
Escenario realEscenario real
Señales
eléctricas PLDComunicación
PLDPLD o
Componente
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5050
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
TestBenchTestBench
Componente
virtual
(VHDL)
Estímulos DUTComunicación
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5151
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
CasoCaso
ADC
Estímulos
DUT
Clock
Procedimientos
Asignaciones
EJEMPLOEJEMPLO
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5252
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5353
TestBenchTestBench
DUTLectura
Archivos
Escritura
Archivos
ReporteReporte
SalidaSalida
.txt, .dat.txt, .dat
......
EstimulosEstimulos
.txt, .dat.txt, .dat
......
Test
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5454
use std.textio.all;...
file vector_file : text is in "estimulos.txt";...
read(L: line, Valor: character, Valid: boolean);
Lectura
Archivos
EstimulosEstimulos
.txt.txt
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5555
use std.textio.all;...
file vector_file : text is out "salida.txt";...
Write (L: line, Valor: character, Valid: boolean);
Escritura
Archivos
SalidaSalida
.txt.txt
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5656
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5757
RelojesRelojes- Manual- Manual
- Sentencia Concurrente- Sentencia Concurrente
- Módulo de Clock- Módulo de Clock
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5858
ManualManual wait for 50 ns; CLK_i <= '1';
wait for 25 ns; RESET_i <= '1';
wait for 25 ns; CLK_i <= '0'; wait for 50 ns; CLK_i <= '1'; wait for 50 ns; CLK_i <= '0'; wait for 50 ns; CLK_i <= '1';
wait for 25 ns; RESET_i <= '0';
wait for 25 ns; CLK_i <= '0';
wait for 25 ns;
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 5959
ConcurrenteConcurrente CLK_i <= not (CLK_i) after 50 ns;
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 6060
Módulo de ClockMódulo de Clockentity tb_simple_clock is port ( CLK_PERIOD: in time; -- := 20 ns; CLK_DUTY: in real; -- := 50.0; active: in boolean; clk_o: out std_logic );end entity tb_simple_clock ; architecture beh of tb_simple_clock isbegin P_main: process begin wait until active; while (active = true) loop clk_o <= '0'; wait for CLK_PERIOD * (100.0 - clk_Duty)/100.0; clk_o <= '1'; wait for CLK_PERIOD * clk_Duty/100.0; end loop; clk_o <= '0'; wait; end process;end architecture beh;
Clock
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 6161
AgendaAgenda- Generalidades- Generalidades- Generación de Estímulos- Generación de Estímulos - Asignaciones Manuales- Asignaciones Manuales - Bucle- Bucle - Bucle con vectores de prueba- Bucle con vectores de prueba - Módulo de prueba- Módulo de prueba
- Escritura/Lectura de Archivos- Escritura/Lectura de Archivos- Relojes- Relojes- Conclusiones- Conclusiones
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 6262
cvbcbcvbcb
Esperados
- Cálculo
- Tabla
- Módulo
Estímulos
DUT
Módulo
Vectores,
Loop,
Manual
ClockReporteReporte
OndaOndaComparación
DUT
Simulación avanzada con Simulación avanzada con TestBench en HDL TestBench en HDL
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 6363
Archivos Archivos www.andresairabella.com.arwww.andresairabella.com.ar
A. M. Airabella - F. AguileraA. M. Airabella - F. Aguilera 6464
¡Gracias! ¡Gracias!