Verilog基礎(chǔ)之一、觸發(fā)器實(shí)現(xiàn)
一、觸發(fā)器簡(jiǎn)介
????1.1 觸發(fā)器作用
????觸發(fā)器是工程中基礎(chǔ)的單元結(jié)構(gòu)也是相當(dāng)重要的組成,時(shí)序電路的實(shí)現(xiàn)離不開觸發(fā)器。觸發(fā)器是具有存儲(chǔ)功能的器件,時(shí)鐘脈沖的邊沿觸發(fā)狀態(tài)改變。通常,觸發(fā)器可分為D觸發(fā)器,T觸發(fā)器,JK觸發(fā)器等。
?????1.2 觸發(fā)器信號(hào)
????觸發(fā)器的輸入信號(hào)分為兩類:數(shù)據(jù)信號(hào),控制信號(hào),控制信號(hào)包括時(shí)鐘信號(hào),異步或同步置位/復(fù)位信號(hào),時(shí)鐘使能信號(hào)。
????1.3 使用規(guī)范
????在使用觸發(fā)器時(shí),根據(jù)以往的經(jīng)驗(yàn),有一些盡量避免的使用規(guī)范,遵循這些規(guī)范可以避免很多問題。
????a. 不要使用異步置位/復(fù)位寄存器
????b. 觸發(fā)器中不要同時(shí)存在置位和復(fù)位信號(hào)
????c. 避免單獨(dú)的置位/復(fù)位邏輯,盡量使用全局復(fù)位可以在更少的資源下達(dá)到想要的效果
????d.時(shí)鐘使能信號(hào),置位/復(fù)位信號(hào)使用高電平生效,如果低電平有效,則需要一個(gè)反相器,這將會(huì)降低電路性能。
????1.4 Vivado綜合觸發(fā)器
????Vivado會(huì)根據(jù)設(shè)計(jì)綜合出觸發(fā)器,綜合出的觸發(fā)器有4類D觸發(fā)器,F(xiàn)DCE,F(xiàn)DPE,F(xiàn)DSE和FDRE。
FDCE:具有時(shí)鐘使能和異步清零
FDPE:具有時(shí)鐘使能和異步置位
FDSE:具有時(shí)鐘使能和同步置位
FDRE:具有時(shí)鐘使能和同步復(fù)位
????在vivado的綜合報(bào)告中可以查看設(shè)計(jì)中使用的寄存器數(shù)目,但有時(shí)會(huì)出現(xiàn)統(tǒng)計(jì)的數(shù)目和實(shí)際使用的數(shù)目不一致,主要是有以下3個(gè)原因的影響

a.有一部分寄存器被吸收進(jìn)入到DSP塊或塊狀RAM中
b.存在寄存器復(fù)制
c.無輸入的寄存器或者作用相同的寄存器被移除了
二、代碼實(shí)現(xiàn)
代碼中包含了四個(gè)寄存器fdce,fdpe,fdse,fdre,對(duì)應(yīng)vivado所能綜合的四種寄存器類型。
? ?
三、綜合結(jié)果
上述代碼綜合結(jié)果如下圖,四個(gè)觸發(fā)器的實(shí)現(xiàn)類型符合預(yù)期,分別為FDCE,FDPE,FDRE,FDSE

????