Bessere Testbench hinzugefügt
This commit is contained in:
@@ -2,69 +2,67 @@
|
|||||||
|
|
||||||
module sclk_gen_tb;
|
module sclk_gen_tb;
|
||||||
|
|
||||||
// Testbench-spezifische Registrier und Nets
|
// Inputs
|
||||||
reg ENA;
|
reg ENA;
|
||||||
reg SYNC;
|
reg SYNC;
|
||||||
reg RESETn;
|
reg RESETn;
|
||||||
reg CPHA;
|
reg CPHA;
|
||||||
reg CLK;
|
reg CLK;
|
||||||
reg CPOL;
|
reg CPOL;
|
||||||
|
|
||||||
|
// Output
|
||||||
wire SCLK;
|
wire SCLK;
|
||||||
|
|
||||||
// Instanz des zu testenden Moduls
|
// CLOCK
|
||||||
sclk_gen uut (
|
initial begin
|
||||||
.ENA(ENA),
|
CLK = 0;
|
||||||
.SYNC(SYNC),
|
forever #5 CLK = ~CLK;
|
||||||
.RESETn(RESETn),
|
end
|
||||||
.CPHA(CPHA),
|
|
||||||
.CLK(CLK),
|
// Testszenarien
|
||||||
.CPOL(CPOL),
|
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),
|
||||||
|
.CPHA(CPHA),
|
||||||
|
.CLK(CLK),
|
||||||
|
.CPOL(CPOL),
|
||||||
.SCLK(SCLK)
|
.SCLK(SCLK)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Taktgenerator
|
endmodule
|
||||||
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
|
Z0 dC:\Users\Erdem\Desktop\labor_eds\labor_4\Aufgabe_6-3\sim
|
||||||
vsclk_gen
|
vsclk_gen
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 EPaQk]cFnfQH_mY<n:`GL3
|
!s100 5C7^KPgMFPID1cWk2?IDE0
|
||||||
IZ;JK@4Ei6hD:L_2<7Ee3`0
|
I2eWieZ5HDc5^AXCQfR<EU2
|
||||||
VQ2IjLS2`kn:Sf_BLGj1Yc1
|
VQ2IjLS2`kn:Sf_BLGj1Yc1
|
||||||
Z1 dC:\Users\Erdem\Desktop\labor_eds\labor_4\Aufgabe_6-3\sim
|
Z1 dC:\Users\Erdem\Desktop\labor_eds\labor_4\Aufgabe_6-3\sim
|
||||||
w1709148334
|
w1709148569
|
||||||
8../src/sclk_gen.v
|
8../src/sclk_gen.v
|
||||||
F../src/sclk_gen.v
|
F../src/sclk_gen.v
|
||||||
L0 1
|
L0 1
|
||||||
@@ -17,16 +17,16 @@ Z2 OV;L;10.1d;51
|
|||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
!s108 1709148338.460000
|
!s108 1709150503.067000
|
||||||
!s107 ../src/sclk_gen.v|
|
!s107 ../src/sclk_gen.v|
|
||||||
!s90 -reportprogress|300|../src/sclk_gen.v|
|
!s90 -reportprogress|300|../src/sclk_gen.v|
|
||||||
!s101 -O0
|
!s101 -O0
|
||||||
o-O0
|
o-O0
|
||||||
vsclk_gen_tb
|
vsclk_gen_tb
|
||||||
Z3 I>OB8_5TZD?_`[>lFKM33g0
|
Z3 I][D:^fY7SLhzg6bYFP=gi1
|
||||||
Z4 V?CLIW_?@SD^S1h3`;nYD63
|
Z4 V?CLIW_?@SD^S1h3`;nYD63
|
||||||
R1
|
R1
|
||||||
Z5 w1709144183
|
Z5 w1709150496
|
||||||
Z6 8sclk_gen_tb.v
|
Z6 8sclk_gen_tb.v
|
||||||
Z7 Fsclk_gen_tb.v
|
Z7 Fsclk_gen_tb.v
|
||||||
L0 3
|
L0 3
|
||||||
@@ -35,9 +35,9 @@ r1
|
|||||||
31
|
31
|
||||||
o-O0
|
o-O0
|
||||||
!i10b 1
|
!i10b 1
|
||||||
Z8 !s100 h68VlXMYSWiC>i8hgK8jb1
|
Z8 !s100 l=lNNMiXESXLz5km4n]Io1
|
||||||
!s85 0
|
!s85 0
|
||||||
Z9 !s108 1709148338.399000
|
Z9 !s108 1709150503.004000
|
||||||
Z10 !s107 sclk_gen_tb.v|
|
Z10 !s107 sclk_gen_tb.v|
|
||||||
Z11 !s90 -reportprogress|300|sclk_gen_tb.v|
|
Z11 !s90 -reportprogress|300|sclk_gen_tb.v|
|
||||||
!s101 -O0
|
!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