1、D觸發(fā)器及代碼
D觸發(fā)器結(jié)構(gòu)如下圖所示,先有時鐘上升沿,然后才有D的值賦給Q,沒有上升沿Q值保持不變,時序邏輯在時鐘上升沿/下降沿后才變化
? ? ?
2、硬件設(shè)計思維
如下圖所示,一個always對應一個D觸發(fā)器,一個信號,always,模塊就是一個元器件
如下圖所示,一個信號不能在多個always中設(shè)計,一個信號在一個always
??
如下圖對比,左邊為軟件思維描述過程,右邊是硬件思維是描述功能,
硬件設(shè)計思路應逐個定義好每個信號/元器件的功能,然后連接,根據(jù)每個信號的功能畫波形,來實現(xiàn)最終目標
3、一個RTL用例設(shè)計
計數(shù)器用例,要求:當收到en后,dout產(chǎn)生一個寬度為10個時鐘周期的高電平脈沖,信號示意如下,這是一個計數(shù)器用例,硬件設(shè)計步驟分解如下
第一步明確功能,確定信號真值表。
第二步畫出功能波形,通過Timegen繪制如下信號波形,詳細用法可閱讀軟件---TimeGen安裝與使用,本用例所有信號都是在時鐘上升沿過后進行判斷的,下圖en是在clk第三個上升沿時完成判斷,記住先有時鐘再有信號。
第三步明確計數(shù)器結(jié)構(gòu),本設(shè)計計數(shù)器默認都是從0開始計數(shù)
第四步明確計數(shù)器結(jié)構(gòu),確定設(shè)計中的加一及結(jié)束條件,代碼如下,下面代碼可作為計數(shù)器代碼通用模板
第五步定義特殊點,編寫輸出信號變化情況,如下代碼
第六步完整性檢查
第七步編寫計數(shù)器代碼,見上述計數(shù)器代碼
第八步功能代碼,見上述輸出信號dout代碼,補全其它代碼
總結(jié)設(shè)計,規(guī)范硬件設(shè)計思路,第一步-->第二步......,按照步驟實現(xiàn),檢查設(shè)計過程。本設(shè)計中首先畫出信號波形,接著確定計數(shù)器結(jié)構(gòu),接著確定計數(shù)器加一與結(jié)束條件,接著確定輸出信號變低,變高時間點及條件,最后寫計數(shù)器代碼,輸出信號代碼,接口定義。接下來會繼續(xù)介紹Verilog設(shè)計規(guī)范及對應用例。
審核編輯:劉清
-
計數(shù)器
+關(guān)注
關(guān)注
32文章
2276瀏覽量
95048 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59969 -
D觸發(fā)器
+關(guān)注
關(guān)注
3文章
164瀏覽量
48032 -
時序邏輯電路
+關(guān)注
關(guān)注
2文章
94瀏覽量
16595 -
Verilog語言
+關(guān)注
關(guān)注
0文章
113瀏覽量
8310
原文標題:RTL設(shè)計規(guī)范
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
在SpinalHDL的設(shè)計中集成現(xiàn)有RTL設(shè)計(IP)的渠道——BlackBox
RTL8139C RTL8139C-LF RTL8139CL RTL8139CL-LF
![<b class='flag-5'>RTL</b>8139C <b class='flag-5'>RTL</b>8139C-LF <b class='flag-5'>RTL</b>8139CL <b class='flag-5'>RTL</b>8139CL-LF](https://file.elecfans.com/web2/M00/4A/23/pYYBAGKhvJ-ADaybAAAj5dC06RU860.png)
RTL8197D RTL8367RB RTL8192ER RTL8812AR應用參考原理圖pdf
RTL8188和RTL8192吞吐量網(wǎng)卡驅(qū)動的開發(fā)工具合集(軟件程序介紹)等
RTL8111E和RTL8105E網(wǎng)卡驅(qū)動芯片的電路原理圖
![<b class='flag-5'>RTL</b>8111E和<b class='flag-5'>RTL</b>8105E網(wǎng)卡驅(qū)動芯片的電路原理圖](https://file.elecfans.com/web1/M00/B2/EE/o4YBAF4X4QyAF5HyAAHB-Ilec8w919.png)
評論