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

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

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

Vivado使用技巧分享:OOC綜合技術(shù)運(yùn)行流程

電子設(shè)計(jì) ? 來源:CSDN 博主 ? 作者:FPGADesigner的博客 ? 2021-01-02 09:03 ? 次閱讀

創(chuàng)建綜合運(yùn)行
一個(gè)“運(yùn)行(run)”是指定義和配置設(shè)計(jì)在綜合過程中的各方面,包括:使用 的Xilinx器件、應(yīng)用的約束集、啟動(dòng)單個(gè)或多個(gè)綜合的選項(xiàng)、控制綜合引擎結(jié)果的選項(xiàng)。點(diǎn)擊Flow菜單中的Create Funs,或在Design Runs窗口中:

o4YBAF9uIvaAJx_cAABLFGO4fo4358.png

點(diǎn)擊工具欄中的+,即可打開新建運(yùn)行窗口:

pIYBAF9uIviATYemAACONvLvDRU169.png

選擇Synthesis,點(diǎn)擊Next,打開配置綜合運(yùn)行的窗口:

pIYBAF9uIvmAPVxqAABnSnw_Kno694.png

設(shè)置名稱、約束集、器件和策略,如果希望該運(yùn)行為激活狀態(tài),則選中Make Active。運(yùn)行的默認(rèn)名稱為synth_1、synth_2等等。點(diǎn)擊Next彈出啟動(dòng)運(yùn)行窗口:

pIYBAF9uIvqAOmfuAABdFjij23U942.png

Launch directory選擇啟動(dòng)運(yùn)行的目錄;Number of jobs設(shè)置了可以同時(shí)啟動(dòng)多少個(gè)運(yùn)行(run);Generate scripts only表示僅生成運(yùn)行腳本(Windows下為bat文件,Linux下為sh文件);Do not launch now只會(huì)保存先前的設(shè)置,暫時(shí)不會(huì)啟動(dòng)運(yùn)行。運(yùn)行的相關(guān)情況都顯示在Design Runs窗口中。

o4YBAF9uIvyAEpA-AABMQ7HyC0Q273.png

該窗口顯示了工程中所有的綜合和實(shí)現(xiàn)運(yùn)行,進(jìn)行配置、管理和啟動(dòng)。一個(gè)綜合運(yùn)行可以包含多個(gè)實(shí)現(xiàn)運(yùn)行,窗口中報(bào)告了相關(guān)的運(yùn)行狀態(tài)(not started、in progress、complete或out-of-date)。修改源文件、約束或工程設(shè)置都會(huì)導(dǎo)致狀態(tài)變?yōu)閛ut-of-date。

雖然可以有多個(gè)綜合和實(shí)現(xiàn)運(yùn)行,但是都只能有一個(gè)為active狀態(tài),所有 的報(bào)告顯示的都是active運(yùn)行的相關(guān)信息。比如Project Summary窗口中的編譯、資源等總結(jié)信息都屬于當(dāng)前狀態(tài)為active的運(yùn)行。選擇一個(gè)運(yùn)行,右鍵->Make Active可以設(shè)置活躍狀態(tài)。

同樣,F(xiàn)low Navigator和Flow菜單中的Run Synthesis也是啟動(dòng)狀態(tài)為Active的運(yùn)行。如果需要啟動(dòng)其它運(yùn)行,只能通過Design Runs窗口。

使用OOC綜合技術(shù)
OOC(Out-of-context)是Vivado提供的一項(xiàng)技術(shù),選擇將HDL對(duì)象當(dāng)作一個(gè)隔離模塊運(yùn)行,完成自底向上的綜合流程。OOC具有如下特點(diǎn):

  • 底層的OOC模塊相對(duì)于頂層模塊獨(dú)立運(yùn)行,并且擁有自己的約束集合;
  • 運(yùn)行了OOC模塊之后,再運(yùn)行頂層模塊綜合時(shí)可以直接調(diào)用OOC綜合結(jié)果,而不需要重新運(yùn)行一次綜合(除非修改了RTL設(shè)計(jì)或約束)。

由于不需要每次綜合時(shí)都運(yùn)行整個(gè)設(shè)計(jì),這項(xiàng)技術(shù)可以大大減少頂層模塊的綜合運(yùn)行時(shí)間。IP核就是典型的采用OOC技術(shù)的代表,配置好IP核后可以選擇綜合模式為global(與頂層設(shè)計(jì)一起綜合)或Out-of-context(作為獨(dú)立模塊綜合),最好的做法就是選擇后者,以減少整體設(shè)計(jì)的綜合運(yùn)行時(shí)間。

選擇需要添加到OOC運(yùn)行的模塊,右鍵->Set As Out-Of-Context for Synthesis,彈出如下窗口:

pIYBAF9uIv2ADGhNAABR_wuSsjU374.png

其中Clock Constraint File必須創(chuàng)建一個(gè)新的XDC文件或在下拉菜單中選擇一個(gè)已經(jīng)存在的XDC文件,該約束文件中要有該模塊時(shí)鐘信號(hào)的相關(guān)約束。點(diǎn)擊OK后,該模塊會(huì)出現(xiàn)在Design Runs窗口的Out-of-Context Module Runs目錄中,還有Compile Order窗口的Block Sources目錄中。

當(dāng)運(yùn)行了OOC綜合后,會(huì)產(chǎn)生底層模塊的綜合網(wǎng)表和存根文件(stub文件)。存根文件僅描述了底層模塊的輸入和輸出,在綜合頂層模塊時(shí),通過存根文件來調(diào)用底層模塊,模塊內(nèi)部當(dāng)作黑盒子看待。運(yùn)行實(shí)現(xiàn)時(shí),Vivado會(huì)將OOC模塊的綜合網(wǎng)表插入到頂層網(wǎng)表中,從而完成設(shè)計(jì)。

導(dǎo)入網(wǎng)表文件
可以通過實(shí)例化低層次網(wǎng)表或第三方網(wǎng)表來手工構(gòu)造一個(gè)自底向上的設(shè)計(jì)流程。但需要知道,Vivado綜合工具不會(huì)綜合和優(yōu)化網(wǎng)表,因此XDC約束和綜合屬性也不會(huì)對(duì)導(dǎo)入的網(wǎng)表產(chǎn)生作用。事實(shí)上,Vivado綜合時(shí)既不會(huì)讀取也不會(huì)修改網(wǎng)表中的內(nèi)容??梢园凑杖缦铝鞒掏瓿上嚓P(guān)處理:
1. 創(chuàng)建低層次網(wǎng)表:創(chuàng)建一個(gè)工程,以要導(dǎo)入的網(wǎng)表作為頂層模塊,將Settings->Synthesis->More Options設(shè)置為-mode out_of_context。這樣綜合時(shí)不會(huì)為該模塊產(chǎn)生I/O緩存器。綜合后,在Tcl控制臺(tái)輸入write_edif name.edf。
2. 設(shè)計(jì)中實(shí)例化低層次網(wǎng)表:頂層設(shè)計(jì)需要將低層次模塊作為黑盒子實(shí)例化,類似于前面提到的stub文件。因此需要?jiǎng)?chuàng)建一個(gè)Verilog/VHDL文件,僅定義網(wǎng)表的端口,信號(hào)名稱必須與網(wǎng)表中的端口名稱完全匹配。
3. 組合為完整設(shè)計(jì):當(dāng)創(chuàng)建了OOC模式的低層次網(wǎng)表,并且在頂層設(shè)計(jì)中正確地實(shí)例化后,將第一步導(dǎo)出的edif網(wǎng)表添加到工程中。綜合后,Vivado會(huì)將網(wǎng)表合并到頂層設(shè)計(jì)中。

Vivado IP和第三方綜合工具
大多數(shù)Xilinx發(fā)布的IP核采用IEEE P1735進(jìn)行加密,只有Vivado綜合工具才支持對(duì)IP核的綜合,第三方綜合工具不能綜合Vivado中的IP核。如果想把Vivado中的IP核在第三方綜合工具中實(shí)例化,可以參考如下步驟:
1. 在Managed IP工程中(Vivado首頁->Tasks->Manage IP)創(chuàng)建并配置好IP核。
2. 生成IP核的輸出文件,包括綜合設(shè)計(jì)檢查點(diǎn)(DCP文件)。Vivado會(huì)創(chuàng)建一個(gè)stub文件(*_stub.v/*_stub.vhd),該文件會(huì)包含一些指令阻止從該文件中推斷出I/O緩存器。根據(jù)使用的第三方綜合器可能需要修改此文件。
3. 使用Vivado綜合帶有stub文件的Xilinx IP核。
4. 使用第三方綜合工具產(chǎn)生的網(wǎng)表和Xilinx IP核的DCP文件一起運(yùn)行實(shí)現(xiàn)步驟。

編輯:hfy


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

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121576
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3552

    瀏覽量

    88813
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    812

    瀏覽量

    66616
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    一、前言 本文將介紹Vivado進(jìn)行綜合,以及布局布線的內(nèi)部流程,熟悉該流程后結(jié)合Settings中對(duì)應(yīng)的配置選項(xiàng),對(duì)于時(shí)序收斂調(diào)試將更具有針對(duì)性。 二、Implementation(
    的頭像 發(fā)表于 12-06 09:08 ?451次閱讀
    <b class='flag-5'>Vivado</b>之實(shí)現(xiàn)布局布線<b class='flag-5'>流程</b>介紹

    U50的AMD Vivado Design Tool flow設(shè)置

    AMD Alveo 加速卡使用有兩種流程,AMD Vitis Software Platform flow 和 AMD Vivado Design Tool flow。比較常見的是 Vitis
    的頭像 發(fā)表于 11-13 10:14 ?205次閱讀
    U50的AMD <b class='flag-5'>Vivado</b> Design Tool flow設(shè)置

    Vivado使用小技巧

    有時(shí)我們對(duì)時(shí)序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對(duì)應(yīng)的時(shí)序報(bào)告,而又不希望重新布局布線。這時(shí),我們可以打開布線后的dcp,直接在Vivado Tcl Console里輸入更新后的時(shí)序約束。如果調(diào)整
    的頭像 發(fā)表于 10-24 15:08 ?356次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    Vivado 2024.1版本的新特性(2)

    綜合角度看,Vivado 2024.1對(duì)SystemVerilog和VHDL-2019的一些特性開始支持。先看SystemVerilog。
    的頭像 發(fā)表于 09-18 10:34 ?933次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(2)

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式發(fā)布,今天我們就來看看新版本帶來了哪些新特性。
    的頭像 發(fā)表于 09-18 10:30 ?1395次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(1)

    變電所運(yùn)行維護(hù)的流程措施

    為了確保電網(wǎng)的穩(wěn)定運(yùn)行和高效供電,變電所的運(yùn)行與維護(hù)工作至關(guān)重要,這些工作不僅需要專業(yè)的技術(shù)知識(shí),還需要細(xì)致的操作規(guī)程和嚴(yán)格的管理制度。以下詳細(xì)介紹變電所運(yùn)行維護(hù)的幾個(gè)關(guān)鍵環(huán)節(jié)及其執(zhí)行
    的頭像 發(fā)表于 08-30 11:05 ?737次閱讀

    spark運(yùn)行的基本流程

    前言: 由于最近對(duì)spark的運(yùn)行流程非常感興趣,所以閱讀了《Spark大數(shù)據(jù)處理:技術(shù)、應(yīng)用與性能優(yōu)化》一書。通過這本書的學(xué)習(xí),了解了spark的核心技術(shù)、實(shí)際應(yīng)用場(chǎng)景以及性能優(yōu)化的
    的頭像 發(fā)表于 07-02 10:31 ?418次閱讀
    spark<b class='flag-5'>運(yùn)行</b>的基本<b class='flag-5'>流程</b>

    CT分析儀試驗(yàn)運(yùn)行流程——每日了解電力知識(shí)

    今天武漢摩恩智能電氣有限公司帶大家了解一下MEVA-I CT分析儀。 MEVA-I CT分析儀試驗(yàn)運(yùn)行的一般流程: 儀器的軟件運(yùn)行可以分為“等待新建試驗(yàn)”,“等待試驗(yàn)”,“查看結(jié)果”,“運(yùn)行
    的頭像 發(fā)表于 05-22 09:55 ?437次閱讀
    CT分析儀試驗(yàn)<b class='flag-5'>運(yùn)行</b><b class='flag-5'>流程</b>——每日了解電力知識(shí)

    Vivado 使用Simulink設(shè)計(jì)FIR濾波器

    ,用戶可直接在simulink下綜合出網(wǎng)表和約束文件,打包至.dcp文件中,用戶可在vivado下直接加載dcp文件調(diào)用模型。 4、直接在vivado中添加模型文件(推薦)。 Viv
    發(fā)表于 04-17 17:29

    如何在AMD Vivado? Design Tool中用工程模式使用DFX流程?

    本文介紹了在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程中要把具體步驟映射到相應(yīng)的 DFX 非工程模式的步驟,這樣才能更好地理解整個(gè)流程
    的頭像 發(fā)表于 04-17 09:28 ?903次閱讀
    如何在AMD <b class='flag-5'>Vivado</b>? Design Tool中用工程模式使用DFX<b class='flag-5'>流程</b>?

    綜合管廊環(huán)境與設(shè)備監(jiān)控系統(tǒng)保障城市綜合管廊安全運(yùn)行

    張欣 安科瑞電氣股份有限公司 上海嘉定 201801 摘要:在城市化發(fā)展進(jìn)程中,城市綜合管廊綜合體作為市政管網(wǎng)的全新模式,得到了國(guó)家政策的大力支持,城市管廊的病害特征以及運(yùn)行安全問題得到了業(yè)內(nèi)人士
    的頭像 發(fā)表于 04-03 15:07 ?427次閱讀
    <b class='flag-5'>綜合</b>管廊環(huán)境與設(shè)備監(jiān)控系統(tǒng)保障城市<b class='flag-5'>綜合</b>管廊安全<b class='flag-5'>運(yùn)行</b>

    城市地下綜合管廊應(yīng)如何保障安全運(yùn)行

    健康運(yùn)行的重要基礎(chǔ)設(shè)施。綜合管廊電力艙內(nèi)敷設(shè)有大量電力電纜,且艙室空間相對(duì)封閉,電氣火災(zāi)是綜合管廊內(nèi)主要危險(xiǎn)之一。火災(zāi)自動(dòng)報(bào)警系統(tǒng)作為附屬設(shè)施的重要組成部分,為綜合管廊提供必要的安全保
    的頭像 發(fā)表于 04-03 15:04 ?710次閱讀
    城市地下<b class='flag-5'>綜合</b>管廊應(yīng)如何保障安全<b class='flag-5'>運(yùn)行</b>

    深入探索Vivado非工程模式FPGA設(shè)計(jì)流程

    在設(shè)計(jì)過程的每個(gè)階段,設(shè)計(jì)者均可以打開Vivado集成開發(fā)環(huán)境,對(duì)存儲(chǔ)器中保存的當(dāng)前設(shè)計(jì)進(jìn)行分析和操作。
    發(fā)表于 04-03 09:36 ?1035次閱讀
    深入探索<b class='flag-5'>Vivado</b>非工程模式FPGA設(shè)計(jì)<b class='flag-5'>流程</b>

    如何禁止vivado自動(dòng)生成 bufg

    Vivado中禁止自動(dòng)生成BUFG(Buffered Clock Gate)可以通過以下步驟實(shí)現(xiàn)。 首先,讓我們簡(jiǎn)要了解一下什么是BUFG。BUFG是一個(gè)時(shí)鐘緩沖器,用于緩沖輸入時(shí)鐘信號(hào),使其更穩(wěn)
    的頭像 發(fā)表于 01-05 14:31 ?2224次閱讀

    Vivado時(shí)序問題分析

    有些時(shí)候在寫完代碼之后呢,Vivado時(shí)序報(bào)紅,Timing一欄有很多時(shí)序問題。
    的頭像 發(fā)表于 01-05 10:18 ?2208次閱讀