From f27961f54b0b1e1d0e0be6b5ac88c5a693c120bd Mon Sep 17 00:00:00 2001 From: David Harris Date: Wed, 2 Feb 2022 12:57:13 +0000 Subject: [PATCH] examples cleanup --- .gitignore | 1 + examples/C/fir/fir | Bin 42704 -> 0 bytes examples/verilog/xz/distributedmux.sv | 58 ++++++++++++++++++++++++++ examples/verilog/xz/xz.sv | 19 +++++++++ 4 files changed, 78 insertions(+) delete mode 100755 examples/C/fir/fir create mode 100644 examples/verilog/xz/distributedmux.sv create mode 100644 examples/verilog/xz/xz.sv diff --git a/.gitignore b/.gitignore index 047e9ed7a..1bacbd175 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ examples/asm/example/example examples/C/sum/sum examples/C/fir/fir + diff --git a/examples/C/fir/fir b/examples/C/fir/fir deleted file mode 100755 index 4266f84b9d0a88a91abae47f9b0cd045d6ec5889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42704 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%0A@l$z4`a5r&wcWY*$40< zP{9WS)P=mV%8HV7b)%mvttqaZTU$_DBNh~|swxiF78eQnyQDR}@dEt_=RHxHg=xw7g(R5qL||hg>!yeaMoE$|3k^;o>1> zm6cUPic0Z|Po;&+Ym0|e71Y)iS69@Cnx&Q1wdtN(q^UBXsB(EBewkku zU0PXQJQTWDm(~o$E4X6F%7U`8)kBL{70}NX*9^UQDE$m5SvF~I`iRVtV+1Cxpr0wM zg1W^uHThN5#lg~=(#i^fA6TM+{QSb@rDe6H75U}G<-w}epu~*y>r^$RYl`#ni%iRF zmA~>!D@tocQE5qyC|goiP$HHVR1}qgq8dNI1^QvFMIl0>xT1jUD5x$8ij}2BwMz*c zCaMaGf&`5aHEOaY`DzY5^U~r~qNKQXIhmcGUsAC=n7^VRzYN|JD=Vvu1Zk09TUH}# z3tMG)~NjaG=7 z)ipu*RMb{3t*oidFJ1+kYnN6R7Zl}JRYIrYYBL0$<5=mX@K>OTrr-Y64e7YW+V?H?+JU zxU{sQ_`f0oiu`BnWu=8fOM=064cFz!vp>J6cuB$XGNkyB3$$h6}tGl82r7n?1ba??0Rck z)OP1)e^bmYan_$>p2~hc`-SY^Xa6DlkJ$+#yWM%NfUKo>@uzwGTbtPlZ(H-Vv|AHy zOWc)QZ;{m9DYtjIBh8xMO7@?!U(0?y`)KwX*?;!tA^k~iiuqbo0${rO;YIj92ET%k zxGqhoS`tG_T3L#e`T1+l{F_yb=dUgEFE%m$O(PdS7No8oxYK-}8oXblMRr1Bc0IlT z!F(rvL{H0n=W4#;o03pvU8)q-2S8M1z1mAt)%Zj?v2cwv3=>^AcFPpq>-beC>RoKv4L|EbB(Ln!N=V!lts zbd0~k;HMaV`W_?sk-zVCpTTD*9F$XTiJQ_CGmSD&r6B!G7|WSvzLv$mI7;dwAPhf8ji~i1OB7YrIcnneRll z#yetKyLeaZZ5Qts{3F$^Q5<5vFIuneAP+pdW2)d)fHO`t~jxzt7&@WrwPxH%yU@5?`G45C*`n3F49>UAB&I zDzNR*_xut3K;SKSBC<|WT_SvBouhT^;JllKmaZt>h)d8)d{2Yp%bvQz;Q4pQ8D9uI z$>A%@0JIj9F>hoYtupw?^|I37BkS3_1|L~h>VQwgH%hXGwf5W1hCXuL?K1etdh&DN z`#{ggx_rRUN7mhg1|L~x4jFvp^WX`CkE|!p0go@q;oe&RR}6h*efyKbht@SeSO0A2 zBkR&T1|L~xKQj2pdj2KwiHQ6Bi1que!AGv^(+Y2itcbegz@+x%1Qgz)!8)*dR|fEu zCy~#;ZU!Iu937zKM2p`<=sC>LN7nN(z*Br9pMR4Ly-3&k@b~3KFu1B}=KPs6GAjk0 zaPswDTRU>lt|!aH4=gM)YY!qKO!vaq0xPaXaA zvBjLx!jE41B%@Df-mw_s)Ugk{#R8mjz((gWbwoA?1EX%}&}9xyw9oer6Ri(Y>PXb; zWE47yKq{SoS{+>IEGjZ( zQ)YD~wIpVE=2&66A`_=TFsOS`apCe3IATeq$kcE_VPSRg3htFv2I(9LdNW#GP*H-j zo9R|pl(ZTyql17M!>kMv8g50O4kkzo=t5`lOq}ZV0pF9jq#9>KFU9{$KzDE>RZ(NT zt4=|t06$HGVOLZbOd#!Fhy*(YeewEB*WGCb%}o{qrp-j#YJRg`#4t@Tfc}a*?7|9f zb&WzVoS)AH1IB1F`WGYNS0sNn28kru5b^#ciw-lm{JQb(+~;;WMu>leq2PVaG{b+n z$EgA4W3}c3O)%@l`=Pyte>V>pIm~amVle>1vH$tGI`%?Mk**u>9?4H>r1(u>xehb` zWRFt=SrPr8q0hF24>5mB#1p!5`u8Lfq_@RzGD9OFaQ;+ zc%0ij!+!xIOv`+XJ_#TaM`ODU|Fj7EBlDklBbFGki??^HM(p+J7GEzGz42oHG>uj} h(}*e5NF8nba7~L)E~2YW1nu!Zzen@i5eyMs@gFgVwb%dv diff --git a/examples/verilog/xz/distributedmux.sv b/examples/verilog/xz/distributedmux.sv new file mode 100644 index 000000000..060705ecf --- /dev/null +++ b/examples/verilog/xz/distributedmux.sv @@ -0,0 +1,58 @@ +// xz.sv +// David_Harris@hmc.edu 30 January 2022 +// Demonstrate impact of x and z. + +// load with vsim xz.sv + +module testbench(); + logic [3:0] d0, d1, d2; + logic s0, s1, s2; + tri [3:0] y; + + distributedmux dut(.d0, .d1, .d2, .s0, .s1, .s2, .y); + + initial begin + d0 = 4'b0000; d1 = 4'b0101; // d2 unknown (xxxx) + s0 = 0; s1 = 0; s2 = 0; + #10; // y should be floating + s0 = 1; + #10; //y should be driven to 0000 + s0 = 0; s1 = 1; + #10; // y should be driven to 0101 + s0 = 1; + #10; // y should be driven to 0x0x because of contention on bits 0 and 2 + s0 = 0; s1 = 0; s2 = 1; + #10; // y should be driven to unknown because d2 is unknown + end +endmodule + +module tristate #(parameter WIDTH=32) ( + input logic [WIDTH-1:0] a, + input logic en, + output logic [WIDTH-1:0] y); + + assign y = en ? a : 'z; +endmodule + +module distributedmux( + input logic [3:0] d0, d1, d2, + input logic s0, s1, s2, + output tri [3:0] y); + + tristate #(4) t0(d0, s0, y); + tristate #(4) t1(d1, s1, y); + tristate #(4) t2(d2, s2, y); +endmodule + +module gpio #(parameter WIDTH=16) ( + input logic [WIDTH-1:0] GPIOOutVal, GPIOEn, + output logic [WIDTH-1:0] GPIOInVal, + inout tri [WIDTH-1:0] GPIOPin); + + assign GPIOInVal = GPIOPin; + tristate #(1) ts[WIDTH-1:0](GPIOOutVal, GPIOEn, GPIOPin); +endmodule + +module silly(output logic [128:0] y); + assign y = 'bz; +endmodule \ No newline at end of file diff --git a/examples/verilog/xz/xz.sv b/examples/verilog/xz/xz.sv new file mode 100644 index 000000000..d9837e75c --- /dev/null +++ b/examples/verilog/xz/xz.sv @@ -0,0 +1,19 @@ +// xz.sv +// David_Harris@hmc.edu 30 January 2022 +// Demonstrate impact of x and z. + +// load with vsim xz.sv + +module xz( + output logic w, x, y, z); + + logic p, q, r; + + // let p be undriven + assign q = 1'bz; + assign r = 1'bx; + + assign w = q & 1'b1; + assign x = q | 1'b1; +endmodule +