From 17c142b4f9da4228e1e466ea7b19a5daeab7abd5 Mon Sep 17 00:00:00 2001 From: musabe24 Date: Wed, 28 Feb 2024 21:03:09 +0100 Subject: [PATCH] =?UTF-8?q?Bessere=20Testbench=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- labor_4/Aufgabe_6-3/sim/sclk_gen_tb.v | 108 +++++++++--------- labor_4/Aufgabe_6-3/sim/vsim.wlf | Bin 73728 -> 73728 bytes labor_4/Aufgabe_6-3/sim/wave.tcl | 0 labor_4/Aufgabe_6-3/sim/work/_info | 16 +-- .../sim/work/sclk_gen/_primary.dat | Bin 570 -> 570 bytes .../sim/work/sclk_gen/_primary.dbs | Bin 825 -> 825 bytes .../Aufgabe_6-3/sim/work/sclk_gen/verilog.prw | Bin 451 -> 451 bytes .../Aufgabe_6-3/sim/work/sclk_gen/verilog.psm | Bin 8888 -> 8888 bytes .../sim/work/sclk_gen_tb/_primary.dat | Bin 811 -> 822 bytes .../sim/work/sclk_gen_tb/_primary.dbs | Bin 1163 -> 1217 bytes .../sim/work/sclk_gen_tb/verilog.prw | Bin 905 -> 908 bytes .../sim/work/sclk_gen_tb/verilog.psm | Bin 9752 -> 10256 bytes 12 files changed, 61 insertions(+), 63 deletions(-) delete mode 100644 labor_4/Aufgabe_6-3/sim/wave.tcl diff --git a/labor_4/Aufgabe_6-3/sim/sclk_gen_tb.v b/labor_4/Aufgabe_6-3/sim/sclk_gen_tb.v index 5b44bf2..3010122 100644 --- a/labor_4/Aufgabe_6-3/sim/sclk_gen_tb.v +++ b/labor_4/Aufgabe_6-3/sim/sclk_gen_tb.v @@ -2,69 +2,67 @@ 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 ( - .ENA(ENA), - .SYNC(SYNC), - .RESETn(RESETn), - .CPHA(CPHA), - .CLK(CLK), - .CPOL(CPOL), + // 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), + .CPHA(CPHA), + .CLK(CLK), + .CPOL(CPOL), .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 \ No newline at end of file +endmodule diff --git a/labor_4/Aufgabe_6-3/sim/vsim.wlf b/labor_4/Aufgabe_6-3/sim/vsim.wlf index 82cdef349748ca7933f042faf34128f9c8d360e2..618350a51881ed16f8324587210854f56e432ca3 100644 GIT binary patch delta 659 zcmZoTz|wGlWrBf%rU0vJQA%nqdvIuwo1?QU0}@ERKT&gIfS3b|DTA@esCoBYV zg@6=`GJ_%$&}c>|`5Vk;0a+%?q`-7DOt?ew-(-h{cI^K_Vv3BD85g>XGJ@G)5s<1I zFjWCS!!J&bU#PNq=3)yOQC6Tbkl|qP|3C8pJLxdcNo+v33^FIN4>~9Dav(bi02)ri A%m4rY delta 399 zcmZoTz|wGlWrBf%&=gkJqLkEJ_TbPUH%Dhz1|*PrzhleB05Jy^0|ryG$yp9g>=vmE zMOC?plQ%o8WaQZ#>$ohAwfF!3KgE+d7Hpe*VS&VCo`qVIKP;Lsxn-fms>YB(- LZ4-GpkWB;tVOB8_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 diff --git a/labor_4/Aufgabe_6-3/sim/work/sclk_gen/_primary.dat b/labor_4/Aufgabe_6-3/sim/work/sclk_gen/_primary.dat index 963ee93120371c3de7d45fe3300c88802992c609..13bc60d827f0e9a909dd280ebf07e334437c3533 100644 GIT binary patch delta 205 zcmdnRvWvx@vEUS6{Bl>L*Req2$;&MsuP&^=+*vnQ?3EA$2;7%vT*i{v#lXNVaMy@w zN?5?chvAKD8$6h`7AbfzwoY_xV|+33#1zIYlVcfEt88Kz88&H|gr&M{5VM+Q`C>t^ zXvNjqr_-{zCM}b&yAyujPLld! z)vhd{5V^s8!?J&mbDle#&=6Mi1o8enhyn2g!E!$@8Y_G`T=Q+=+ZpR$8`ZD*^>R;} zY@o-+83`o}QI0+v&ArQ>^z7T0vze!3^`FU#*A5Gv$n)4WcYP2`4YzecL2Ti=4_^Vp CUty*I diff --git a/labor_4/Aufgabe_6-3/sim/work/sclk_gen/_primary.dbs b/labor_4/Aufgabe_6-3/sim/work/sclk_gen/_primary.dbs index 35a4657c2c561a93b60135df5479affb9b60f564..7f1ee32c95602a1ab806fcd7f66ab7b2d87f534f 100644 GIT binary patch literal 825 zcmZWn%PT}-6hHUQ#duvI&+(e_xCUt^OFOAaUL_^+3MukfiPDs8hmA}W8yO20D8oNs z#ZD{~B~}u#u%U_b`|j;5IQ5f&P(2p6t4RD>Z=5eWhnktk3RNdgt&7O03chRB&hibxlj3_nv~3Sfr7RKP5O z$l}Toh%8z@6dw;aL1YvTi_pWs2j<9S;wo zaHGP3WT7_%$upHgVG61nwh*I=m0bZwfL0{R5(?wM8$wkJg()Mc%E4Cmv0_uJ3|2xk zx>FHs>U%z}-yQRJ+@6`S@^RnFN83kr=ix|Tes93?uDtVMCaQvFH%^v9@4an4+#HuSLIq0nfBoiU0rr literal 825 zcmZWnO)G>^6u$4r7{<(ySWRK_mbb~*NU@NO*f2F4AF)AMC`Aej4f2tcOf1;>0ZOS^ zk<=s>J|c?9N{KLKGaHR^o_pVp;?zCoK0WuGd(LyOHhStmTA#2CSKbK)+u!!k-+jF* z$TW?dPOFrb5C*meEx!O^V5^`cOoozhF_c6WLrJ(9N+O$~B)kMs(<3C|W0-?;euf^v zJchY|1q@NeC}M~zS`dy_fQAslEOVf+aTuxS9cEhOa8lSvL>Z>a2`K7cmd(`PEImXN zd@+2x81Ls7LdC$4D=?s+t6af zIxfEN=}ph1qS3DQh2hzm>4ZDIJ2o)B|MmD1DLk9ZzB$0n=T*L`x%{z}r;-NaduM+0 z;t2CY2Q5Gjw$^m>xwQAOHK=+;f2I;riG_sUKdPl9q~2rkyJngxNEpY>j6>irDl4Oa f*V45SM+G&k5O^WzVNN>)eyp-e3Q$qkbMk)xx1Cp4 diff --git a/labor_4/Aufgabe_6-3/sim/work/sclk_gen/verilog.prw b/labor_4/Aufgabe_6-3/sim/work/sclk_gen/verilog.prw index 809296bd45e120edf80a8db82d5389e158047b63..a4f411db8f67a8779b0beec9f687727943a220f8 100644 GIT binary patch delta 54 zcmX@ie3*HHH>VK`1KU&+24$m(A?}>UAdVS>vhlzRy9CWkU6@EM!cD%9380D%M} G0|NkY9Sj-( delta 54 zcmX@ie3*HHH>WWR1KU(%24&-kA?}zRy=Cx^#qt^DHV2B!Gcn3fE|mPwC^5NE%AQdL$QIdrRO&M$ kquS=3GT#{))i-aH15z5BS1PD8GHOn~sJI`fYNC=l0OisonE(I) delta 153 zcmdnty2Et?Gl!%x3j^C!V+LhoCLpa`plkx-n=mMwY?k3z!Xv22z`(%7z*No&p&6AX zUlhq_RG#c8dYn;ZGN;&eMzzTg#qt@|HwTK#GcjsRE|mPws5rS$%3e?hs+9$*Rd@42 nsqc)8dYgC304e>=8|8qM!RD0;>WqwrlP@anXVjTIQAr&D`TZoK diff --git a/labor_4/Aufgabe_6-3/sim/work/sclk_gen_tb/_primary.dat b/labor_4/Aufgabe_6-3/sim/work/sclk_gen_tb/_primary.dat index fcc64eb40c858d13562b854bfcac28032201d8df..b8295b19f86a1b35ab445a74b0a8e49239471701 100644 GIT binary patch delta 614 zcmZ3@wvEk`vEUS6{Bl>L*Req2$;&Ms?=G*u+*vnQ?3EA$2;7%vTqn!q$jJy~_cJh? z8%d>tn3gwKO1hoP85q{{PvvD5*GP_-=xyoO@~@kL;h#XA5zoQ!^UELZVPaSqCbM2L z&|o=NbnTblAoK2g`TF$oy>t8i)UX11Ute=wd@}pwwkEDXv-b&~uS{IT{*sA7HYR1) z%lgjA0gQh21?(&gCmTL7Z~;}n6y|s-GC>1mj7U)GikB{%Iz)i%OlFRkrW3M2&Jwwn zx}>CyiQ#3yrUh~!sbIF3QzvMFrNUAdybRg20<6QC?d8@9SwIC~9TiX=Ad@qL*^zbB zBebw1YpDThIpN5;dV@#;$Z(m%rCl!sxnB!RQ2=wDN;_VNvb~m=VgTkQm7X}+@`(dv z{!3=gmnIW3fGh@)OAtSRt!3s0`2j2p^g}Y#MMmC05vV7?a$%`U(x7rFK!E_Kw;kVE zW-_gM$-rR1!<%Bo_so4uvzzcAbGB90KDV2$FzHkNWuBX1F`IcBbSD)EUOVg_cTb_;#Ly$E Me)Ub=BO0|$0C{xZ>;M1& delta 604 zcmdnSwwleGvEUTn;mKtxn-2yb1X5{Lm->F(c<6bN&;Qn@BnA-3|Ic{t4pU<{BaqF{ z%4}{aRSaTUeqkxO?EIaTVg3H8xvb(Zl5b4(wA63-CsJp{bI|>K`~N)*40G6cZS?uV za<5!#+gX#ucJ2GMe{9X?0_R>cYpN`H#D47i6yZv3E}k(SaFuG6~rk>>y`=OoBPX2&A*?t?XN{GdNM5!3}Z- z$RLn2PP%;RfY~z%Xixo(AU2RiVAFuE23Z6(P4c_iOt)(*Ss0k6glHe0@cXv9)|a}e zyRtv}ZsvE9yHICasO$%a@Wjgkvu-u>u>UvAxZ1w9XQjs6uK@qE B_`CoB diff --git a/labor_4/Aufgabe_6-3/sim/work/sclk_gen_tb/_primary.dbs b/labor_4/Aufgabe_6-3/sim/work/sclk_gen_tb/_primary.dbs index 37bf702006b7aad94b33c1bb278b30e9f3f48121..310931c0c4ffd3630c4d7bb63b114e0ef7ea48e5 100644 GIT binary patch literal 1217 zcmZ{jO=uHQ5XWbCpRG-8sHPY<-9kc4*=n^VIVjP#_6u^*gBJzCw%}Rt;>XGAAqVkL zLadS&*$FG3gu>iDgckNCg=ac>uCqB!W8e zP$mgMt;29UQiP!DNGQq2T13JQFqMGAn}O^uOp}#_~ zJxD~h>1Lr3rjV2%PZ09J9)fxVVIPz%DE&|PM!-ySbX<^;e6Bh21sQeqHAnr7bje0t zrvw>wofc$dI3Rl&0S5&c0Skiu4``oZ#K(4y9SVyd!WVmi=`K;{1>u7T8WMy9h@fFX zNHl^*1fdfn=z<{B5J97Y&{X@8Qw)(Cw1+*xQgyuDNV zn!CR9?S{9Jzh8fRyV{v)ots^HJ+oI^zuL&&{Ql*0akJym%Ubv9r?YJ&T15dN^o!TnN}cT+xk+WE7eQhRiW^cAfmRo&=I;eC&6& zzf6Q%i%X}ThX6la8*VVJs%>qBGrTB$@*NSbCk|5m3<08OLuNRBTP=r?kTgmm!l4KM JuI*`c_b;+~d@le1 literal 1163 zcmZ{j%S#(k6vofY+}OrQV(mi`jfD7UXr-h^l-TMbmSoX|bSG{k7~KfzD|FMP(9%sy zB?v+l!JYaK7+0m>Lh#k@gwUlfTx8RYDCzlThNI)f1NYwf?vH!VH)qZmZ+3#e=09{< zzR)%=W1*Kv`SIUhiNmmXGI_*!5Lpd8K{k>Bc}pZVt=l4T%<_v=kc}dJkO7gn)M|2N zE8$Yr?8;yh64mV>LIQP15R!UOiy#>Apu2)##)Iw&f-w)eF9;?*=z$;@zKX1ni^7Bw z7!gc7B3w51-{wk6ARV?~7NOcP;YmYg6x(FPF!6{G>Zjtaqy#qYLh_1GojhTa5-1Zq zN}4Vf4#F0SDyUl!e89e-9zn>1^nxA<(k|@186^d2=AR1E%=Zb>9HsSimtsK7@h8UUM}^|OiWc?e|k1N z*YP)9TzPUf@%UfO=<%%423;PXkc#8ML^(Pq2QmfGIN5i0$pTLvU5BRWS>n5bAUh=38K(@w9xBS zHYv4)p8P&Z=f!1l-L}-t)x(F<)ZNB4kiUJswB+ud<9V|Ivb=3xTQYao@OQI@Fz^ie zM_bI5(iTMZLDyBUwBrqEppM^RDQEe!h~pnvMzRx5IP5Tt8BY?&*iRyHlxmPn!MpsA yQ!F^;io;OwxW|x9-S(+apCs#mU2&K_J*SAVFBvl0i1Phw>Xh?xW>WIrK&fA!XhIeM delta 266 zcmYL>zY4-Y492giSm+x#2!Y!=HFxyi6F3PD4$|%HRd9Ea(gzS6EQjEGDENBjTG3oc za^ElcuF)mB)v={UN4+CU^~42Bv{GTE6wR1fPRbB1Opn|4Ar{ z4!j7l!4R{+M1Sky&)QM9+eMM~AaCSJA$>U;`9L{-P<4Eyc*_D2KnzewaK`^@=d>2_`SJa;SHxMfwPKJ|W8@xUyt zc77Wu5?$k0XTQLr8s~0dQM<5_}w_)e`W#(_Xz%TUg5xFtAgUA!uMc&Tt zAkrM#LF7+EJA?DMzl4%V0Rqe=J9md`r0wG#|Lv-&XWSaDXwO6M&%iqly+iTRd&ul| zGpQFUKOA{Wzac_IiJ?&NH9s9OdaOowK}s1ab&f{v5WpXOkf1^S_57xp?VWAmOA2C! zC0OaZm*w@bS;}^{$1uIgyW^X5p6!WE8spZ)0~%*Dw@DMc4V&k-WpKvIYk8!i&{m4) ztk1~i`vrr40dK$I53Hu{h8_kAO78Lfd{K+o6u0wD@{l{Ldr@8(d5NEn8(gFu-c6z3vVmMp_B3KG>vf!G{H17Gg(E5W%&n9MF1nCYZYfqj`X_}hZY z$4*|CCm2lEL)>w7!qAt*i!Isawo@@>V(Cp@s^lblNIu)HQNAJ`(TXpKni3^F1$<1a zzzw&e6>utA7g=`=dY{X#r7eUR*SO^veC(EZ-%-tX!N#jCi;tNzyz5$c1b?^&f8t`A ze2E{qs$L1>Pd8Wfif`Cxb1U4o4ShvoW4(F2o~xL0L(o2 zQxXTjm=yA2!U)F2P13}~&BjG17aiPSaBy&FTyVno>lJLU!~5KO{r=v2zwh1V{Pv7B z=t_@+(E3`SpM&_-AqY-lf^t`*-qN6(s8U@bnnVvVw`GNUdMIh9q#Fc5Ch{fxMXuAtJ{MD9$Ttz=?0F2|6_J?H6`}R4qMv~{qnmk1> zzM-h#ABr+wQhtMpBi?7Eta{6&T<9p1@_-_l*jXke_{yZLdR5N{dRs?FvipZvdF2}d z+*CCsM>Pk4qmxr`xIbZ4Rqd(-H>k*~U{rppOF*y!YYynb&s~K;(Ee|QUVUBT<6^H` zT!m4zn2OiKCay9un?9u(<2k_eFp|GDx#YAD%8)nyYV_#KrAo;B^lFdyod z7*+W$=kZQN#T}+8BV5OQw+WMI(Zv0j41HLmr%heN^%!}ji`*4mg<;I=;lS~oFY