Documentos de Académico
Documentos de Profesional
Documentos de Cultura
con FPGAs
Bancos de prueba
Testbenchs
Agenda
Concepto de banco de prueba.
Testbenchs
Funcionamiento del simulador.
VHDL orientado a bancos de prueba.
Ejemplos de testbenchs.
Testbench
Dispositivo
Señales Bajo Verificación de
estimulo Prueba salidas
(DUT o UUT)
Generador
Reset
Simulación
.vhd
VHDL
VHDL
Para Descripción
síntesis .vhd
Testbench
Proceso independiente
Entidad sin o manejado por el
puertos proceso principal
Componente
begin Procesos
-- proceso reloj.
-- proceso reset.
-- Instanciación componente Instancio
-- proceso principal. componente
end architecture test;
Puerto
Instanciación nominativo
… port map (a_i => in1 , b_o => out1);
end if;
end process gen_clock;
Formato:
<elemento> ’ atributo.
Ejemplo (image):
std_logic ’ image (q_o)
Señal
atributo
Tipo de dato
Ejemplo: FF-D
Ing. Ariel Dalmas Di Giovanni 34
Recordemos el Plan de verificación
de un FFD
Reset
Estado inicial entradas: D= ‘U’, E = 0.
Espero que el reset esté en estado bajo.
Un instante después verifico que Q se corresponda con la condición
inicial.
Verifico funcionamiento normal
Habilito el FF E = ‘1’.
Coloco D = ‘1’, verifico en el próximo clock el valor de la salida Q=‘1’.
Repito con D = ‘0’.
Verifico Enable
Deshabilito el FF E =‘0’.
Cambio el estado de D y se debe mantener la salida en los próximos
ciclos de reloj.
Habilito el FF E = ‘1’. Verifico que en el próximo reloj la salida tome
el valor de D.
Ing. Ariel Dalmas Di Giovanni 35
Testbench de un FFD
Proceso principal del test
“salida” es std_logic_vector
Ver: contador_tb.vhd
Comparación salidas
esperadas
Archivos
estímulos Archivos
Script resultados Archivos
¿OK? resultados
esperados
ADDR
Entradas a
controlar Comparo
Generador
Reset
Resultados
Generador
reloj