Vivado清理和壓縮工程的方法

2021-10-25 08:06:12 字數 1179 閱讀 2276

前言

vivado和ise的使用差別很大,vivado是專門針對7系列和以後系列的fpga/ap soc進行高效設計的工具,特別是最近提出的ultrafast設計方法,能夠極大地提高開發效率。ise在支援老版本器件的基礎上,目前也支援7系列/zynq的設計,但是效率不能和vivado相比。關於vivado的基本使用這裡不多說,主要把一些問題點整理成「錯題集」,把一些小技巧進行歸納。

清理/壓縮工程

實際使用vivado的過程中,由於vivado會自動產生一系列檔案,有些是不必要時刻儲存的中間檔案,有些是加快效率的檔案(比如編譯ip核後產生的檔案)。但是在上傳svn或者自己做備份的時候希望備份占用盡量少的空間。然而由於vivado不會自動清理,所以這時候就需要我們做手動清理了,很多人採用的方法是根據經驗刪除沒用的檔案和資料夾,這種對於不熟悉的人很容易犯下不可挽回的錯誤。也有人寫好了批處理檔案可以直接幫助刪除的,但是這都不太適合初學者。其實vivado是有tcl命令可以幫助清理的。

reset_project

reset_project是vivado乙個tcl命令,輸入後會發現所有的ip全部清掉了編譯後的檔案,工程的綜合和實現也被清理掉了,所以會減少空間,下面我們用乙個簡單的工程來對比下前後會少多少。

下圖為某工程執行完成之後占用的資源,占用了176m。

對工程執行reset_project命令後如下圖所示,資源占用105m,直接減少72m,也就是減少了40%!這個壓縮量還是比較可觀的。

復位後的影響

復位後是什麼效果呢?可以看下圖,其實復位就是把裡面的綜合和實現清空,包括ooc下面的ip核等都清掉,這樣就只保留了最必要的檔案,從而壓縮了占用 空間。但是這樣也帶來乙個問題,如果要重新產生乙個可用的版本,需要的時間會更長,這個操作實際上也就是用空間換取了時間,所以大家使用前要衡量下,不要隨便用,比較工程大了跑一次可能一天就沒了。

Petalinux和Vivado的安裝

我是搞軟體的,fpga這塊不太了解。由於機緣巧合,最近有接觸到這塊的開發。所以先挖一坑。先宣告我不是專業搞這塊的,所以對這塊的內容理解可能會有偏差,以下描述如有有不當之處請不吝指出 zynq分為pl和ps兩部分,pl部分對應了fpga,而ps對應了arm核部分 petalinux和vivado是xi...

Unity AssetBundle的壓縮方式

unity支援 三種assetbundle打包的壓縮方式 lzma,lz4,以及不壓縮。1 lzma壓縮方式 buildassetbundleoptions.none 是一種預設的壓縮形式,這種標準壓縮格式是乙個單一lzma流序列化資料檔案,並且在使用前需要解壓縮整個包體。lzma壓縮是比較流行的壓...

Vivado使用技巧(32) IO延遲的約束方法

為了對設計外部的時序情況進行精確建模,設計者必須設定輸入和輸出埠的時序資訊。vivado只能識別出fpga器件範圍內的時序,因此必須使用set input delay和set output delay命令來設定fpga範圍外的延遲值。兩者在含義 約束命令等方面有很多地方是相似的,只不過乙個是輸入,乙...