Bessere Testbench hinzugefügt
This commit is contained in:
@@ -2,17 +2,60 @@
|
||||
|
||||
module sclk_gen_tb;
|
||||
|
||||
// Testbench-spezifische Registrier und Nets
|
||||
// Inputs
|
||||
reg ENA;
|
||||
reg SYNC;
|
||||
reg RESETn;
|
||||
reg CPHA;
|
||||
reg CLK;
|
||||
reg CPOL;
|
||||
|
||||
// Output
|
||||
wire SCLK;
|
||||
|
||||
// Instanz des zu testenden Moduls
|
||||
sclk_gen uut (
|
||||
// CLOCK
|
||||
initial begin
|
||||
CLK = 0;
|
||||
forever #5 CLK = ~CLK;
|
||||
end
|
||||
|
||||
// Testszenarien
|
||||
initial begin
|
||||
// Eingänge initialisieren
|
||||
ENA = 0;
|
||||
SYNC = 0;
|
||||
RESETn = 1;
|
||||
CPHA = 0;
|
||||
CPOL = 0;
|
||||
|
||||
// Reset
|
||||
#10 RESETn = 0;
|
||||
#20 RESETn = 1;
|
||||
|
||||
// Test 1: ENA toggelt
|
||||
#30 ENA = 1;
|
||||
#20 ENA = 0;
|
||||
|
||||
// Test 2: SYNC toggelt
|
||||
#40 SYNC = 1;
|
||||
#20 SYNC = 0;
|
||||
|
||||
// Test 3: CPHA und CPOL Funktion
|
||||
CPHA = 1;
|
||||
CPOL = 1;
|
||||
ENA = 1; // Enable wird aktiviert
|
||||
#40 CPHA = 0;
|
||||
#40 CPOL = 0;
|
||||
|
||||
// Enable wird deaktiviert
|
||||
#50 ENA = 0;
|
||||
|
||||
|
||||
#100;
|
||||
end
|
||||
|
||||
//DUT
|
||||
sclk_gen dut (
|
||||
.ENA(ENA),
|
||||
.SYNC(SYNC),
|
||||
.RESETn(RESETn),
|
||||
@@ -22,49 +65,4 @@ module sclk_gen_tb;
|
||||
.SCLK(SCLK)
|
||||
);
|
||||
|
||||
// Taktgenerator
|
||||
initial begin
|
||||
CLK = 0;
|
||||
forever #5 CLK = ~CLK; // Erzeugt einen Takt mit einer Periode von 10ns
|
||||
end
|
||||
|
||||
// Teststimuli
|
||||
initial begin
|
||||
// Initialisierung der Testbench-Registrier
|
||||
ENA = 0;
|
||||
SYNC = 0;
|
||||
RESETn = 1;
|
||||
CPHA = 0;
|
||||
CPOL = 0;
|
||||
|
||||
// Reset-Vorgang
|
||||
#10;
|
||||
RESETn = 0; // Aktiver Reset für mindestens einen Taktzyklus
|
||||
#10;
|
||||
RESETn = 1;
|
||||
#10;
|
||||
|
||||
// Testfall 1: Einfache SCLK-Generierung
|
||||
ENA = 1; // Aktivieren des Takts
|
||||
SYNC = 0;
|
||||
CPHA = 0;
|
||||
CPOL = 0;
|
||||
#100; // Warten für einige Taktzyklen
|
||||
|
||||
// Testfall 2: SYNC-Logik
|
||||
SYNC = 1;
|
||||
#10;
|
||||
SYNC = 0;
|
||||
#50; // SYNC-Logik testen
|
||||
|
||||
// Testfall 3: Taktphasen und -polarität
|
||||
CPHA = 1;
|
||||
CPOL = 1;
|
||||
#100; // Taktphasen und -polarität testen
|
||||
|
||||
// Testfall 4: Deaktivierung des Takts
|
||||
ENA = 0;
|
||||
#50; // Überprüfung der Deaktivierung
|
||||
end
|
||||
|
||||
endmodule
|
||||
Binary file not shown.
@@ -5,11 +5,11 @@ cModel Technology
|
||||
Z0 dC:\Users\Erdem\Desktop\labor_eds\labor_4\Aufgabe_6-3\sim
|
||||
vsclk_gen
|
||||
!i10b 1
|
||||
!s100 EPaQk]cFnfQH_mY<n:`GL3
|
||||
IZ;JK@4Ei6hD:L_2<7Ee3`0
|
||||
!s100 5C7^KPgMFPID1cWk2?IDE0
|
||||
I2eWieZ5HDc5^AXCQfR<EU2
|
||||
VQ2IjLS2`kn:Sf_BLGj1Yc1
|
||||
Z1 dC:\Users\Erdem\Desktop\labor_eds\labor_4\Aufgabe_6-3\sim
|
||||
w1709148334
|
||||
w1709148569
|
||||
8../src/sclk_gen.v
|
||||
F../src/sclk_gen.v
|
||||
L0 1
|
||||
@@ -17,16 +17,16 @@ Z2 OV;L;10.1d;51
|
||||
r1
|
||||
!s85 0
|
||||
31
|
||||
!s108 1709148338.460000
|
||||
!s108 1709150503.067000
|
||||
!s107 ../src/sclk_gen.v|
|
||||
!s90 -reportprogress|300|../src/sclk_gen.v|
|
||||
!s101 -O0
|
||||
o-O0
|
||||
vsclk_gen_tb
|
||||
Z3 I>OB8_5TZD?_`[>lFKM33g0
|
||||
Z3 I][D:^fY7SLhzg6bYFP=gi1
|
||||
Z4 V?CLIW_?@SD^S1h3`;nYD63
|
||||
R1
|
||||
Z5 w1709144183
|
||||
Z5 w1709150496
|
||||
Z6 8sclk_gen_tb.v
|
||||
Z7 Fsclk_gen_tb.v
|
||||
L0 3
|
||||
@@ -35,9 +35,9 @@ r1
|
||||
31
|
||||
o-O0
|
||||
!i10b 1
|
||||
Z8 !s100 h68VlXMYSWiC>i8hgK8jb1
|
||||
Z8 !s100 l=lNNMiXESXLz5km4n]Io1
|
||||
!s85 0
|
||||
Z9 !s108 1709148338.399000
|
||||
Z9 !s108 1709150503.004000
|
||||
Z10 !s107 sclk_gen_tb.v|
|
||||
Z11 !s90 -reportprogress|300|sclk_gen_tb.v|
|
||||
!s101 -O0
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user