como escrever corretamente uma testbench do módulo topo

C

chibijia

Guest
Recentemente eu escrever um código que abraçar dois módulos de diminuir, comomodule segbcd(data,clk,rst,seg_out) where data is 8bits input ;clk,rst are 1bit input,seg_out is 8bits output,and

Módulo1
módulo segbcd (dados, CLK, RST, seg_out) onde a entrada de dados é 8bits; clk, rst são 1bit entrada, saída seg_out é 8bits, emodule counter(s,sc,sn,rst,clk,data_sn,data)

module2
contador de módulo (s, sc, sn, rst, clk, data_sn, dados)
onde s, sc, sn, rst, clk são 1bit entrada, data_sn é 8bits de entrada, saída de dados é de 8 bits;
eo CLK e RST pode ser o node.and comum a saída do module2 dados é a entrada de Module1 dados.
Alguém pode me dizer como escrever um testbench correto para este projeto!
Ajuda!

 
Aqui está um testbench rápida.Ele pode ter erros menores.Check it out embora e deixe-me saber se ela funciona para você!

module_tb ();
reg clk, reset;
wire [7:0] data_sn, dados seg_out;
fio s sn, SC;

/ / ajustar a sua demora de acordo com sua largura de pulso de reset
/ / Também fornecer estímulos para o seu s, sc, sn insumos de acordo com seu projeto
initial begin
clk = 0;
reset = 0;
# 20 reset = 1;
# 20 reset = 0;

fim

/ / determinar o seu período de relógio e ajustar o atraso abaixo
sempre # 50 clk = clk ~;segbcd_inst segbcd (
dados (dados),
CLK (clk)
RST (reset),
seg_out (seg_out)
);

contador counter_inst (
s (s),
SC (SC),
sn (SN),
RST (reset),
CLK (clk)
data_sn (data_sn),
dados (data)
);

endmodule

 
Talvez este exemplo pode ajudar:

"O que se segue é um pequeno desenho de um FIFO, que é construído de dispositivos Flip-Flop. Achei que o desenho alguns onde na web, corrigidos alguns bugs, criou um banco de ensaio para testá-lo e script Perl para automatizar os testes. Este site irá demonstrar todos os três ...."

http://bknpk.no-ip.biz/my_web/MiscellaneousHW/regFIFO.html

 

Welcome to EDABoard.com

Sponsor

Back
Top