HDLBits (64) — 256至1多路復(fù)用器
2022-03-05 15:10 作者:僚機Wingplane | 我要投稿
本題鏈接:
https://hdlbits.01xz.net/wiki/Mux256to1
創(chuàng)建一個位寬為1的256比1的多路復(fù)用器。這256個輸入都被打包成一個256位的輸入向量。當(dāng) sel = 0時,選擇?in[0],當(dāng) sel = 1時,選擇 in[1],以此類推。
預(yù)期解決方案長度:大約1行。

題目
提示:
對于這么多選項,case 語句可能會未必有用。
向量指針可以是可變的,只要給仿真器計算所選位的寬度是常量。使用向量指針選擇向量的位將非常有用。

答案

當(dāng)位寬大于 1 時,wire 或 reg 即可聲明為向量的形式。Verilog 支持可變的向量域選擇,可以指定某一位或若干相鄰位,作為其他邏輯使用。
Verillog 還支持指定 bit 位后固定位寬的向量域選擇訪問。
[bit+: width]?: 從起始 bit 位開始遞增,位寬為 width。
[bit-: width]?: 從起始 bit 位開始遞減,位寬為 width。
對信號重新進行組合成新的向量時,需要借助大括號。
參考資料:
2.3 Verilog 數(shù)據(jù)類型?| 菜鳥教程:
https://www.runoob.com/w3cnote/verilog-data-type.html
標(biāo)簽: