Testbench erweitert, kommentiert.
This commit is contained in:
@@ -1,12 +1,19 @@
|
||||
//Testbench: jk-ff
|
||||
|
||||
//Einstellung der Zeitskalierung
|
||||
`timescale 1ns/1ps
|
||||
|
||||
module tb_jk-ff;
|
||||
|
||||
//Definition globaler Pins
|
||||
reg clk;
|
||||
reg res;
|
||||
reg en;
|
||||
|
||||
//Zählervariable i
|
||||
integer i;
|
||||
|
||||
//Zu Beginn werden alle Pins auf 0 gesetzt.
|
||||
initial begin
|
||||
clk = 1'b0;
|
||||
res = 1'b0;
|
||||
@@ -15,24 +22,30 @@ initial begin
|
||||
dut_k = 1'b0;
|
||||
end
|
||||
|
||||
//Starten eines Clocks mit 50 kHz
|
||||
always begin
|
||||
#10 clk = ~clk;
|
||||
end
|
||||
|
||||
//Definition der Ein- und Ausgänge vom dut
|
||||
reg dut_j;
|
||||
reg dut_k;
|
||||
|
||||
wire dut_q;
|
||||
|
||||
//Ablauf des Testszenarios
|
||||
initial begin
|
||||
//Warte 4 Clock-Zyklen
|
||||
for (i=0;i<4;i=i+1) begin
|
||||
@ (negedge clk);
|
||||
end
|
||||
|
||||
//Reset ein und aus
|
||||
res = ~res;
|
||||
#40
|
||||
res = ~res;
|
||||
|
||||
//Alle Schaltmöglichkeiten für JK probieren (getriggert auf pos. Flanke)
|
||||
@ (posedge clk);
|
||||
dut_j = 1'b0;
|
||||
dut_k = 1'b1;
|
||||
@@ -46,8 +59,10 @@ initial begin
|
||||
dut_j = 1'b0;
|
||||
dut_k = 1'b0;
|
||||
|
||||
//Enable Eingang aktivieren
|
||||
en = 1'b1;
|
||||
|
||||
//Alle Schaltmöglichkeiten für JK probieren (getriggert auf pos. Flanke)
|
||||
@ (negedge clk);
|
||||
dut_j = 1'b0;
|
||||
dut_k = 1'b1;
|
||||
@@ -65,6 +80,7 @@ initial begin
|
||||
|
||||
end
|
||||
|
||||
//Instanziierung des jk-ff
|
||||
jk-ff dut(
|
||||
.R(res),
|
||||
.CLK(clk),
|
||||
|
||||
Reference in New Issue
Block a user