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

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

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

為FPGA設(shè)計(jì)添加復(fù)位功能的注意事項(xiàng)

FPGA設(shè)計(jì)論壇 ? 來源:未知 ? 2023-05-25 00:30 ? 次閱讀

本文將探討在FPGA設(shè)計(jì)中添加復(fù)位輸入的一些后果。

本文將回顧使用復(fù)位輸入對給定功能進(jìn)行編碼的一些基本注意事項(xiàng)。設(shè)計(jì)人員可能會忽略使用復(fù)位輸入的后果,但不正確的復(fù)位策略很容易造成重罰。復(fù)位功能會對 FPGA 設(shè)計(jì)的速度、面積和功耗產(chǎn)生不利影響。

在繼續(xù)我們的討論之前,有必要強(qiáng)調(diào)一個基本原則:FPGA 是可編程設(shè)備,但這并不意味著我們可以對FPGA 中的每個功能進(jìn)行編程。這一基本原則將在本文的其余部分進(jìn)一步闡明。

在添加復(fù)位輸入之前仔細(xì)閱讀詳細(xì)信息

圖 1 顯示了Xilinx7 系列 FPGA 中可用的 D 型觸發(fā)器(DFF)。

圖 1. Xilinx 7 系列 FPGA 的 FDRE D 型觸發(fā)器。圖片由賽靈思提供。

這種具有同步復(fù)位 (R) 和時鐘啟用 (CE) 輸入的特定 DFF在 Xilinx 庫指南中稱為 FDRE ( F觸發(fā)器,D型,同步復(fù)位,時鐘啟用)。該元素的邏輯表如圖 2 所示。

圖 2. Xilinx 7 系列 FPGA 的 FDRE D 型觸發(fā)器的邏輯表。圖片由賽靈思提供。

其中,R、CE、D、C為DFF的輸入端,分別代表復(fù)位、時鐘使能、數(shù)據(jù)輸入和時鐘。X代表“don't-care”,↑代表時鐘上升沿。復(fù)位是同步的,因?yàn)樗荒茉跁r鐘的上升沿復(fù)位輸出。

這個 DFF 是一個設(shè)計(jì)元素,可以用作更大設(shè)計(jì)的構(gòu)建塊。我們可以用它來注冊一個想要的信號。而且,我們可以根據(jù)需要自由使用 FDRE 的復(fù)位和時鐘使能輸入。

我們可以選擇是否要使用構(gòu)建塊的可用功能。但是,我們不能向給定的構(gòu)建塊添加不受支持的功能。例如,考慮上面討論的 FDRE 元素。此設(shè)計(jì)元素僅支持同步復(fù)位。如果我們同時需要異步和同步復(fù)位,我們將無法使用 FDRE 觸發(fā)器。在這種情況下,綜合工具將不得不使用其他資源,或者它甚至可能求助于使用可用構(gòu)建塊的組合來實(shí)現(xiàn)所需的設(shè)計(jì)。如您所見,F(xiàn)PGA 的低級特性是固定的,但是一旦配置了這些設(shè)計(jì)元素,我們就可以按照我們想要的方式將它們連接在一起并構(gòu)建更大的設(shè)計(jì)。

作為 FPGA 粒度如何影響實(shí)現(xiàn)的一個更微妙的例子,請注意,根據(jù)上面的邏輯表,F(xiàn)DRE 的復(fù)位 (R) 輸入相對于時鐘使能 (CE) 輸入具有更高的優(yōu)先級(注意表的行表示當(dāng) R 為 1 時,CE 無關(guān))?,F(xiàn)在,假設(shè)我們的 HDL 代碼使用具有復(fù)位和時鐘使能輸入的 DFF。而且,HDL 描述賦予 CE 輸入更高的優(yōu)先級,而不是 R 輸入。同樣在這種情況下,綜合工具將不得不使用 FDRE 以外的資源,或者它必須使用可用構(gòu)建塊的組合來實(shí)現(xiàn)所需的功能。有關(guān)此示例的更多詳細(xì)信息,請參閱Xilinx 白皮書。

上面的討論表明,要獲得高效的設(shè)計(jì),我們必須仔細(xì)研究 FPGA 設(shè)計(jì)元素的細(xì)節(jié),就像我們在使用分立元件之前研究其數(shù)據(jù)表一樣。在本文的其余部分,您將看到此原則的一些其他示例。

移位寄存器查找表 (SRL16)

Xilinx 綜合工具可以實(shí)現(xiàn)基于 LUT 的移位寄存器,比簡單地級聯(lián)一些 DFF 得到的結(jié)構(gòu)更緊湊、更快。這些稱為 SRL 的高效移位寄存器不支持復(fù)位輸入。這就是為什么,如果您的移位寄存器真的不需要復(fù)位,您應(yīng)該避免它,以便允許綜合工具為移位寄存器推斷一個有效的基于 SRL 的實(shí)現(xiàn)。如果您的代碼描述了一個具有復(fù)位功能的移位寄存器,XST將使用 DFF 實(shí)現(xiàn)設(shè)計(jì),或者它將使用一些圍繞 SRL 的額外邏輯來實(shí)現(xiàn)復(fù)位功能。SRL 可以從簡單的串聯(lián)運(yùn)算符中推斷出來(請參閱XST 用戶指南第 154 頁)。

RAM

與 SRL 的情況類似,我們無法使用顯式重置來重置塊 RAM 的內(nèi)容。這就是為什么在將設(shè)計(jì)映射到塊 RAM 時,我們不應(yīng)該使用復(fù)位。您可以在此處找到更多詳細(xì)信息。

乘數(shù)

與不支持復(fù)位的 SRL 或塊 RAM 不同,某些模塊(例如乘法器)對復(fù)位類型有限制。這些模塊僅支持同步復(fù)位。對于給定的乘法器,用同步策略替換異步復(fù)位可以將操作頻率提高兩倍或更多。

總而言之,不正確的復(fù)位策略會阻止綜合工具有效利用 FPGA 中可用的優(yōu)化模塊。這會對設(shè)計(jì)的面積、功率和速度產(chǎn)生不利影響?,F(xiàn)在,讓我們看一些示例,其中綜合軟件使用 DFF 的復(fù)位端口來執(zhí)行一些優(yōu)化。

使用設(shè)置/重置輸入來優(yōu)化實(shí)施

通常建議盡可能避免使用設(shè)置和重置輸入。這有助于綜合工具應(yīng)用優(yōu)化,其中檢查 DFF 的設(shè)置/重置輸入以簡化實(shí)現(xiàn)。為了進(jìn)一步闡明,假設(shè)我們要實(shí)現(xiàn)圖 3 中所示的原理圖。

圖 3.可以通過綜合軟件優(yōu)化的特定情況。圖片由Advanced FPGA Design提供。

在圖 3 中,當(dāng)“信號 A”為邏輯高電平時,無論組合電路“梳狀邏輯”的輸出是什么,DFF 輸出都將在時鐘邊沿變?yōu)楦唠娖健_@就是為什么如圖 4 所示,綜合軟件可以消除或門并將“信號 A”應(yīng)用于 DFF 的同步設(shè)置輸入?,F(xiàn)在,當(dāng)“信號 A”為邏輯高電平時,DFF 將在時鐘邊沿設(shè)置為高電平。否則,輸出將由組合電路“Comb Logic”決定。新設(shè)計(jì)提供了所需的功能,但現(xiàn)在取消了或門,設(shè)計(jì)的速度和面積都得到了改善。

圖 4。圖 3 中電路的優(yōu)化形式。圖片由Advanced FPGA Design提供。

有趣的是,有時,綜合工具可能決定對上述優(yōu)化進(jìn)行反向操作,并實(shí)現(xiàn)圖 4 的原理圖,如圖 3 所示!這是因?yàn)樵?7 系列中,slice 中的所有 DFF 共享相同的 CK、SR(置位/復(fù)位)和 CE 信號。這意味著其 SR 輸入連接到“信號 A”的 DFF 不能位于具有其 SR 輸入連接到除“信號 A”以外的信號的 DFF 的同一切片中。如果控制信號,即 CK、SR 和 CE 不相同,則 DFF 必須放置在不同的片中。在使用許多低扇出復(fù)位信號的設(shè)計(jì)中,這會導(dǎo)致切片利用率低下。事實(shí)上,每個低扇出復(fù)位信號都會使用一個 slice 的幾個 DFF,而該 slice 的剩余 DFF 將被浪費(fèi)。在這種情況下,綜合工具可以實(shí)現(xiàn)圖 4 的原理圖,如圖 3 所示。此過程將導(dǎo)致 DFF 不使用其復(fù)位輸入。因此,這些 DFF 可以共享相同的控制信號,并且可以放置在同一片中。因此,設(shè)備利用率將得到提高。

在圖 3 和圖 4 中,我們看到后跟 DFF 的或門可以替換為使用其設(shè)置輸入的 DFF。同樣,我們可以用使用其復(fù)位輸入的 DFF 替換后跟 DFF 的與門(參見下面的圖 5)。

圖 5.圖片由Xilinx提供。

在圖 5 中,SRVAL 屬性指定斷言 SR 輸入后 DFF 的輸出值。因此,對于左側(cè)中間的 DFF,SR 輸入被指定為設(shè)置端口。但是,對于左側(cè)下方的DFF,SR輸入實(shí)際上是復(fù)位輸入。上層 DFF 不使用復(fù)位輸入。

左邊的三個DFF不能放在同一個slice中,因?yàn)樗鼈兊目刂菩盘柌煌?。然而,通過上面討論的轉(zhuǎn)換,我們獲得了三個具有相同控制信號集的 DFF。因此,我們可以將三個 DFF 放在同一個切片中。請注意,上述轉(zhuǎn)換對異步置位/復(fù)位信號無效。這就是為什么我們通常建議使用同步設(shè)置/重置信號而不是異步信號。






有你想看的精彩




至芯科技-FPGA就業(yè)培訓(xùn)來襲!你的選擇開啟你的高薪之路!5月30號西安中心開課、歡迎咨詢!
芯片設(shè)計(jì)流程概述
LVDS技術(shù)的應(yīng)用優(yōu)勢及基于FPGA實(shí)現(xiàn)遠(yuǎn)端顯示系統(tǒng)的設(shè)計(jì)





掃碼加微信邀請您加入FPGA學(xué)習(xí)交流群




歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!


點(diǎn)個在看你最好看







原文標(biāo)題:為FPGA設(shè)計(jì)添加復(fù)位功能的注意事項(xiàng)

文章出處:【微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598916

原文標(biāo)題:為FPGA設(shè)計(jì)添加復(fù)位功能的注意事項(xiàng)

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    繞線電感定制的注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《繞線電感定制的注意事項(xiàng).docx》資料免費(fèi)下載
    發(fā)表于 09-20 11:24 ?0次下載

    共模電感定制的注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《共模電感定制的注意事項(xiàng).docx》資料免費(fèi)下載
    發(fā)表于 09-04 11:47 ?0次下載

    LiFePO4設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《LiFePO4設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 09-03 09:24 ?0次下載
    LiFePO4設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    先進(jìn)FPGA的電源設(shè)計(jì)注意事項(xiàng)(電源設(shè)計(jì)器121)

    電子發(fā)燒友網(wǎng)站提供《先進(jìn)FPGA的電源設(shè)計(jì)注意事項(xiàng)(電源設(shè)計(jì)器121).pdf》資料免費(fèi)下載
    發(fā)表于 08-26 09:27 ?0次下載
    先進(jìn)<b class='flag-5'>FPGA</b>的電源設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>(電源設(shè)計(jì)器121)

    FPGA的高速接口應(yīng)用注意事項(xiàng)

    FPGA的高速接口應(yīng)用注意事項(xiàng)主要包括以下幾個方面: 信號完整性與電磁兼容性(EMC) : 在設(shè)計(jì)FPGA高速接口時,必須充分考慮信號完整性和電磁兼容性。這要求合理的PCB布局、走線策略和屏蔽技術(shù)
    發(fā)表于 05-27 16:02

    FMD LINK 使用注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《FMD LINK 使用注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 05-06 10:11 ?0次下載

    FPGA設(shè)計(jì)添加復(fù)位功能注意事項(xiàng)

    本文將回顧使用重置輸入對給定功能進(jìn)行編碼的一些基本注意事項(xiàng)。設(shè)計(jì)者可能會忽視使用復(fù)位輸入的后果,但不正確的復(fù)位策略很容易造成嚴(yán)重處罰。復(fù)位
    發(fā)表于 05-03 09:49 ?145次閱讀
    向<b class='flag-5'>FPGA</b>設(shè)計(jì)<b class='flag-5'>添加</b><b class='flag-5'>復(fù)位</b><b class='flag-5'>功能</b>的<b class='flag-5'>注意事項(xiàng)</b>

    555芯片的引腳功能 555集成芯片的使用方法 使用555芯片時的注意事項(xiàng)

    、使用方法和注意事項(xiàng)。 一、555芯片的引腳功能 555芯片一般有8個引腳,分別是VCC(正電源)、GND(地)、TRIG(觸發(fā)器)、OUT(輸出)、RESET(復(fù)位)、CTRL(控制電壓)、THRES(比較器2非反轉(zhuǎn)輸入)和D
    的頭像 發(fā)表于 02-02 13:57 ?1.2w次閱讀

    浪涌抑制器的應(yīng)用及注意事項(xiàng)?

    浪涌抑制器的應(yīng)用及注意事項(xiàng)?|深圳比創(chuàng)達(dá)電子
    的頭像 發(fā)表于 01-19 09:55 ?555次閱讀
    浪涌抑制器的應(yīng)用及<b class='flag-5'>注意事項(xiàng)</b>?

    測速電機(jī): 常見6大注意事項(xiàng)

    測速電機(jī): 常見6大注意事項(xiàng)!測速電機(jī)是一種用于測量物體運(yùn)動速度的設(shè)備,廣泛應(yīng)用于工業(yè)生產(chǎn)和科學(xué)研究中。測速電機(jī)常見的6大注意事項(xiàng)以確保安全和準(zhǔn)確性。
    的頭像 發(fā)表于 01-11 10:53 ?312次閱讀
    測速電機(jī): 常見6大<b class='flag-5'>注意事項(xiàng)</b>

    霍爾元件使用的注意事項(xiàng)

    霍爾元件使用的注意事項(xiàng)? 霍爾元件是一種常見的電子元件,主要用于測量和檢測磁場的變化。它具有靈敏度高、響應(yīng)速度快、耐磁場干擾等優(yōu)點(diǎn),在各種應(yīng)用中得到廣泛使用。然而,為了確?;魻栐恼9ぷ骱脱娱L其
    的頭像 發(fā)表于 12-18 14:56 ?1009次閱讀

    電流互感器的使用注意事項(xiàng)

    當(dāng)談到電流互感器的使用時,有一些重要的注意事項(xiàng)需要我們牢記。在本文中,我們將探討這些注意事項(xiàng),您提供詳細(xì)和全面的信息。
    的頭像 發(fā)表于 12-15 10:34 ?1071次閱讀
    電流互感器的使用<b class='flag-5'>注意事項(xiàng)</b>

    輕負(fù)載時開關(guān)元件工作相關(guān)的注意事項(xiàng)

    輕負(fù)載時開關(guān)元件工作相關(guān)的注意事項(xiàng)
    的頭像 發(fā)表于 12-14 15:43 ?326次閱讀
    輕負(fù)載時開關(guān)元件工作相關(guān)的<b class='flag-5'>注意事項(xiàng)</b>

    VGA OUT 的PCB設(shè)計(jì)注意事項(xiàng)

    VGA OUT 的PCB設(shè)計(jì)注意事項(xiàng)
    的頭像 發(fā)表于 11-23 09:04 ?648次閱讀

    自舉程序設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《自舉程序設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 09-25 09:22 ?0次下載
    自舉程序設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>