Testbench erweitert, kommentiert.

This commit is contained in:
2024-02-21 19:14:41 +01:00
parent 42c7f91e77
commit 5fa42b7409

View File

@@ -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),