chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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í),邏輯門的兩個(gè)輸入都必須增加一個(gè)寄存器。

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

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

圖3:邏輯與門(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位的邏輯與門(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í)操作前后的邏輯門信息對(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位邏輯與門生成三級(jí)邏輯電路結(jié)構(gòu),然后在din1_dly_reg寄存器前結(jié)束。此外邏輯與門還有一路連接到另外一個(gè)寄存器,如下圖粉色高亮顯示的部分。

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

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

這個(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比特)邏輯與門電路要占用兩個(gè)邏輯操作。

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    5493

    瀏覽量

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

    關(guān)注

    10

    文章

    2999

    瀏覽量

    90860
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    844

    瀏覽量

    70053

原文標(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 ?3104次閱讀

    探索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 ?4231次閱讀

    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ò)?,F(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 ?2062次閱讀

    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 ?5222次閱讀
    <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 ?1207次閱讀

    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 ?1986次閱讀
    如何運(yùn)用<b class='flag-5'>Retiming</b>優(yōu)化Block RAM的使用