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