HDLBits (112) — 32位線性移位反饋寄存器
本題鏈接:
https://hdlbits.01xz.net/wiki/Lfsr32
相關(guān)解釋,請(qǐng)參見(jiàn)Lfsr5。
構(gòu)建一個(gè)32位Galois LFSR,在位位置32處、22處、2處和1處使用開(kāi)關(guān)。

題目
提示:
這個(gè)長(zhǎng)度足以讓你認(rèn)為使用向量比起實(shí)例化32個(gè)DFF更加合適。

答案

向量
當(dāng)位寬大于 1 時(shí),wire 或 reg 即可聲明為向量的形式。Verilog 支持可變的向量域選擇,
Verillog 還支持指定 bit 位后固定位寬的向量域選擇訪問(wèn)。
[bit+: width]?: 從起始 bit 位開(kāi)始遞增,位寬為 width。
[bit-: width]?: 從起始 bit 位開(kāi)始遞減,位寬為 width。
對(duì)信號(hào)重新進(jìn)行組合成新的向量時(shí),需要借助大括號(hào)。
異步復(fù)位
異步復(fù)位是指無(wú)論時(shí)鐘到來(lái)與否,只要復(fù)位信號(hào)有效,電路就會(huì)執(zhí)行復(fù)位操作。
異步復(fù)位常常會(huì)被綜合成如下電路:

異步復(fù)位的優(yōu)點(diǎn):大多數(shù)觸發(fā)器單元有異步復(fù)位端,不會(huì)占用額外的邏輯資源。且異步復(fù)位信號(hào)不經(jīng)過(guò)處理直接引用,設(shè)計(jì)相對(duì)簡(jiǎn)單,信號(hào)識(shí)別快速方便。
異步復(fù)位的缺點(diǎn):復(fù)位信號(hào)與時(shí)鐘信號(hào)無(wú)確定的時(shí)序關(guān)系,異步復(fù)位很容易引起時(shí)序上 removal 和 recovery 的不滿足。且異步復(fù)位容易受到毛刺的干擾,產(chǎn)生意外的復(fù)位操作。
參考內(nèi)容:
?2.3 Verilog 數(shù)據(jù)類型?| 菜鳥教程:
https://www.runoob.com/w3cnote/verilog-data-type.html
5.1 Verilog 復(fù)位簡(jiǎn)介 | 菜鳥教程:
https://www.runoob.com/w3cnote/verilog2-reset.html