1、D觸發(fā)器及代碼
D觸發(fā)器結(jié)構(gòu)如下圖所示,先有時(shí)鐘上升沿,然后才有D的值賦給Q,沒有上升沿Q值保持不變,時(shí)序邏輯在時(shí)鐘上升沿/下降沿后才變化
? ? ?
2、硬件設(shè)計(jì)思維
如下圖所示,一個(gè)always對應(yīng)一個(gè)D觸發(fā)器,一個(gè)信號,always,模塊就是一個(gè)元器件
如下圖所示,一個(gè)信號不能在多個(gè)always中設(shè)計(jì),一個(gè)信號在一個(gè)always
??
如下圖對比,左邊為軟件思維描述過程,右邊是硬件思維是描述功能,
硬件設(shè)計(jì)思路應(yīng)逐個(gè)定義好每個(gè)信號/元器件的功能,然后連接,根據(jù)每個(gè)信號的功能畫波形,來實(shí)現(xiàn)最終目標(biāo)
3、一個(gè)RTL用例設(shè)計(jì)
計(jì)數(shù)器用例,要求:當(dāng)收到en后,dout產(chǎn)生一個(gè)寬度為10個(gè)時(shí)鐘周期的高電平脈沖,信號示意如下,這是一個(gè)計(jì)數(shù)器用例,硬件設(shè)計(jì)步驟分解如下
第一步明確功能,確定信號真值表。
第二步畫出功能波形,通過Timegen繪制如下信號波形,詳細(xì)用法可閱讀軟件---TimeGen安裝與使用,本用例所有信號都是在時(shí)鐘上升沿過后進(jìn)行判斷的,下圖en是在clk第三個(gè)上升沿時(shí)完成判斷,記住先有時(shí)鐘再有信號。
第三步明確計(jì)數(shù)器結(jié)構(gòu),本設(shè)計(jì)計(jì)數(shù)器默認(rèn)都是從0開始計(jì)數(shù)
第四步明確計(jì)數(shù)器結(jié)構(gòu),確定設(shè)計(jì)中的加一及結(jié)束條件,代碼如下,下面代碼可作為計(jì)數(shù)器代碼通用模板
第五步定義特殊點(diǎn),編寫輸出信號變化情況,如下代碼
第六步完整性檢查
第七步編寫計(jì)數(shù)器代碼,見上述計(jì)數(shù)器代碼
第八步功能代碼,見上述輸出信號dout代碼,補(bǔ)全其它代碼
總結(jié)設(shè)計(jì),規(guī)范硬件設(shè)計(jì)思路,第一步-->第二步......,按照步驟實(shí)現(xiàn),檢查設(shè)計(jì)過程。本設(shè)計(jì)中首先畫出信號波形,接著確定計(jì)數(shù)器結(jié)構(gòu),接著確定計(jì)數(shù)器加一與結(jié)束條件,接著確定輸出信號變低,變高時(shí)間點(diǎn)及條件,最后寫計(jì)數(shù)器代碼,輸出信號代碼,接口定義。接下來會(huì)繼續(xù)介紹Verilog設(shè)計(jì)規(guī)范及對應(yīng)用例。
審核編輯:劉清
-
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2248瀏覽量
94181 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59626 -
D觸發(fā)器
+關(guān)注
關(guān)注
3文章
164瀏覽量
47793 -
時(shí)序邏輯電路
+關(guān)注
關(guān)注
2文章
94瀏覽量
16517 -
Verilog語言
+關(guān)注
關(guān)注
0文章
113瀏覽量
8196
原文標(biāo)題:RTL設(shè)計(jì)規(guī)范
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論