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

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

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

每次Vivado編譯的結(jié)果都一樣嗎

OpenFPGA ? 來源:OpenFPGA ? 2024-11-11 11:23 ? 次閱讀

很多FPGA工程師都有這種困惑,Vivado每次編譯的結(jié)果都一樣嗎?

AMD官網(wǎng)上,有這樣一個帖子:

Are Vivado results repeatable for identical tool inputs?

對大多數(shù)情況來說,Vivado編譯的結(jié)果是一樣的,但要保證下面的輸入是一樣的:

Design sources

Constraints

Tcl scripts and command sequences

Tool and command options

Vivado software version

Operating Systems

不同操作系統(tǒng)之間編譯結(jié)果不能保證是相同的,尤其是Linux和Windows。

但下面的這些選項(xiàng)不能保證編譯結(jié)果相同:

route_design -ultrathreads選項(xiàng)

plac_design -ultrathreads選項(xiàng)

使用一個routed design dcp,而且又重新跑了post-route和phys_opt_design

我們經(jīng)常會設(shè)置set_param general.maxThreads,這個也是在使用ultrathreads選項(xiàng)時(shí)才會影響編譯的repeatability。

其中place_design的ultrathreads只對UltraScale+ SSI 和vu440 有效:

a3433a42-9052-11ef-a511-92fbcf53809c.png

image-20240610145255204

route_design的ultrathreads解釋如下,沒有規(guī)定器件。

a35b7378-9052-11ef-a511-92fbcf53809c.png

image-20240610145242925

定位repeatablity的問題

最常見的問題就是post-route結(jié)果是不一樣的,我們可以通過下面的方式來確認(rèn)哪一步出現(xiàn)是不一致。

Vivado在每個實(shí)現(xiàn)命令的中間階段都會在日志中報(bào)告一個checksum,這是基于設(shè)計(jì)網(wǎng)表和物理數(shù)據(jù)的簽名。

可以比較不同runs之間的校驗(yàn)和,校驗(yàn)和不匹配有助于確定結(jié)果在何處不一致。

a3673e56-9052-11ef-a511-92fbcf53809c.png

image-20240610145309593

Checkpoints vs in-memory runs

對比下圖中的兩個流程,在place_design后,先存成dcp,另一個flow中是直接打開當(dāng)前的dcp并進(jìn)行后續(xù)的編譯流程,這樣的話,在open_checkpoint后,這兩個網(wǎng)表的checksum可能會不同,但經(jīng)過Phys_opt_design后,他們網(wǎng)表的checksum還是會一樣的。

a3838f8e-9052-11ef-a511-92fbcf53809c.png

image-20240610145318561

總結(jié)一下,如果想讓vivado的結(jié)果repeatablity,我們就只使用單線程編譯:

set_paramgeneral.maxThreads1

而且保證輸入的源文件、腳本、約束都是相同的。同時(shí)硬件環(huán)境也要一樣,這樣才能最大程度的保證結(jié)果的repeatablity。

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

    關(guān)注

    0

    文章

    660

    瀏覽量

    32924
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    813

    瀏覽量

    66700

原文標(biāo)題:Vivado每次的編譯結(jié)果是一樣的嗎?

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ldc1000的spi通信,為什么在這種情況下寫不進(jìn)數(shù)據(jù),讀數(shù)據(jù)也每次一樣

    ldc上電后,即數(shù)字和模擬端供電后,只連接spi的四根線到mcu,而其他腳懸空,這種情況下能否讀寫ldc1000的寄存器。 為什么我在這種情況下寫不進(jìn)數(shù)據(jù),讀數(shù)據(jù)也每次
    發(fā)表于 01-13 08:21

    每次配置DAC5682Z寄存器的參數(shù)一樣,但是頻譜測得輸出信號卻不同,為什么?

    現(xiàn)在遇到個奇怪的現(xiàn)象,每次配置DAC5682Z寄存器的參數(shù)一樣,但是頻譜測得輸出信號卻不同。 配置的目標(biāo)是輸出個56MHz單頻點(diǎn)信號
    發(fā)表于 12-25 07:30

    AFE4400讀取6個寄存器值,每次讀取的值都是一樣的怎么解決?

    最近在開發(fā)AFE4400時(shí),讀取6個寄存器值,LED2VAL和LED1VAL寄存器值一樣,ALED2VAL和ALED1VAL寄存器值一樣,LED2-ALED2VAL和LED1-ALED1VAL寄存器值一樣,且
    發(fā)表于 12-25 07:18

    ads1243每次重新上電ad采集值不一樣是怎么回事?

    本人利用ads1243采集壓力傳感器,發(fā)現(xiàn)每次上電,外界條件一樣的情況下,ad值取16位波動,上電之后就按照剛上電時(shí)候的值平穩(wěn)下去,求高手解答,是否有例程或是硬件接法,另外,想咨詢pdwn引腳
    發(fā)表于 12-18 06:08

    ADS1247模擬SPI讀取寄存器數(shù)據(jù),讀取的數(shù)據(jù)每次都不一樣,為什么?

    ADS1247模擬SPI 讀取寄存器數(shù)據(jù),讀取的數(shù)據(jù)每次都不一樣。比對過時(shí)序,程序沒有問題。示波器抓取的波形顯示命令已經(jīng)發(fā)出,試了好幾塊板子都是這樣。 PS:START 引腳已經(jīng)拉高
    發(fā)表于 12-13 08:44

    做個數(shù)字示波器,結(jié)果自激了,為什么?

    想做個數(shù)字示波器,帶寬20M的,為了使輸入阻抗>1Mohm 采用最簡單的電壓跟隨器,結(jié)果自激了。 使用了OPA656,換別低噪聲高速運(yùn)放一樣,頻率40M~120M不等,求解決
    發(fā)表于 09-20 07:49

    淺談Vivado編譯時(shí)間

    隨著FPGA規(guī)模的增大,設(shè)計(jì)復(fù)雜度的增加,Vivado編譯時(shí)間成為個不可回避的話題。尤其是些基于SSI芯片的設(shè)計(jì),如VU9P/VU13P/VU19P等,布局布線時(shí)間更是顯著增加。當(dāng)
    的頭像 發(fā)表于 09-18 10:43 ?1091次閱讀
    淺談<b class='flag-5'>Vivado</b><b class='flag-5'>編譯</b>時(shí)間

    為什么OPA695仿真軟件的仿真結(jié)果和數(shù)據(jù)手冊給出的參數(shù)不一樣呢?

    請問為什么OPA695仿真軟件的仿真結(jié)果和數(shù)據(jù)手冊給出的參數(shù)不一樣呢,請看下圖: 1、仿真軟件結(jié)果:帶寬195MHz 2、數(shù)據(jù)手冊給出的參數(shù):帶寬350MHz
    發(fā)表于 08-16 07:39

    采用同向輸入使用TPA6120時(shí),為什么插拔耳機(jī)接頭后,左右聲道分離度會改變,而且每次都不一樣 ?

    客戶在使用TPA6120時(shí),采用同向輸入。在測試左右聲道分離度時(shí),發(fā)現(xiàn)每次插拔耳機(jī)接頭時(shí),分離度的參數(shù)都不一樣。范圍在-50~-80dB. 而如果不插拔耳機(jī)接頭,追只是反復(fù)斷電,上電,或者反復(fù)加載
    發(fā)表于 08-16 06:07

    Stem32CubeIDE能像Keil一樣指定不同文件下的代碼編譯嗎?

    Stem32CubeIDE能像Keil一樣指定不同文件下的代碼編譯
    發(fā)表于 07-23 06:22

    錳芯磁環(huán)電感尺寸一樣性能也一樣

    電子發(fā)燒友網(wǎng)站提供《錳芯磁環(huán)電感尺寸一樣性能也一樣嗎.docx》資料免費(fèi)下載
    發(fā)表于 06-03 14:52 ?0次下載

    請問怎么去編譯不同型號的單片機(jī)?

    怎么去編譯不同型號的單片機(jī),像官方的demo一樣? 這樣我的個項(xiàng)目配置就可以用在很多的應(yīng)用中了,不然每次配置項(xiàng)目很累的
    發(fā)表于 05-14 06:24

    Vivado編譯常見錯誤與關(guān)鍵警告梳理與解析

    Xilinx Vivado開發(fā)環(huán)境編譯HDL時(shí),對時(shí)鐘信號設(shè)置了編譯規(guī)則,如果時(shí)鐘由于硬件設(shè)計(jì)原因分配到了普通IO上,而非_SRCC或者_(dá)MRCC專用時(shí)鐘管腳上時(shí),編譯器就會提示錯誤。
    的頭像 發(fā)表于 04-15 11:38 ?5815次閱讀

    不同品牌貼片繞線電感封裝尺寸一樣

    電子發(fā)燒友網(wǎng)站提供《不同品牌貼片繞線電感封裝尺寸一樣嗎.docx》資料免費(fèi)下載
    發(fā)表于 04-14 09:31 ?0次下載

    體式貼片電感封裝尺寸是不是一樣

    體式貼片電感封裝尺寸是不是一樣gujing 編輯:谷景電子 在眾多電感產(chǎn)品中,體式貼片電感是特別重要的種電感元件,關(guān)于
    的頭像 發(fā)表于 04-03 22:45 ?379次閱讀