IP核(IP Core)
Vivado中有很多IP核可以直接使用,例如數學運算(乘法器、除法器、浮點運算器等)、信號處理(FFT、DFT、DDS等)。IP核類似編程中的函數庫(例如C語言中的printf()函數),可以直接調用,非常方便,大大加快了開發速度。
IP內核的三種類型
IP核有三種不同的存在形式:HDL語言形式,網表形式、版圖形式。分別對應我們常說的三類IP內核:軟核、固核和硬核。
什麼是軟核?
IP軟核通常是用 HDL文本形式提交給用戶,它經過RTL級設計優化和功能驗證,但其中不含有任何具體的物理信息。據此,用戶可以綜合出正確的門電路級設計網表,並可以進 行後續的結構設計,具有很大的靈活性,藉助於EDA綜合工具可以很容易地與其他外部邏輯電路合成一體,根據各種不同半導體工藝,設計成具有不同性能的器 件。軟IP內核也稱爲虛擬組件(VC-Virtual Component)。
什麼是硬核?
IP硬核是基於半導體工藝的物理設計,已有固定的拓撲佈局和具體工藝,並已經過工藝驗證,具有可保證的性能。其提供給用戶的形式是電路物理結構掩模版圖和全套工藝文件,是可以拿來就用的全套技術。
什麼是固核?
IP固核的設計程度則是介於軟核和硬核之間,除了完成軟核所有的設計外,還完成了門級電路綜合和時序仿真等設計環節。一般以門級電路網表的形式提供給用戶。
如果所有的事情Vivado HLS都做完了,那麼還要Vivado幹什麼呢?點擊RTL export,就能以Vivado工程的形式或者IP core將生成的RTL級VHDL/Verilog代碼導出,進行下一步處理了
vivado中文件類型
.dcp文件主要包括PhysicalConstraints, Device Constraints, Netlists以及device的信息
.dcp文件就是ise中的網表文件和約束文件的集合,只不過在vivado中被集合在了一個文件裏。
.xdc文件,這個是vivado的約束文件,vivado的約束文件和ise中的約束文件.ucf或者.pcf相比有很大不同,.xdc中的約束文件其實就是一系列的tcl語句,所以對於vivado中的約束文件,可以作爲一個源文件放在工程裏,在綜合和佈局佈線中調用;也可以在tcl console中輸入,立即執行。
.xci文件,這是定製ip產生的文件,裏面包含了定製的ip核的所有信息,可以通過這個文件產生需要的ip核,作用和.dcp文件差不多。ip核中也有.dcp文件
.rpt文件,這個是每個過程結束輸出的一個report文件,用來記錄各個過程中的一些信息,和ise中的多種輸出文件格式相比,這樣的統一格式顯然更好一點。