以下文章來源于郝旭帥電子設(shè)計(jì)團(tuán)隊(duì),作者郝旭帥
本篇主要討論vivado進(jìn)行仿真時(shí),GSR信號(hào)的理解和影響。
利用vivado進(jìn)行設(shè)計(jì)xilinx FPGA時(shí),寫完設(shè)計(jì)代碼和仿真代碼后,點(diǎn)擊run simulation(啟動(dòng)modelsim進(jìn)行仿真)。
除了能夠看到我們所寫的仿真代碼中的信號(hào)外,還會(huì)看到一個(gè)GSR信號(hào),前面等于1,在100ns左右變?yōu)?的虛線。

為什么會(huì)有這個(gè)信號(hào)?
vivado在啟動(dòng)仿真時(shí),會(huì)默認(rèn)添加一個(gè)文件:glbl。GSR信號(hào)就在這個(gè)當(dāng)中。
有什么影響嗎?
一般來說:在進(jìn)行仿真時(shí),都是直接將其刪除,或者直接選擇忽略他,并不影響任何東西。
那么這個(gè)信號(hào)的意義是什么呢?
感覺好像是無意義的。
有一天在進(jìn)行時(shí)序仿真時(shí),發(fā)現(xiàn)了一個(gè)bug。

上圖是一個(gè)時(shí)序邏輯(異步復(fù)位的寄存器)輸出的與門邏輯,在GSR為高電平期間,a和b都為高電平了,y應(yīng)該輸出高電平,但是并沒有。而在GSR為0期間,y輸出都是正常的。
那么感覺就有可能是GSR的問題。
找到時(shí)序仿真的文件,內(nèi)部是使用FPGA器件內(nèi)部的部件所組成的電路。(找到仿真庫,找到仿真所使用的文件)
注:后仿真使用的不是咱們所寫的verilog文件,而是經(jīng)過綜合之后的文件。

再次通過尋找?guī)煳募ㄔ趗nisims庫中),找到FDCE的文件內(nèi)部。
發(fā)現(xiàn)這個(gè)這個(gè)fdce是和GSR信號(hào)有關(guān)系的。


也就是說在GSR為高電平期間,輸出值一直是默認(rèn)值,不會(huì)隨著D信號(hào)的改變而改變。
那怎么辦呢?
要不然去修改GSR信號(hào)拉低的時(shí)間,要不然去推后我們仿真時(shí),信號(hào)有效的位置。
建議:我們做仿真(特別是時(shí)序仿真)時(shí),復(fù)位的時(shí)間大于100ns(給予有效信號(hào)的時(shí)間放到100ns之后)。
簡單解析GSR:FPGA內(nèi)部的一個(gè)全局復(fù)位信號(hào),用于強(qiáng)制寄存器狀態(tài)。
在 Vivado 仿真中,GSR 信號(hào)是理解設(shè)計(jì)初始化(時(shí)間零行為)和全局復(fù)位的核心。仿真器默認(rèn)會(huì)在 t=0 激活 GSR 一段時(shí)間,模擬 FPGA 配置完成后的硬件行為,將所有受控寄存器強(qiáng)制設(shè)置到它們的初始狀態(tài)。之后 GSR 釋放,用戶設(shè)計(jì)的邏輯(包括用戶復(fù)位信號(hào))才開始正常運(yùn)行。在波形中觀察 glbl.GSR 的時(shí)序以及寄存器在 t=0 附近的變化,是驗(yàn)證設(shè)計(jì)啟動(dòng)和復(fù)位行為是否符合預(yù)期的關(guān)鍵步驟。除非有特殊調(diào)試需求,一般不應(yīng)禁用或修改默認(rèn)的 GSR 仿真行為。
-
仿真
+關(guān)注
關(guān)注
52文章
4363瀏覽量
137425 -
信號(hào)
+關(guān)注
關(guān)注
11文章
2873瀏覽量
79438 -
Vivado
+關(guān)注
關(guān)注
19文章
844瀏覽量
70284
原文標(biāo)題:vivado進(jìn)行仿真時(shí),GSR信號(hào)的理解和影響
文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
使用Vivado Simulator運(yùn)行功能和時(shí)序仿真案例
FPGA開發(fā)Vivado的仿真設(shè)計(jì)案例分析
如何用Python實(shí)現(xiàn)Vivado和ModelSim仿真自動(dòng)化?
基于VB的GSR實(shí)時(shí)信號(hào)監(jiān)護(hù)系統(tǒng)
基于linux系統(tǒng)實(shí)現(xiàn)的vivado調(diào)用VCS仿真教程
Vivado軟件仿真DDS核的過程中應(yīng)該注意的問題
如何使用Vivado中的Synopsys VCS仿真器進(jìn)行仿真
Vivado 開發(fā)教程(四) 行為仿真
Vivado調(diào)用Questa Sim或ModelSim仿真小技巧
SpinalHDL運(yùn)行VCS+Vivado相關(guān)仿真
Vivado調(diào)用Modelsim仿真
Vivado設(shè)計(jì)套件用戶指南:邏輯仿真

vivado仿真時(shí)GSR信號(hào)的影響
評(píng)論