0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA設(shè)計小技巧(時鐘/性能/編程)

454398 ? 來源:FPGA技術(shù)聯(lián)盟 ? 作者:FPGA技術(shù)聯(lián)盟 ? 2020-12-11 10:26 ? 次閱讀

時鐘

選用全局時鐘緩沖區(qū)(BUFG)作為時鐘輸入信號,BUFG是最穩(wěn)定的時鐘輸入源,可以避免誤差。

只用一個時鐘沿來寄存數(shù)據(jù),使用時鐘的兩個沿是不可靠的,如果時鐘沿“漂移”,就會導(dǎo)致時序錯誤。

不要隨意將內(nèi)部信號作為時鐘,如門控時鐘和分頻時鐘,而要使用CLKDLL或者DCM產(chǎn)生的時鐘,或者可以通過建立時鐘使能或者DCM產(chǎn)生不同的時鐘信號。

FPGA盡量采取同步設(shè)計,也就是所有時鐘都是同一個源頭,如果使用兩個沒有相位關(guān)系的異步時鐘,必須要解決跨時鐘域問題。

性能篇

邏輯級的時延不要超過時序預(yù)算的百分之五十,否則會影響系統(tǒng)的運行頻率??梢酝ㄟ^分析時序報告中某個路徑的時序統(tǒng)計量來掌握系統(tǒng)的邏輯級時延。

對于關(guān)鍵的輸出選擇快速轉(zhuǎn)換速率,可以為LVCMOS和LVTTL電平選擇轉(zhuǎn)換速率來降低輸出時延。

如果設(shè)計允許增加延遲,可以對組合邏輯采用流水操作來提高性能。

利用四種全局約束來對設(shè)計進(jìn)行全局約束,周期、偏置、輸入/輸出,管腳到管腳。

I/O寄存器提供了最快的時鐘到輸入、輸出到時鐘的延時,對于輸入、輸出信號,管腳到寄存器、寄存器到管腳都不可以有組合邏輯存在,對于三態(tài)寄存器,必須低電平有效,才能被綜合到IOB當(dāng)中。

盡量使用IP核進(jìn)行設(shè)計,因為IP核都是針對FPGA器件進(jìn)行了優(yōu)化,性能更高。

編程

使用Case語句而不是if-then-else語句

復(fù)雜的if-then-else語句在綜合布局布線以后會生成優(yōu)先級譯碼邏輯,增加路徑上的時延。然而,case語句則綜合為并行邏輯,沒有時延。

有限狀態(tài)機(jī)盡量不要包含有算術(shù)邏輯、數(shù)據(jù)通路邏輯以及其它與狀態(tài)機(jī)不相關(guān)的組合邏輯;

狀態(tài)機(jī)編寫的時候,下一狀態(tài)邏輯和輸出譯碼邏輯必須放在獨立的進(jìn)程中或者always語句中,綜合工具在輸出和下一狀態(tài)邏輯之間不允許共享資源。

盡量使用一位編碼有限狀態(tài)機(jī);

使用不同風(fēng)格的計數(shù)器,二進(jìn)制計數(shù)器是非常慢的,可以考慮LFSR,Pre -scalar,Johnson.

代碼設(shè)計要按照功能塊劃分成不同的層次,層次化有助于設(shè)計更加容易讀懂,也容易調(diào)試和復(fù)用。

編輯:hfy
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600467
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA時序約束之衍生時鐘約束和時鐘分組約束

    FPGA設(shè)計中,時序約束對于電路性能和可靠性非常重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時序約束的主時鐘約束。
    發(fā)表于 06-12 17:29 ?2448次閱讀

    基于lmk03806的高性能編程時鐘發(fā)生器的設(shè)計與fpga實現(xiàn) 畢...

    我要做畢業(yè)設(shè)計 叫 基于lmk03806的高性能編程時鐘發(fā)生器的設(shè)計與fpga實現(xiàn),需要有protel 99se畫 lmk03806的原理圖和fp
    發(fā)表于 05-03 23:06

    時鐘IC怎么滿足高性能時序需求?

    時鐘設(shè)備設(shè)計使用 I2C 可編程小數(shù)鎖相環(huán) (PLL),可滿足高性能時序需求,這樣可以產(chǎn)生零 PPM(百萬分之一)合成誤差的頻率。高性能時鐘
    發(fā)表于 08-12 06:50

    FPGA時鐘是什么意思

    (08)FPGA時鐘概念1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA時鐘概念5)結(jié)語1.2
    發(fā)表于 02-23 07:26

    基于FPGA時鐘設(shè)計

    FPGA設(shè)計中,為了成功地操作,可靠的時鐘是非常關(guān)鍵的。設(shè)計不良的時鐘在極限的溫度、電壓下將導(dǎo)致錯誤的行為。在設(shè)計PLD/FPGA時通常采用如下四種類型
    發(fā)表于 09-21 18:38 ?3697次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>時鐘</b>設(shè)計

    如何滿足高性能時鐘IC需求

    時鐘設(shè)備設(shè)計使用I2C可編程小數(shù)鎖相環(huán)(PLL),可滿足高性能時序需求,這樣可以產(chǎn)生零PPM(百萬分之一)合成誤差的頻率。高性能時鐘IC具有
    的頭像 發(fā)表于 08-30 11:04 ?4562次閱讀
    如何滿足高<b class='flag-5'>性能</b><b class='flag-5'>時鐘</b>IC需求

    (10)FPGA時鐘域處理

    (10)FPGA時鐘域處理1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA時鐘域處理5)結(jié)語1.2
    發(fā)表于 12-29 19:40 ?7次下載
    (10)<b class='flag-5'>FPGA</b>跨<b class='flag-5'>時鐘</b>域處理

    (08)FPGA時鐘概念

    (08)FPGA時鐘概念1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA時鐘概念5)結(jié)語1.2
    發(fā)表于 12-29 19:41 ?2次下載
    (08)<b class='flag-5'>FPGA</b><b class='flag-5'>時鐘</b>概念

    (12)FPGA時鐘設(shè)計原則

    (12)FPGA時鐘設(shè)計原則1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA時鐘設(shè)計原則5)結(jié)語1.2
    發(fā)表于 12-29 19:41 ?17次下載
    (12)<b class='flag-5'>FPGA</b><b class='flag-5'>時鐘</b>設(shè)計原則

    (29)FPGA原語設(shè)計(差分時鐘轉(zhuǎn)單端時鐘

    (29)FPGA原語設(shè)計(差分時鐘轉(zhuǎn)單端時鐘)1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA原語設(shè)計(差分
    發(fā)表于 12-29 19:41 ?5次下載
    (29)<b class='flag-5'>FPGA</b>原語設(shè)計(差分<b class='flag-5'>時鐘</b>轉(zhuǎn)單端<b class='flag-5'>時鐘</b>)

    (30)FPGA原語設(shè)計(單端時鐘轉(zhuǎn)差分時鐘

    (30)FPGA原語設(shè)計(單端時鐘轉(zhuǎn)差分時鐘)1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA原語設(shè)計(單端
    發(fā)表于 12-29 19:41 ?10次下載
    (30)<b class='flag-5'>FPGA</b>原語設(shè)計(單端<b class='flag-5'>時鐘</b>轉(zhuǎn)差分<b class='flag-5'>時鐘</b>)

    性能時鐘有哪些特點 Xilinx 7系列時鐘管理技術(shù)解析

      業(yè)界高端FPGA的卓越性能和高口碑聲譽都有哪些因素了?其中很重要的一個因素就是FPGA內(nèi)部豐富的時鐘資源使得FPGA在處理復(fù)雜
    發(fā)表于 08-31 10:44 ?789次閱讀

    FPGA為什么有時候還需要一個時鐘配置芯片提供時鐘呢?

    FPGA為什么有時候還需要一個時鐘配置芯片提供時鐘呢? FPGA(Field Programmable Gate Array)是一種可編程
    的頭像 發(fā)表于 10-25 15:14 ?1538次閱讀

    FPGA輸入的時鐘信號必須是方波么?正弦波會有影響么?

    FPGA輸入的時鐘信號必須是方波么?正弦波會有影響么? FPGA是一種可編程邏輯器件,通常用于實現(xiàn)數(shù)字電路。輸入時鐘信號是
    的頭像 發(fā)表于 01-31 11:31 ?3013次閱讀

    FPGA如何消除時鐘抖動

    FPGA(現(xiàn)場可編程門陣列)設(shè)計中,消除時鐘抖動是一個關(guān)鍵任務(wù),因為時鐘抖動會直接影響系統(tǒng)的時序性能、穩(wěn)定性和可靠性。以下將詳細(xì)闡述
    的頭像 發(fā)表于 08-19 17:58 ?685次閱讀