làm thế nào để viết đúng một testbench của module đầu trang

C

chibijia

Guest
Gần đây tôi viết một mã mà ôm hôn hai mô-đun trở nên yên lặng, nhưmodule segbcd(data,clk,rst,seg_out) where data is 8bits input ;clk,rst are 1bit input,seg_out is 8bits output,and

module1
module segbcd (dữ liệu, CLK, rẽ, seg_out), nơi dữ liệu đầu vào là 8bits; CLK, rẽ là 1bit đầu vào, đầu ra seg_out là 8bits, vàmodule counter(s,sc,sn,rst,clk,data_sn,data)

module2
mô-đun truy cập (s, sc, sn, rẽ, CLK, data_sn, dữ liệu)
nơi s, sc, sn, rẽ, CLK được 1bit đầu vào, data_sn là 8bits đầu vào, dữ liệu là 8 bit đầu ra;
và CLK và rẽ có thể được phổ biến các node.and đầu ra của module2-dữ liệu là đầu vào của module1-dữ liệu.
ai cũng có thể cho tôi biết làm thế nào để viết testbench đúng cho thiết kế này!
giúp đỡ!

 
Dưới đây là một testbench nhanh chóng.Nó có thể đã erros nhỏ.Kiểm tra nó ra và dù cho tôi biết nếu nó hoạt động dành cho bạn!

module_tb ();
reg CLK, đặt lại;
wire [7:0] data_sn, dữ liệu, seg_out;
dây s, sc, sn;

/ / điều chỉnh chậm trễ của bạn theo chiều rộng xung đặt lại của bạn
/ / Cũng cung cấp sự kích thích cho s, bạn sc, đầu vào sn theo thiết kế của bạn
ban đầu bắt đầu
CLK = 0;
đặt lại = 0;
# 20 đặt lại = 1;
# 20 đặt lại = 0;

cuối

/ / xác định khoảng thời gian đồng hồ của bạn và điều chỉnh chậm trễ dưới đây
luôn luôn # 50 CLK = ~ CLK;segbcd segbcd_inst (
dữ liệu (dữ liệu),
CLK (CLK),
rẽ (reset),
seg_out (seg_out)
);

Số lượt truy cập counter_inst (
s (s),
sc (sc),
sn (sn),
rẽ (reset),
CLK (CLK),
data_sn (data_sn),
dữ liệu (dữ liệu)
);

endmodule

 
có lẽ ví dụ này có thể giúp:

"Sau đây là một thiết kế nhỏ của một FIFO, được xây dựng của Flip-Flop thiết bị Tôi thấy việc thiết kế một số nơi trên web, cố định một số lỗi, tạo ra một băng ghế thử nghiệm để kiểm tra nó và script PERL để tự động hoá các thử nghiệm. Này. trang web sẽ chứng minh tất cả trong ba ...."

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

 

Welcome to EDABoard.com

Sponsor

Back
Top