在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Vivado綜合操作中的重定時(shí)(Retiming)

YCqV_FPGA_EETre ? 來(lái)源:lp ? 2019-03-14 16:26 ? 次閱讀

重定時(shí)(Retiming)是一種時(shí)序優(yōu)化技術(shù),用在不影響電路輸入/輸出行為的情況下跨組合邏輯寄存器從而提高設(shè)計(jì)性能。圖1所示的電路是六輸入加法器,其中有一條關(guān)鍵路徑,紅色推出顯示的路徑是限制整個(gè)電路性能的關(guān)鍵路徑。

圖1:六輸入加法器寄存器到寄存器之間的信號(hào)路徑示例

通過(guò)對(duì)加法器輸出路徑上寄存器進(jìn)行重定時(shí)設(shè)計(jì),調(diào)整電路的組合邏輯,可以改變整個(gè)電路的性能。

整個(gè)電路的延遲是4,圖2展示的是一種寄存器組合方法可以將邏輯最小化,將輸出寄存器融合到邏輯寄存器中稱為向后重定時(shí)設(shè)計(jì),這一步完成后關(guān)鍵路徑被壓縮為二輸入加法器。

圖2:采用向后重定時(shí)方案二輸入加法器寄存器到寄存器路徑設(shè)計(jì)的一個(gè)示例

關(guān)于上述 示例需要注意的另一點(diǎn)是寄存器數(shù)量的變化。

圖1采用9個(gè)不同寄存器總線,圖2使用了12個(gè)不同寄存器總線,產(chǎn)生這樣結(jié)果的原因是當(dāng)采用向后重定時(shí)設(shè)計(jì)時(shí),當(dāng)寄存器從輸出移動(dòng)到輸入時(shí),邏輯門(mén)的兩個(gè)輸入都必須增加一個(gè)寄存器。

有兩種不同的重定時(shí)方法,向后重定時(shí)和向前重定時(shí)。向后重定時(shí)從門(mén)的輸出中刪除寄存器,并在同一邏輯門(mén)的輸入出創(chuàng)建新的寄存器。向前重定時(shí)的作用正好相反,它從邏輯門(mén)的輸入中刪除寄存器,并在輸出中創(chuàng)建新的寄存器。

若要向后重定時(shí),組合邏輯必須僅用來(lái)驅(qū)動(dòng)寄存器,而不能向其他邏輯寄存器展開(kāi),為了使前向重定時(shí)正常工作,邏輯門(mén)的每個(gè)輸入必須有具有相同控制邏輯的寄存器來(lái)驅(qū)動(dòng)。

圖3:邏輯與門(mén)(AND)采用前向重定時(shí)和后向重定時(shí)的效果

全局重定時(shí)vs 局部重定時(shí)

在Vivado 綜合操作中有兩種方法實(shí)現(xiàn)自動(dòng)重定時(shí):全局重定時(shí)和局部重定時(shí)。

全局重定時(shí)是對(duì)整個(gè)設(shè)計(jì)而言的,基于設(shè)計(jì)時(shí)的時(shí)序要求優(yōu)化大型組合邏輯結(jié)構(gòu)中的寄存器設(shè)計(jì)。

這種方式需要分析設(shè)計(jì)中的所有邏輯,優(yōu)化最壞路徑情況下的寄存器從而使整體設(shè)計(jì)反應(yīng)速度更快。為了實(shí)現(xiàn)這一點(diǎn)設(shè)計(jì)時(shí)必須在.xdc文件中規(guī)定準(zhǔn)確的時(shí)間限制。在synth_design或Vivado GUI綜合設(shè)置下通過(guò)-retiming命令啟用全局重定時(shí),此外該特性還可以與合成中的BLOCK_SYNTH特性一起用于設(shè)計(jì)中的特定模塊。

局部重定時(shí)是指用戶明確告訴工具使用retiming_forward、retiming_bbackward RTL屬性時(shí)需要執(zhí)行的重定時(shí)邏輯。

執(zhí)行局部重定時(shí)操作是應(yīng)該要小心,因?yàn)樗皇怯?jì)時(shí)器驅(qū)動(dòng)的,而是工具將完全按照用戶要求去執(zhí)行。

有關(guān)重定時(shí)使用的更多信息,請(qǐng)參閱(UG901)Vivado設(shè)計(jì)工具用戶指南:Synthesis(綜合)。

分析日志文件中的信息

圖4是通過(guò)重定時(shí)提升邏輯水平的一個(gè)例子,該電路結(jié)構(gòu)中有一個(gè)關(guān)鍵的路徑分為三個(gè)邏輯層,組成的是一個(gè)37位的邏輯與門(mén)(AND),源寄存器命名為din1_dly_reg,目標(biāo)寄存器命名為tmp1_reg,在邏輯級(jí)別為0的tmp1_reg后面增加一個(gè)額外的寄存器。

這是一個(gè)理想的重定時(shí)邏輯路徑設(shè)計(jì),因?yàn)槲覀兛梢郧袚Q為三個(gè)邏輯級(jí)別的路徑,由0、1、2三個(gè)局部邏輯電路模塊組成。

圖4:采用后向重定時(shí)設(shè)計(jì)的電路

綜合操作日志文件包含的信息大致如下:

從這個(gè)日志文件中你可以看到重定時(shí)操作前后的邏輯門(mén)信息對(duì)比,以及創(chuàng)建的新寄存器名稱,當(dāng)synthesis通過(guò)重定時(shí)創(chuàng)建新寄存器時(shí),它將對(duì)后向重定時(shí)的寄存器使用后綴“bret”,對(duì)前向重定時(shí)寄存器使用后綴“fret”。

圖5展示的電路中一些不兼容的寄存器將無(wú)法進(jìn)行重定時(shí)操作,這個(gè)結(jié)構(gòu)中同樣有一個(gè)名為din1_dly_reg的源寄存器,它經(jīng)過(guò)37位邏輯與門(mén)生成三級(jí)邏輯電路結(jié)構(gòu),然后在din1_dly_reg寄存器前結(jié)束。此外邏輯與門(mén)還有一路連接到另外一個(gè)寄存器,如下圖粉色高亮顯示的部分。

圖5:不能進(jìn)行重定時(shí)操作電路的示例

這是示例不能進(jìn)行重定時(shí)操作是因?yàn)榉奂t色高亮顯示的部分,這個(gè)寄存器需要一部重置,而tmp1_reg沒(méi)有這個(gè)功能,因?yàn)檫@兩個(gè)寄存器沒(méi)有相同的控制集,所以它們不能向后重定時(shí)到新的邏輯與門(mén)電路中,本例的日志文件信息如下:

這個(gè)日志文件包含的信息是關(guān)于 不兼容的FIFO寄存器的,前后的電路的邏輯層級(jí)不變。

以下情況下不能進(jìn)行重定時(shí)操作:1. 寄存器時(shí)序異常(多循環(huán)路徑、錯(cuò)誤的路徑、最大延遲路徑)2. 寄存器的類型屬性不能改變(DONT_TOUCH, MARK_DEBUG)3. 采用不同控制級(jí)的寄存器

驅(qū)動(dòng)輸出的寄存器或者被輸入驅(qū)動(dòng)的寄存器(除非這部分是與前后電路不相關(guān)的)

重定時(shí)無(wú)法改善反饋循環(huán)回路中關(guān)鍵路徑的性能的一個(gè)例子:

當(dāng)路徑中具有相同的源寄存器和目標(biāo)寄存器時(shí),重定時(shí)優(yōu)化操作可能無(wú)法改進(jìn)整個(gè)邏輯電路的結(jié)構(gòu)。

舉個(gè)例子:

寄存器“dout_reg”的關(guān)鍵路徑如下圖中紅色所示,要經(jīng)過(guò)一個(gè)邏輯與運(yùn)算,然后連接到同一寄存器的復(fù)位管腳上才算結(jié)束。

根據(jù)數(shù)位寬度(16比特)邏輯與門(mén)電路要占用兩個(gè)邏輯操作。

下面的屏幕截圖顯示了綜合操作如何描述關(guān)鍵路徑的

其中還提到了關(guān)鍵路徑中一部分模塊或寄存器的名字。

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

    關(guān)注

    31

    文章

    5424

    瀏覽量

    123509
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2953

    瀏覽量

    89404
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    831

    瀏覽量

    68309

原文標(biāo)題:Vivado綜合操作中的重定時(shí)(Retiming)

文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開(kāi)發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Vivado 高層次綜合

    感謝你對(duì)Vivado HLS也就是XILINX’s 高層次綜合解決方案有興趣,這個(gè)解決方案綜合c,c++和系統(tǒng)c代碼成Verilog和VHDL RTL結(jié)構(gòu)。
    發(fā)表于 04-25 08:59 ?3021次閱讀

    探索Vivado HLS設(shè)計(jì)流,Vivado HLS高層次綜合設(shè)計(jì)

    作者:Mculover666 1.實(shí)驗(yàn)?zāi)康?通過(guò)例程探索Vivado HLS設(shè)計(jì)流 用圖形用戶界面和TCL腳本兩種方式創(chuàng)建Vivado HLS項(xiàng)目 用各種HLS指令綜合接口 優(yōu)化Vivado
    的頭像 發(fā)表于 12-21 16:27 ?3950次閱讀

    vivado 2015.3 綜合報(bào)錯(cuò)

    菜鳥(niǎo)求指教,最近在用vivado 2015.3 做個(gè)小項(xiàng)目,遇到問(wèn)題:代碼綜合后會(huì)報(bào)錯(cuò):'get_property' expects at least one object.錯(cuò)誤地址在IP的 clocks.xdc文件
    發(fā)表于 08-31 10:42

    Vivado 2015.4許可證與Windows 10操作系統(tǒng)工作出現(xiàn)綜合錯(cuò)誤

    我正在使用Vivado 2015.4與Windows 10操作系統(tǒng)一起工作。直到今天早上,這工作還算不錯(cuò)。現(xiàn)在我得到以下綜合錯(cuò)誤:[Common 17-345]找不到功能'Synthesis'和/或
    發(fā)表于 01-08 10:08

    Vivado綜合操作定時(shí)Retiming

    synth_design或Vivado GUI綜合設(shè)置下通過(guò)-retiming命令啟用全局定時(shí),此外該特性還可以與合成
    發(fā)表于 03-14 12:32

    運(yùn)行綜合時(shí)Vivado崩潰

    親愛(ài)的大家,我現(xiàn)在正在使用Vivado 2013.3。我試圖將PL結(jié)構(gòu)時(shí)鐘從1 MHZ更改為500KHZ。 (1 MHZ下沒(méi)問(wèn)題)但是,Vivado在運(yùn)行綜合時(shí)崩潰了。對(duì)我來(lái)說(shuō)減少PL結(jié)構(gòu)時(shí)鐘非常重要,因?yàn)槲掖蛩阍谝粋€(gè)時(shí)鐘周期內(nèi)
    發(fā)表于 03-25 08:40

    vivado綜合Soc設(shè)計(jì)時(shí)發(fā)現(xiàn)的錯(cuò)誤,請(qǐng)問(wèn)如何解決?

    嗨, 我們正在嘗試將自定義IP連接到vivado的IP集成商的可用IP。但我們?cè)?b class='flag-5'>綜合設(shè)計(jì)時(shí)發(fā)現(xiàn)了一些問(wèn)題。請(qǐng)查看附帶的截圖以獲取詳細(xì)視圖。謝謝。
    發(fā)表于 04-09 06:28

    如何為管道設(shè)計(jì)插入寄存器并進(jìn)行定時(shí)

    大家好,我需要為管道設(shè)計(jì)插入寄存器并進(jìn)行定時(shí)以改善負(fù)面松弛。在vivado是否有內(nèi)置的方法來(lái)執(zhí)行此操作。我嘗試了phys_opt_des
    發(fā)表于 05-01 14:51

    Vivado 全局定時(shí)vs 局部定時(shí)

    限制。在synth_design或Vivado GUI綜合設(shè)置下通過(guò)-retiming命令啟用全局定時(shí),此外該特性還可以與合成
    發(fā)表于 11-24 07:00

    使用Vivado高層次綜合 (HLS)進(jìn)行FPGA設(shè)計(jì)的簡(jiǎn)介

    Introduction to FPGA Design with Vivado High-Level Synthesis,使用 Vivado 高層次綜合 (HLS) 進(jìn)行 FPGA 設(shè)計(jì)的簡(jiǎn)介
    發(fā)表于 01-06 11:32 ?65次下載

    Vivado綜合引擎的增量綜合流程

    Vivado 2019.1 版本開(kāi)始,Vivado 綜合引擎就已經(jīng)可以支持增量流程了。這使用戶能夠在設(shè)計(jì)變化較小時(shí)減少總的綜合運(yùn)行時(shí)間。
    發(fā)表于 07-21 11:02 ?1885次閱讀

    Vivado綜合參數(shù)設(shè)置

    如果你正在使用Vivado開(kāi)發(fā)套件進(jìn)行設(shè)計(jì),你會(huì)發(fā)現(xiàn)綜合設(shè)置中提供了許多綜合選項(xiàng)。這些選項(xiàng)對(duì)綜合結(jié)果有著潛在的影響,而且能夠提升設(shè)計(jì)效率。為了更好地利用這些資源,需要仔細(xì)研究每一個(gè)選項(xiàng)
    的頭像 發(fā)表于 05-16 16:45 ?4671次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>綜合</b>參數(shù)設(shè)置

    Vivado綜合階段什么約束生效?

    Vivado綜合默認(rèn)是timing driven模式,除了IO管腳等物理約束,建議添加必要的時(shí)序約束,有利于綜合邏輯的優(yōu)化,同時(shí)綜合后的design里面可以評(píng)估時(shí)序。
    的頭像 發(fā)表于 07-03 09:03 ?931次閱讀

    Vivado Design Suite用戶指南:綜合

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:綜合.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 15:47 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:<b class='flag-5'>綜合</b>

    如何運(yùn)用Retiming優(yōu)化Block RAM的使用

    對(duì)于邏輯級(jí)數(shù)較大的路徑,常用的時(shí)序收斂的方法之一就是采用Retiming(中文翻譯為重定時(shí))。Retiming到底是怎么回事呢?
    的頭像 發(fā)表于 04-18 10:05 ?1623次閱讀
    如何運(yùn)用<b class='flag-5'>Retiming</b>優(yōu)化Block RAM的使用
    主站蜘蛛池模板: 精品视频在线观看视频免费视频 | 四虎新地址 | 性生交大片免费一级 | 大色综合| 中文字幕一区二区三区四区五区人 | 中国胖女人一级毛片aaaaa | 中文字幕卡二和卡三的视频 | 国模私拍福利一区二区 | 欧美精彩狠狠色丁香婷婷 | 2021久久精品国产99国产 | 国产成年女一区二区三区 | 欧美成人性色xxxxx视频大 | 国产伦精一区二区三区 | 美女视频黄视大全视频免费网址 | 国产视频每日更新 | 狠狠色 综合色区 | 国产福利萌白酱喷水视频铁牛 | 国产综合在线观看视频 | 国产三级中文字幕 | 潘金莲国产三级视频在线 | 欧美黄色免费网址 | 毛片网站免费在线观看 | 亚洲你xx我xx网站 | 国产精品久久在线 | 国产亚洲一区二区精品 | 欧美成人午夜精品一区二区 | 国产又粗又大又爽又免费 | 性欧美护士18xxxxhd | 中文字幕一区二区精品区 | 明日花绮罗snis-862在线播放 | 亚洲国产影视 | 国产高清一级在线观看 | 日日碰狠狠添天天爽五月婷 | 男女午夜免费视频 | 天天视频国产免费入口 | 久久精品国产乱子伦多人 | 天天干天天天天 | 亚洲大香伊人蕉在人依线 | 国产高清成人mv在线观看 | 日本一区二区三区在线 视频观看免费 | 久久99热不卡精品免费观看 |