對(duì)于寄存器,如果沒有明確指定其初始值,Vivado會(huì)根據(jù)其類型(FDCE/FDRE/FDPE/FDRE)設(shè)定合適的初始值。有些工程師喜歡使用復(fù)位信號(hào),對(duì)所有的寄存器進(jìn)行上電復(fù)位,使其在處理數(shù)據(jù)之前達(dá)到期望初始狀態(tài)。但這會(huì)有一個(gè)不利之處就是復(fù)位信號(hào)的扇出很大,從而消耗了大量的布線資源,甚至造成布線擁塞。那么能不能讓寄存器在上電之后不用通過復(fù)位就輸出期望值呢?答案是肯定的。
Xilinx也建議對(duì)于同步元件,最好設(shè)定其初始值。這里我們以最常用的寄存器為例。如果使用的是VHDL,可以采用下面的方法設(shè)定寄存器初始值,如下圖所示。

如果使用的是Verilog,可以采用下面的方法設(shè)定寄存器初始值,如下圖所示。

此外,對(duì)于Verilog,也可通過initial設(shè)定初始值,如下圖所示。

采用這種方法的好處是:綜合工具是支持的,這樣生成bit文件時(shí)這些初始值會(huì)被寫入配置文件中,上電即可生效,避免了使用復(fù)位造成的扇出過大;同時(shí)在仿真時(shí),也能跟實(shí)際業(yè)務(wù)相匹配。 為了驗(yàn)證這個(gè)方法是否生效,只需要打開綜合后的.dcp,找到相應(yīng)的寄存器,在其Property窗口中查看屬性INIT的值,如下圖所示。

編輯:jq
-
寄存器
+關(guān)注
關(guān)注
31文章
5609瀏覽量
130036 -
上電復(fù)位
+關(guān)注
關(guān)注
1文章
44瀏覽量
16186 -
init
+關(guān)注
關(guān)注
0文章
16瀏覽量
3697
原文標(biāo)題:如何設(shè)定寄存器的初始值?
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RDMA設(shè)計(jì)39:寄存器功能驗(yàn)證與分析
RDMA設(shè)計(jì)38:寄存器功能驗(yàn)證與分析
LAT1170+如何理解 RAMECC FAR 寄存器的值
智能顯示模塊怎么在顯示工程中給寄存器設(shè)置初始值?我想給變量一個(gè)上電的默認(rèn)值該如何設(shè)置?
智能顯示模塊怎么在顯示工程中給寄存器設(shè)置初始值?我想給變量一個(gè)上電的默認(rèn)值該如何設(shè)置?
【NCS隨筆】nRF54L15使用UICR寄存器保存數(shù)據(jù)
嵌入式系統(tǒng)必懂的 20 個(gè)寄存器
大彩講堂:VisualHMI-LUA教程-連續(xù)寫多個(gè)寄存器函數(shù)的應(yīng)用
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)32:寄存器功能驗(yàn)證與分析2
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)31: 寄存器功能驗(yàn)證與分析1
?SN74HCT595 8位移位寄存器技術(shù)解析與應(yīng)用指南
?TPIC6B595 8位功率移位寄存器技術(shù)文檔總結(jié)
使用寄存器點(diǎn)亮LED燈
如何用C語(yǔ)言操作寄存器——瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南(10)
教你們?cè)趺慈ピO(shè)定寄存器的初始值
評(píng)論