數(shù)字電路設(shè)計(jì)之需要注意的幾個(gè)點(diǎn)
這是一個(gè)在邏輯設(shè)計(jì)中注意事項(xiàng)列表,由此引起的錯(cuò)誤常使得設(shè)計(jì)不可靠或速度較慢,為了提高設(shè)計(jì)性能和提高速度的可靠性,必須確定設(shè)計(jì)通過(guò)所有的這些檢查。
可靠性
1.為時(shí)鐘信號(hào)選用全局時(shí)鐘緩沖器BUFG!
不選用全局時(shí)鐘緩沖器的時(shí)鐘將會(huì)引入偏差。
2.只用一個(gè)時(shí)鐘沿來(lái)寄存數(shù)據(jù)
使用時(shí)鐘的兩個(gè)沿是不可靠的,因?yàn)闀r(shí)鐘的某沿或者兩個(gè)沿會(huì)漂移。如果時(shí)鐘有漂移而且你只使用了時(shí)鐘的一個(gè)沿,你就降低了時(shí)鐘邊沿漂移的風(fēng)險(xiǎn)。這個(gè)問(wèn)題可以這樣來(lái)解決:就是允許CLKDLL自動(dòng)糾正時(shí)鐘的占空比,以達(dá)百分之五十的占空比。否則強(qiáng)烈建議只使用一個(gè)時(shí)鐘沿。
3.除了用CLKDLL或DCM產(chǎn)生的時(shí)鐘外不要在內(nèi)部產(chǎn)生時(shí)鐘
這包括產(chǎn)生門控時(shí)鐘和分頻時(shí)鐘。作為替代,可以建立時(shí)鐘使能或使用CLKDLL或DCM來(lái)產(chǎn)生不同的時(shí)鐘信號(hào)。對(duì)于一個(gè)純同步設(shè)計(jì),建議在任何可能的情況下只使用一個(gè)時(shí)鐘。
4.不要在內(nèi)部產(chǎn)生異步的控制信號(hào)(例如復(fù)位信號(hào)或者置位信號(hào))
內(nèi)部產(chǎn)生的異步控制信號(hào)會(huì)產(chǎn)生毛刺,作為替代,可以產(chǎn)生一個(gè)同步的復(fù)位/置位信號(hào)。要比需要作用的時(shí)刻提前一個(gè)時(shí)鐘周期進(jìn)行這個(gè)異步信號(hào)的同步。
5.不要使用沒(méi)有相位關(guān)系的多個(gè)時(shí)鐘
也許并不總能避免這個(gè)條件,在這些情況下確定已使用了適當(dāng)?shù)耐诫娐穪?lái)跨越時(shí)鐘域,并已適當(dāng)?shù)丶s束了跨越時(shí)鐘域的路徑。
6.不要使用內(nèi)部鎖存器
內(nèi)部鎖存器會(huì)混淆時(shí)序,而且常常會(huì)引入另外的時(shí)鐘信號(hào)。內(nèi)部鎖存器在透明門打開時(shí)可以被看成是組合邏輯,但在門被鎖存時(shí)可以被看成是同步元件,這將會(huì)混淆時(shí)序分析。內(nèi)部鎖存器常常會(huì)引入門控時(shí)鐘,門控時(shí)鐘會(huì)產(chǎn)生毛刺使得設(shè)計(jì)變得不可靠。
性能
1.邏輯級(jí)的時(shí)延不要超過(guò)時(shí)序預(yù)算的百分之五十
每個(gè)路徑邏輯級(jí)時(shí)延可以在邏輯級(jí)時(shí)序報(bào)告或布局后時(shí)序報(bào)告中找到,詳細(xì)分析了每個(gè)路徑之后,時(shí)序分析器將生成每個(gè)路徑時(shí)延的統(tǒng)計(jì)量,檢查一下總共的邏輯級(jí)時(shí)延,確保不超過(guò)時(shí)序預(yù)算的百分之五十。
2.IOB寄存器
IOB寄存器提供了最快的時(shí)鐘到輸出和輸入到時(shí)鐘的時(shí)延。首先,有一些限制。
對(duì)于輸入寄存器在從管腳到寄存器間不能有組合邏輯存在。對(duì)于輸出寄存器,在寄存器和管腳之間也不能有組合邏輯存在。對(duì)于三態(tài)輸出,在IOB中的所有的寄存器必須使用同一個(gè)時(shí)鐘信號(hào)和復(fù)位信號(hào),而且IOB三態(tài)寄存器必須低電平有效才能放到IOB中(三態(tài)緩沖器低電平有效,所以在寄存器和三態(tài)緩沖器之間不需要一個(gè)反相器)。
必須使軟件能夠選用IOB寄存器,可以設(shè)置全局實(shí)現(xiàn)選項(xiàng):為輸入、輸出或輸入輸出選擇IOB寄存器。缺省值為關(guān)off。
你也可在綜合工具或在用戶約束文件UCF中設(shè)定,使得能夠使用IOB寄存器。句法為:INSTIOB=TRUE;
3.對(duì)于關(guān)鍵的輸出選擇快速轉(zhuǎn)換速率
可以為L(zhǎng)VCMOS和LVTTL電平選擇轉(zhuǎn)換速率,快速的轉(zhuǎn)換速率會(huì)降低輸出時(shí)延,但會(huì)增加地彈,所以必須在仔細(xì)考慮的基礎(chǔ)之上選擇快速轉(zhuǎn)換速率。
4.流水邏輯
如果你的設(shè)計(jì)允許增加延遲,對(duì)組合邏輯采用流水操作可以提高性能。在Xilinx的FPGA中有大量的寄存器,對(duì)每一個(gè)四輸入LUT有一個(gè)對(duì)應(yīng)的寄存器,在犧牲延遲的情況下,利用這些寄存器可以增加數(shù)據(jù)吞吐量。
5.為四輸入的LUT結(jié)構(gòu)進(jìn)行代碼優(yōu)化
記住每一個(gè)查找表可以建立一個(gè)四輸入的組合邏輯函數(shù)。如果需要更大的功能,可根據(jù)“四輸入組合邏輯”這個(gè)特性,分析、優(yōu)化實(shí)現(xiàn)該功能所需的查找表的數(shù)目。
6.使用Case語(yǔ)句而不是if-then-else語(yǔ)句
復(fù)雜的if-then-else語(yǔ)句通常會(huì)生成優(yōu)先級(jí)譯碼邏輯,這將會(huì)增加這些路徑上的組合時(shí)延(現(xiàn)在大部分綜合工具,可以把if-else的優(yōu)先級(jí)邏輯層次打平)。用來(lái)產(chǎn)生復(fù)雜邏輯的Case語(yǔ)句通常會(huì)生成不會(huì)有太多時(shí)延的并行邏輯。對(duì)于Verilog,可以使用約束parallel_case。
7.多用Xilinx自帶Coregenerate
Coregenerate針對(duì)Xilinx的結(jié)構(gòu)進(jìn)行了優(yōu)化,許多塊都可以允許用戶配置,包括大小、寬度和流水延遲。查看設(shè)計(jì)中的關(guān)鍵路徑,是否可以在核生成器中產(chǎn)生一個(gè)核來(lái)提高關(guān)鍵路徑性能。避免由代碼來(lái)推斷,又麻煩,又不可靠。
8.FSM的設(shè)計(jì)限制在一個(gè)層次中
為了允許綜合工具完全優(yōu)化FSM,它必須在它自己的塊中優(yōu)化。如果不是這樣的話,這將使得綜合工具將FSM邏輯和它周圍的邏輯一起優(yōu)化。FSM不能包括任何的算術(shù)邏輯、數(shù)據(jù)通路邏輯或者其它與狀態(tài)機(jī)不相關(guān)的組合邏輯。
9.使用兩個(gè)進(jìn)程或always塊的有限狀態(tài)機(jī)
下一個(gè)狀態(tài)和輸出譯碼邏輯必須放在獨(dú)立的進(jìn)程或always塊中,這將不允許綜合工具在輸出和下一個(gè)狀態(tài)譯碼邏輯之間共享資源。便于代碼維護(hù)。
10.使用一位有效編碼(one-hot、gray)FSM
一位有效編碼通常會(huì)在富含寄存器的FPGA中提供最高性能的狀態(tài)機(jī)。
11.為每一個(gè)葉級(jí)(leaf-level)塊提供寄存輸出
葉級(jí)塊是可以推論的邏輯塊,而結(jié)構(gòu)級(jí)(structural-level)的塊僅例化較底層的塊,這樣就建立了層次。如果葉級(jí)塊是寄存輸出,則可使綜合工具保留層次。這可使分析這些代碼的靜態(tài)時(shí)序變得比較容易。對(duì)module與module之間的邊界信號(hào)(用時(shí)鐘同步)進(jìn)行寄存輸出,可以使得各個(gè)塊之間有確定的同步時(shí)序關(guān)系。
12.不同的計(jì)數(shù)器風(fēng)格
二進(jìn)制計(jì)數(shù)器是非常慢的。如果二進(jìn)制計(jì)數(shù)器是關(guān)鍵路徑,可以考慮使用不同風(fēng)格的計(jì)數(shù)器LFSR、Pre-scalar或Johnson。
13.設(shè)計(jì)必須被層次化的分成不同的功能塊
首先是較頂層的功能塊,然后是較底層的塊,也應(yīng)該包括特定技術(shù)的塊。設(shè)計(jì)層次化使得設(shè)計(jì)更可讀、更易調(diào)試、更易復(fù)用。
14.高扇出網(wǎng)絡(luò)需要復(fù)制寄存器
可以通過(guò)XST或者synplifypro等綜合工具的綜合選項(xiàng)來(lái)進(jìn)行控制。
15.利用四種全局約束來(lái)對(duì)設(shè)計(jì)進(jìn)行全局的約束
周期(對(duì)每個(gè)時(shí)鐘),輸入偏移、輸出偏移、管腳到管腳的時(shí)間。也許會(huì)有針對(duì)多周期路徑、失敗路徑和關(guān)鍵路徑的其它約束,但是必須從這四個(gè)全局約束開始。
關(guān)鍵詞: 數(shù)字電路
您可能也感興趣:
今日熱點(diǎn)
為您推薦
貸款370萬(wàn)元買保險(xiǎn)?消費(fèi)者需當(dāng)心有人盯上你的保單
湖北省棉花“保險(xiǎn)+期貨”項(xiàng)目落地三縣市 5萬(wàn)棉農(nóng)將成為受益者
更多
- Stellantis集團(tuán)和高通合作利用驍龍數(shù)字底盤賦能全新汽車平臺(tái)
- Leatherman多功能工具迎來(lái)獨(dú)特的緊湊型Volty Bit直流電測(cè)試儀配件
- e絡(luò)盟現(xiàn)貨發(fā)售Bourns獲獎(jiǎng)產(chǎn)品IsoMOV?保護(hù)器
- 貿(mào)澤電子開售英飛凌XENSIV PAS CO2傳感器 節(jié)省75%占板空間
- 是德科技入選《財(cái)富》100 家最適宜工作的公司榜單
- 面向新一代數(shù)據(jù)中心,聯(lián)想凌拓發(fā)布全自研聯(lián)想ThinkSystem DX...
- 三星電機(jī)開發(fā)出13種適用于汽車動(dòng)力系統(tǒng)的MLCC
- 意法半導(dǎo)體推出下一代衛(wèi)星用2.5V抗輻射加固數(shù)模轉(zhuǎn)換器
更多
- 常熟城投4月25日對(duì)“21常熟01”付息,每手派36.9元
- 鄒城城資20億元私募債券項(xiàng)目狀態(tài)更新為“已反饋”
- 全球債券反彈 多國(guó)央行大力升息提振市場(chǎng)對(duì)壓制通脹的信心
- (經(jīng)濟(jì))歐洲央行維持三大關(guān)鍵利率不變
- 多家央行加息預(yù)期落地 全球國(guó)債迎反彈
- 重要變量來(lái)臨,中美利差簾見倒掛,本月降息或落空?
- 美國(guó)3月進(jìn)口價(jià)格指數(shù)環(huán)比 2.6%,預(yù)期 2.3%,前值 1.4%。
- 香港:政府重啟綠色零售債券認(rèn)購(gòu)安排,早前因疫情而延期發(fā)行
排行
最近更新
- 數(shù)字電路設(shè)計(jì)之需要注意的幾個(gè)點(diǎn)
- 變壓器常見參數(shù)總匯
- 功率放大電路用途詳解
- 變壓器工作原理
- 蓄電池容量的計(jì)算方法
- 如何識(shí)別串聯(lián)電路和并聯(lián)電路
- IP協(xié)議是什么
- 全國(guó)腫瘤防治宣傳周啟動(dòng) 切實(shí)降低癌癥帶來(lái)的疾病負(fù)擔(dān)
- 盲目給孩子補(bǔ)充營(yíng)養(yǎng)不可取 將嚴(yán)重影響到孩子的成年身高
- 傳統(tǒng)車企新能源銷量大幅增長(zhǎng) 新能源車市場(chǎng)滲透率逐步提升
- 渝湘高鐵重慶至黔江段全線首座雙線大橋梁體全部完成
- 龍頭企業(yè)達(dá)成戰(zhàn)略合作 助力數(shù)字化人才培養(yǎng)
- 工行邢臺(tái)任縣支行普惠貸款大幅提升促業(yè)務(wù)新發(fā)展
- 全民國(guó)家安全教育日 | 網(wǎng)絡(luò)安全小常識(shí)
- 我科學(xué)家采用冷凍電鏡技術(shù)研發(fā)出高性能合金材料 相關(guān)研究成果...
- 春韭
- 4·15全民國(guó)家安全教育日丨解讀《境外非政府組織境內(nèi)活動(dòng)管理法》
- 從“在場(chǎng)”到在線,遠(yuǎn)程辦公正在改變工作模式
- 打擊治理跨境賭博|外匯局通報(bào)!10起違規(guī)案例→
- 山西清徐農(nóng)商銀行加快網(wǎng)點(diǎn)轉(zhuǎn)型發(fā)展
- 49毫克嫦娥五號(hào)所攜月球樣品將在海南展出
- 415全民國(guó)家安全教育日丨國(guó)家安全 人人有責(zé)
- Stellantis集團(tuán)和高通合作利用驍龍數(shù)字底盤賦能全新汽車平臺(tái)
- 唐山農(nóng)商銀行古冶支行召開2022年度工作會(huì)議
- 甘肅:培養(yǎng)企業(yè)科技人才助力“強(qiáng)科技”行動(dòng)
- 郵儲(chǔ)銀行廊坊分行全力保障三農(nóng)金融服務(wù)
- Leatherman多功能工具迎來(lái)獨(dú)特的緊湊型Volty Bit直流電測(cè)試儀配件
- 獨(dú)山子石化:打造煉化領(lǐng)域中國(guó)“智”造
- 江津區(qū)朱楊鎮(zhèn)人大代表精彩度過(guò)第十九個(gè)“代表活動(dòng)日”
- 郵儲(chǔ)銀行廊坊分行助力企業(yè)攻堅(jiān)克難