Problem 158-Bugs_mux2
題目說明
這個 8 位寬的 2 對 1 多路復用器不起作用。修復錯誤。
模塊端口聲明
moduletop_module( inputsel, input[7:0]a, input[7:0]b, output[7:0]out);
題目解析
sel的位寬不夠,補到8位即可。
moduletop_module( inputlogicsel, inputlogic[7:0]a, inputlogic[7:0]b, outputlogic[7:0]out); assignout=({8{sel}}&a)|(~{8{sel}}&b); endmodule
![30b68cee-be40-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/08/wKgZomTncjuAJLkxAAD2oQDsJPI490.png)
點擊Submit,等待一會就能看到下圖結果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。
這一題就結束了。
Problem 159-Bugs_nand3
題目說明
本題中的三輸入與非門不工作了,找出并修正 BUG。
讀者必須使用提供的 5 輸入與門來實現這個與非門。
模塊端口聲明
moduletop_module(inputa,inputb,inputc,outputout);
題目解析
原題中只使用了與門~
moduletop_module(inputlogica, inputlogicb, inputlogicc, outputlogicout );// varlogicout_temp; andgateinst1(.out(out_temp), .a(a), .b(b), .c(c), .d(1'd1), .e(1'd1) ); assignout=~out_temp; endmodule
![30f9d7f6-be40-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/08/wKgZomTncjyAK_zNAAEhl-JE5bA397.png)
點擊Submit,等待一會就能看到下圖結果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。
這一題就結束了。
Problem 160-Bugs_mux4
題目說明
這個 4 對 1 多路復用器不起作用。修復錯誤。
下面無錯誤的 2 對 1 多路復用器:
modulemux2( inputsel, input[7:0]a, input[7:0]b, output[7:0]out );
![31229740-be40-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/08/wKgZomTncjyADBX4AACO9xb6kmk563.png)
模塊端口聲明
moduletop_module( input[1:0]sel, input[7:0]a, input[7:0]b, input[7:0]c, input[7:0]d, output[7:0]out);
題目解析
沒啥大問題,還是變量位寬問題。
moduletop_module( inputlogic[1:0]sel, inputlogic[7:0]a, inputlogic[7:0]b, inputlogic[7:0]c, inputlogic[7:0]d, outputlogic[7:0]out );// varlogic[7:0]mux0,mux1; mux2u1_mux0(sel[0],a,b,mux0); mux2u2_mux1(sel[0],c,d,mux1); mux2u3_mux2(sel[1],mux0,mux1,out); endmodule
![31346632-be40-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/08/wKgZomTncjyAI-26AAFKyM4cJgg003.png)
點擊Submit,等待一會就能看到下圖結果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。
這一題就結束了。
Problem 161-Bugs_addsubz
題目說明
繼續找BUG
圖片來自HDLBits
模塊端口聲明
moduletop_module( inputdo_sub, input[7:0]a, input[7:0]b, outputreg[7:0]out, outputregresult_is_zero );
題目解析
out條件舉例不足。
moduletop_module( inputlogicdo_sub, inputlogic[7:0]a, inputlogic[7:0]b, outputlogic[7:0]out, outputlogicresult_is_zero ); always_combbegin case(do_sub) 0:out=a+b; 1:out=a-b; endcase if(out==8'd0)begin result_is_zero=1; end elsebegin result_is_zero=0; end end endmodule
![31658fc8-be40-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/08/wKgZomTncj2AJSD_AAFlKvTC23c993.png)
點擊Submit,等待一會就能看到下圖結果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。
這一題就結束了。
Problem 162-Bugs_case
題目說明
這個組合電路應該識別鍵 0 到 9 的 8 位鍵盤掃描碼。它應該指示是否識別了 10 種情況中的一種(valid),如果是,則檢測到哪個鍵。修復錯誤。
模塊端口聲明
moduletop_module( input[7:0]code, outputreg[3:0]out, outputregvalid=1);
題目解析
信號定義時不能賦值,case最后一個選項位寬不對。
moduletop_module( inputlogic[7:0]code, outputlogic[3:0]out, outputlogicvalid);// always_combbegin out=4'd0; valid=1'd1; case(code) 8'h45:out=4'd0; 8'h16:out=4'd1; 8'h1e:out=4'd2; 8'h26:out=4'd3; 8'h25:out=4'd4; 8'h2e:out=4'd5; 8'h36:out=4'd6; 8'h3d:out=4'd7; 8'h3e:out=4'd8; 8'h46:out=4'd9; default:valid=1'd0; endcase end endmodule
![319834dc-be40-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/08/wKgZomTncj2AOOpmAAGNBuq5HgA471.png)
點擊Submit,等待一會就能看到下圖結果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。
這一題就結束了。
審核編輯:劉清
-
多路復用器
+關注
關注
9文章
880瀏覽量
65379 -
與非門
+關注
關注
1文章
127瀏覽量
12832
原文標題:總結
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
用于視頻路由和多路復用系統的單路2:1模擬多路復用器
組合邏輯基礎之多路復用器設計
模擬開關和多路復用器的基礎參數
具有電荷泵的4位2選 1 FET 多路復用器/解復用器-74CB3Q3257_Q100
![具有電荷泵的4<b class='flag-5'>位</b><b class='flag-5'>2</b>選 <b class='flag-5'>1</b> FET <b class='flag-5'>多路復用器</b>/解<b class='flag-5'>復用器</b>-74CB3Q3257_Q100](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
具有電荷泵的4位2選 1 FET 多路復用器/解復用器-74CB3Q3257
![具有電荷泵的4<b class='flag-5'>位</b><b class='flag-5'>2</b>選 <b class='flag-5'>1</b> FET <b class='flag-5'>多路復用器</b>/解<b class='flag-5'>復用器</b>-74CB3Q3257](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TS3DV20812 2Gbps差分開關8位1:2多路復用器/解復用器數據表
![TS3DV20812 <b class='flag-5'>2</b>Gbps差分開關<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>1</b>:<b class='flag-5'>2</b><b class='flag-5'>多路復用器</b>/解<b class='flag-5'>復用器</b>數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論