RM新时代网站-首页

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

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

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

Vivado之實(shí)現(xiàn)布局布線(xiàn)流程介紹

FPGA設(shè)計(jì)論壇 ? 來(lái)源:FPGA設(shè)計(jì)論壇 ? 2024-12-06 09:08 ? 次閱讀

一、前言

本文將介紹Vivado進(jìn)行綜合,以及布局布線(xiàn)的內(nèi)部流程,熟悉該流程后結(jié)合Settings中對(duì)應(yīng)的配置選項(xiàng),對(duì)于時(shí)序收斂調(diào)試將更具有針對(duì)性。

二、Implementation(實(shí)現(xiàn))

實(shí)現(xiàn)流程由一系列的子流程組成,包括:Design Initialization設(shè)計(jì)初始化、Opt Design設(shè)計(jì)優(yōu)化、Power Opt Design功率優(yōu)化【可選項(xiàng)】、Place Design布局、Post-Place Power Opt Design布局后期設(shè)計(jì)功率優(yōu)化【可選項(xiàng)】、Post-Place Phys Opt Design布局后期設(shè)計(jì)物理優(yōu)化【可選】、Route Design布線(xiàn)、Post-Route Phys Opt Design布線(xiàn)后期設(shè)計(jì)物理優(yōu)化【可選項(xiàng)】、Write Bitstream寫(xiě)入比特流、Write Device Image寫(xiě)入器件備份文件。

下面將重點(diǎn)介紹和布局布線(xiàn)相關(guān)的流程,其他簡(jiǎn)略帶過(guò)。

Opt Design:對(duì)邏輯設(shè)計(jì)進(jìn)行優(yōu)化,使其與器件匹配

Power Opt Design: 對(duì)設(shè)計(jì)的單元進(jìn)行優(yōu)化從而降低功耗

Place Design:將設(shè)計(jì)布局到器件上

Post-Place Power Opt Design:在布局后進(jìn)行進(jìn)一步的優(yōu)化來(lái)降低功耗

Post-Place Phys Opt Design:對(duì)時(shí)序違例的路徑進(jìn)行優(yōu)化

Route Design:對(duì)于布局后的設(shè)計(jì)進(jìn)行布線(xiàn)

Post-Route Phys Opt Design:通過(guò)實(shí)際的布線(xiàn)延時(shí)值進(jìn)行邏輯,布局,布線(xiàn)優(yōu)化

Write Bitstream :生成器件配置的比特流

Write Device Image:生成器件備份文件

三、布局布線(xiàn)

3.1 Placement(布局)

布局通俗理解就是布局器會(huì)將來(lái)自網(wǎng)表的單元布局到芯片的確定位置,可細(xì)分為7個(gè)子流程。

3.1.1 設(shè)計(jì)布局優(yōu)化

布局優(yōu)化對(duì)象主要是時(shí)序違例路徑較大的單元,線(xiàn)長(zhǎng)較大的部分以及通過(guò)監(jiān)控引腳密度來(lái)提前進(jìn)行布局分散從而避免后期布線(xiàn)擁塞

3.1.2 設(shè)計(jì)規(guī)則檢查

開(kāi)始布局前,會(huì)先進(jìn)行設(shè)計(jì)規(guī)則檢測(cè)DRC,DRC有兩類(lèi),一類(lèi)是用戶(hù)在report_drc中設(shè)置的規(guī)則,另一類(lèi)是軟件自定義的規(guī)則,如存儲(chǔ)器IP單元沒(méi)有進(jìn)行位置約束或者是IO banks和IO標(biāo)準(zhǔn)沖突

3.1.3 布局時(shí)鐘單元和I/O

完成DRC后,布局器會(huì)優(yōu)先布局時(shí)鐘單元和I/O單元。時(shí)鐘和I/O一般是同時(shí)進(jìn)行布局的,因?yàn)樵谥付ㄆ骷校季忠?guī)則中二者關(guān)聯(lián)性很強(qiáng)。對(duì)于Ultrascale/Ultrascale+系列的器件,布局器也布局時(shí)鐘軌道,對(duì)時(shí)鐘預(yù)布線(xiàn)。如果觸發(fā)器會(huì)合并進(jìn)入到I/O邏輯單元,也在這階段進(jìn)行布局,否則布局失敗時(shí),會(huì)有嚴(yán)重告警打印。

在這一階段,布局器要完成的布局對(duì)象有I/O端口和與之關(guān)聯(lián)的邏輯,全局時(shí)鐘緩沖器,時(shí)鐘管理單元(MMCMS和PLL),GT單元。同時(shí),布局器也要考慮設(shè)置的位置約束屬性和區(qū)域約束屬性。

當(dāng)時(shí)鐘或I/O布局失敗時(shí),布局報(bào)告會(huì)打印相關(guān)錯(cuò)誤,對(duì)錯(cuò)誤進(jìn)行簡(jiǎn)單描述。通常,布局失敗的原因有以下幾點(diǎn)

a. 因?yàn)榧s束沖突導(dǎo)致的時(shí)鐘樹(shù)問(wèn)題

b.過(guò)于復(fù)雜的時(shí)鐘樹(shù)問(wèn)題

c.RAMDSP 布局與其他約束沖突

d.資源不足

f.違反了I/O bank的一些規(guī)則

3.1.4全局布局,詳細(xì)布局和后期布局優(yōu)化

完成時(shí)鐘和I/O布局后,依次是全局布局,詳細(xì)布局,后期布局優(yōu)化。

3.1.4.1 全局布局

全局布局分為布局資源規(guī)劃(floorplanning)和物理綜合。布局資源在I/O和時(shí)鐘布局后被分成很多小的相關(guān)聯(lián)的邏輯,Pblock約束是需要考慮的,是硬性要求。

在布局資源規(guī)劃后是物理綜合,在基于布局資源規(guī)劃基礎(chǔ)上,布局器將對(duì)網(wǎng)表運(yùn)行不同的物理優(yōu)化策略進(jìn)行設(shè)計(jì)的初始化布局。例如,基于復(fù)制的扇出,復(fù)制的驅(qū)動(dòng)源將和load放一起,因?yàn)槌跏嘉恢檬谴_定的。優(yōu)化也會(huì)考慮內(nèi)部的參數(shù)設(shè)置以及時(shí)序相關(guān)的。只有時(shí)序有所改善,優(yōu)化才會(huì)真正進(jìn)行。

在物理綜合階段,下圖是優(yōu)化概要示例。

2ebd01c2-afc3-11ef-93f3-92fbcf53809c.png

LUT的分解與重組:如果LUTs有SOFT_HLUTNM屬性并且LUT分解和重組能改善時(shí)序,布局器將進(jìn)行該操作

基于屬性的重定時(shí):用戶(hù)可以通過(guò)設(shè)置一個(gè)屬性在寄存器或LUT上實(shí)行重定時(shí),對(duì)于時(shí)序起點(diǎn)和終點(diǎn)有足夠距離的關(guān)鍵路徑來(lái)說(shuō)作用較明顯。在PSIP有兩個(gè)控制重定時(shí)的屬性:PSIP_RETIMING_BACKWARD,PSIP_RETIMING_FORWARD,值都設(shè)置為true時(shí)表示執(zhí)行后向重定時(shí)和前向重定時(shí)。

同時(shí),在以下場(chǎng)景下設(shè)置重定時(shí)屬性將不會(huì)起作用

a.移動(dòng)的邏輯經(jīng)過(guò)了一些大塊單元,如BRAM,URAM,DSP

b. pack到了I/O上的寄存器

c.路徑的起點(diǎn)與終點(diǎn)時(shí)鐘不同

d.路徑上含有時(shí)序例化的設(shè)置

e.含有阻止優(yōu)化的屬性,如DONT_TOUCH等

高扇出優(yōu)化:高扇出通過(guò)復(fù)制寄存器來(lái)驅(qū)動(dòng)高扇出nets(扇出大于1000,slack值小于2ns)

關(guān)鍵單元優(yōu)化:在失敗路徑上通過(guò)復(fù)制單元來(lái)進(jìn)行優(yōu)化,如果已布局的單元的load距離太遠(yuǎn),該單元將會(huì)被賦值然后放置到距離load更近的位置。通常在一些塊狀RAM,URAM,大量的DSP布局較為分散時(shí),該優(yōu)化使用較多

扇出優(yōu)化:對(duì)于設(shè)置了MAX_FANOUT的nets,當(dāng)nets的實(shí)際扇出數(shù)量大于設(shè)置的MAX_FANOUT時(shí),將會(huì)進(jìn)行優(yōu)化。用戶(hù)可以通過(guò)添加FORCE_MAX_FANOUT到該nets上,從而強(qiáng)制對(duì)驅(qū)動(dòng)該nets的寄存器或LUT進(jìn)行復(fù)制,并且此處提到的load都是實(shí)際物理連接的loads,不是邏輯loads。

DSP寄存器優(yōu)化:DSP寄存器優(yōu)化是指將寄存器從DSP中移出到邏輯組中,或者從邏輯單元移入到DSP中,從而改善關(guān)鍵路徑的時(shí)延

移位寄存器流水線(xiàn)優(yōu)化:操作是將有固定長(zhǎng)度的移位寄存器改成動(dòng)態(tài)調(diào)整寄存器流水線(xiàn),然后再布局流水線(xiàn)流水線(xiàn)來(lái)改善時(shí)序,動(dòng)態(tài)的SRLs不支持該優(yōu)化

移位寄存器優(yōu)化:該優(yōu)化是針對(duì)在移位寄存器單元和其他邏輯單元間存在時(shí)序違例的路徑

塊狀RAM寄存器優(yōu)化:塊狀RAM寄存器優(yōu)化是指將寄存器從塊狀RAM中移出到邏輯組中,或者從邏輯單元移入到塊狀RAM中,從而改善關(guān)鍵路徑的時(shí)延

動(dòng)態(tài)/靜態(tài)區(qū)域接口網(wǎng)線(xiàn)復(fù)制:在DFX流程中,將靜態(tài)設(shè)計(jì)復(fù)制到可重配的模塊便捷路徑上

等價(jià)驅(qū)動(dòng)源重布線(xiàn)優(yōu)化:將邏輯上相等的驅(qū)動(dòng)源進(jìn)行l(wèi)oad的重新分配,減少布線(xiàn)的重復(fù),也能為驅(qū)動(dòng)源和負(fù)載提供更優(yōu)的位置。這個(gè)可以減少資源使用和布線(xiàn)擁塞

3.1.4.2 詳細(xì)布局

通過(guò)詳細(xì)布局,可以讓設(shè)計(jì)從初始化的全局布局成為全部布局。通常是先對(duì)大塊單元,如多列的URAM,塊狀RAM,DSP塊組布局,然后是LUTRAM組,用戶(hù)在XDC中定義的更小一些的大塊。邏輯單元布局時(shí)是不斷迭代,以保證線(xiàn)長(zhǎng),時(shí)序最優(yōu),不擁塞。在CLBs的LUT-FF對(duì)和CLB中的寄存器必須共用普通的控制集

3.1.4.3后期布局優(yōu)化

在所有的邏輯單元位置都確定后,后期布局優(yōu)化將進(jìn)行改善時(shí)序和擁塞的最后一步,包括改善關(guān)鍵路徑的布局,BUFG復(fù)制,可選的BUFG插入。在BUFG復(fù)制階段,BUFG驅(qū)動(dòng)的nets跨多個(gè)SLRs時(shí),每個(gè)SLRs都會(huì)分配一個(gè)BUFG。在布局或布線(xiàn)沖突,以及有阻止復(fù)制或時(shí)鐘降級(jí)的約束時(shí),該優(yōu)化將不會(huì)進(jìn)行。

在BUFG插入階段,布局器將高扇出的net布線(xiàn)到全局布線(xiàn)路徑上,從而釋放普通布線(xiàn)資源,驅(qū)動(dòng)控制信號(hào)的高扇出nets如果slack值大于1ns將會(huì)優(yōu)化。

3.2Routing(布線(xiàn))

在完成布局后,布線(xiàn)器將會(huì)進(jìn)行布線(xiàn)。布線(xiàn)器提供了2個(gè)布線(xiàn)選項(xiàng),對(duì)整個(gè)設(shè)計(jì)布線(xiàn)或?qū)蝹€(gè)的引腳或nets布線(xiàn)。當(dāng)對(duì)整個(gè)設(shè)計(jì)布線(xiàn)時(shí),流程是時(shí)序驅(qū)動(dòng)的,在時(shí)序約束的基礎(chǔ)上,使用自動(dòng)的時(shí)序計(jì)算規(guī)則。當(dāng)對(duì)單個(gè)nets或引腳布線(xiàn)時(shí),有迭代布線(xiàn)和自動(dòng)延時(shí)兩種模式。

布線(xiàn)的子流程包括:設(shè)計(jì)規(guī)則檢查DRC,布線(xiàn)優(yōu)先級(jí)。

3.2.1 設(shè)計(jì)規(guī)則檢查

設(shè)計(jì)規(guī)則檢查主要有兩類(lèi)檢查,第一類(lèi)是用戶(hù)從report_drc中設(shè)置的規(guī)則,第二類(lèi)是vivado軟件內(nèi)部的檢查規(guī)則

3.2.2 布線(xiàn)優(yōu)先級(jí)

布線(xiàn)器首先布線(xiàn)全局資源,如時(shí)鐘,復(fù)位,I/O和其他降級(jí)的資源。在布線(xiàn)器內(nèi)部有默認(rèn)的優(yōu)先級(jí),然后根據(jù)時(shí)序重要性對(duì)數(shù)據(jù)信號(hào)布線(xià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)投訴
  • 布線(xiàn)
    +關(guān)注

    關(guān)注

    9

    文章

    771

    瀏覽量

    84322
  • 布局
    +關(guān)注

    關(guān)注

    5

    文章

    269

    瀏覽量

    25005
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    812

    瀏覽量

    66470

原文標(biāo)題:Vivado之實(shí)現(xiàn)(布局布線(xiàn))流程淺析

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Vivado下顯示指定路徑時(shí)序報(bào)告的流程

    Vivado下顯示指定路徑時(shí)序報(bào)告的流程?! ?.打開(kāi)布局布線(xiàn)后的結(jié)果    2.指定到工具下的時(shí)序報(bào)告    3.選擇路徑的起點(diǎn)和終點(diǎn)    4.雙擊路徑時(shí)序結(jié)果顯示詳細(xì)的時(shí)序情況 
    發(fā)表于 01-15 16:57

    PCB的布局布線(xiàn)介紹

    目錄:一、簡(jiǎn)介二、布局的方式三、布局的檢查四、PCB布線(xiàn)經(jīng)驗(yàn)1、PCB布線(xiàn)經(jīng)驗(yàn)一1)要有合理的走向2)選擇好接地點(diǎn)3)合理布置電源濾波/退耦電容4)線(xiàn)條有講究5)其它2、PCB
    發(fā)表于 07-01 07:56

    如何實(shí)現(xiàn)良好的電路板布局布線(xiàn)

      工程課程一般不會(huì)教授如何實(shí)現(xiàn)良好的電路板布局布線(xiàn)。高頻RF類(lèi)課程會(huì)研究走線(xiàn)阻抗的重要性,但需要自行構(gòu)建系統(tǒng)電源的工程師,通常不會(huì)將電源視為高頻系統(tǒng),而忽視了電路板布局
    發(fā)表于 11-15 08:27

    用 TCL 定制 Vivado 設(shè)計(jì)實(shí)現(xiàn)流程

    的過(guò)程,而后端設(shè)計(jì)則是把門(mén)級(jí)網(wǎng)表布局布線(xiàn)到芯片上最終實(shí)現(xiàn)的過(guò)程。 以下兩圖分別表示 ISE 和 Vivado 的基本設(shè)計(jì)流程: ISE 中
    發(fā)表于 06-28 19:34

    pcb布線(xiàn)心得(流程詳解、元件布局布線(xiàn)與EMC)

    pcb布線(xiàn)技巧,輕松搞定布線(xiàn)、布局,主要包括:一、元件布局基本規(guī)則;二、元件布線(xiàn)規(guī)則;為增加系統(tǒng)的抗電磁干擾能力采取措施;3、降低噪聲與電磁
    發(fā)表于 11-03 17:02 ?4019次閱讀

    Vivado設(shè)計(jì)之Tcl定制化的實(shí)現(xiàn)流程

    其實(shí)Tcl在Vivado中還有很多延展應(yīng)用,接下來(lái)我們就來(lái)討論如何利用Tcl語(yǔ)言的靈活性和可擴(kuò)展性,在Vivado實(shí)現(xiàn)定制化的FPGA設(shè)計(jì)流程。 基本的FPGA設(shè)計(jì)
    發(fā)表于 11-18 01:48 ?3605次閱讀
    <b class='flag-5'>Vivado</b>設(shè)計(jì)之Tcl定制化的<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>流程</b>

    Vivado使用誤區(qū)與進(jìn)階——在Vivado實(shí)現(xiàn)ECO功能

    關(guān)于Tcl在Vivado中的應(yīng)用文章從Tcl的基本語(yǔ)法和在Vivado中的應(yīng)用展開(kāi),介紹了如何擴(kuò)展甚至是定制FPGA設(shè)計(jì)實(shí)現(xiàn)流程后,引出了一
    發(fā)表于 11-18 18:26 ?5395次閱讀
    <b class='flag-5'>Vivado</b>使用誤區(qū)與進(jìn)階——在<b class='flag-5'>Vivado</b>中<b class='flag-5'>實(shí)現(xiàn)</b>ECO功能

    用Tcl實(shí)現(xiàn)Vivado設(shè)計(jì)全流程

    設(shè)置芯片型號(hào),設(shè)置源文件位置,設(shè)置生成文件位置,添加設(shè)計(jì)源文件,流程命令,生成網(wǎng)表文件,設(shè)計(jì)分析,生成bitstream文件。其中,流程命令是指綜合、優(yōu)化、布局、物理優(yōu)化和布線(xiàn)。
    的頭像 發(fā)表于 11-20 10:56 ?2124次閱讀

    MCM布局布線(xiàn)的軟件實(shí)現(xiàn)

    本設(shè)計(jì)按照?qǐng)D1所示的MCM布局布線(xiàn)設(shè)計(jì)流程,以檢測(cè)器電路為例,詳細(xì)闡述了利用信號(hào)完整性分析工具進(jìn)行MCM布局布線(xiàn)設(shè)計(jì)的方法。首先對(duì)封裝零件庫(kù)
    的頭像 發(fā)表于 11-20 16:37 ?3215次閱讀

    Vivado—DCP復(fù)用

    Vivado的設(shè)計(jì)流程各個(gè)階段里,采用統(tǒng)一的數(shù)據(jù)模型:DCP(design checkpoint),在Vivado的設(shè)計(jì)流程里,無(wú)論是綜合還是布局
    的頭像 發(fā)表于 07-04 09:37 ?3738次閱讀

    Xilinx FPGA Vivado開(kāi)發(fā)流程介紹

    系統(tǒng)性的掌握技術(shù)開(kāi)發(fā)以及相關(guān)要求,對(duì)個(gè)人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對(duì)大家有所幫助。本次帶來(lái)Vivado系列,Vivado開(kāi)發(fā)軟件開(kāi)發(fā)設(shè)計(jì)流程。話(huà)不多說(shuō),上貨。
    的頭像 發(fā)表于 02-21 09:16 ?3617次閱讀

    用TCL定制Vivado設(shè)計(jì)實(shí)現(xiàn)流程

    今天推出Xilinx已發(fā)布的《Vivado使用誤區(qū)與進(jìn)階》系列:用TCL定制Vivado設(shè)計(jì)實(shí)現(xiàn)流程。
    的頭像 發(fā)表于 05-05 09:44 ?1069次閱讀
    用TCL定制<b class='flag-5'>Vivado</b>設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>流程</b>

    Vivado實(shí)現(xiàn)ECO功能

    關(guān)于 Tcl 在 Vivado中的應(yīng)用文章從 Tcl 的基本語(yǔ)法和在 Vivado 中的 應(yīng)用展開(kāi),繼上篇《用 Tcl 定制 Vivado 設(shè)計(jì)實(shí)現(xiàn)
    的頭像 發(fā)表于 05-05 15:34 ?2670次閱讀
    在<b class='flag-5'>Vivado</b>中<b class='flag-5'>實(shí)現(xiàn)</b>ECO功能

    Vivado布線(xiàn)和生成bit參數(shù)設(shè)置

    本文主要介紹Vivado布線(xiàn)參數(shù)設(shè)置,基本設(shè)置方式和vivado綜合參數(shù)設(shè)置基本一致,將詳細(xì)說(shuō)明如何設(shè)置布線(xiàn)參數(shù)以?xún)?yōu)化FPGA設(shè)計(jì)的性能,以
    的頭像 發(fā)表于 05-16 16:40 ?4616次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>布線(xiàn)</b>和生成bit參數(shù)設(shè)置

    vivado仿真流程

    vivado開(kāi)發(fā)軟件自帶了仿真工具,下面將介紹vivado的仿真流程,方便初學(xué)者進(jìn)行仿真實(shí)驗(yàn)。
    的頭像 發(fā)表于 07-18 09:06 ?4384次閱讀
    <b class='flag-5'>vivado</b>仿真<b class='flag-5'>流程</b>
    RM新时代网站-首页