Vivado是Xilinx公司2012年推出的新一代集成開發(fā)環(huán)境,它強調(diào)系統(tǒng)級的設(shè)計思想及以IP為核心的設(shè)計理念,突出IP核在數(shù)字系統(tǒng)設(shè)計中的作用。
01
什么是IP核
隨著電子設(shè)計自動化工具功能的不斷增強,以及半導(dǎo)體制造工藝的飛速發(fā)展,所設(shè)計的數(shù)字系統(tǒng)功能越來越復(fù)雜,所要求的設(shè)計周期越來越短,設(shè)計可靠性越來越高。對設(shè)計人員來說,不可能從頭開始進(jìn)行復(fù)雜數(shù)字系統(tǒng)的設(shè)計。目前普遍采用的方法是,在設(shè)計中盡可能使用已有的功能模塊。人們把這些現(xiàn)成的模塊通常稱為知識產(chǎn)權(quán)(Intellectual Property,IP)核,也就是IP核。IP核可以理解為一個個具有特定功能的電路模塊,通過這些模塊間端口的互聯(lián)完成功能復(fù)雜的數(shù)字系統(tǒng)設(shè)計。
02
IP核來源
①IP核可以來自FPGA生產(chǎn)廠商,例如,Vivado設(shè)計工具中的IP目錄中就提供了豐富的IP核,可以直接使用。
②IP核還可以是第三方IP廠商提供。
③我們也可以將自己設(shè)計的,經(jīng)過驗證的電路模塊封裝成IP核,可以在后期設(shè)計中重復(fù)使用。
我們自己的設(shè)計包括:
RTL代碼描述的電路。
HLS高層次綜合工具的設(shè)計。
Syetem Generator工具生成的工程。
03
IP核如何使用
那么我們?nèi)绾卧赩ivado中使用IP核呢?
有兩種方式:
①一種是在RTL工程中,在我們的Verilog設(shè)計程序中調(diào)用IP核,我們叫做實例化IP。

△ 實例化IP
②一種是在IP Integrator中,也就是使用IP集成器創(chuàng)建一個Block Design,可以將IP核,以圖形化的方式添加到界面中,再通過端口的互聯(lián),像搭積木一樣完成一些復(fù)雜的設(shè)計。
04
Vivado設(shè)計輸入
在Vivado中,我們有多種方式來進(jìn)行我們的設(shè)計輸入。
RTL工程
通常使用的方法是創(chuàng)建RTL工程,使用硬件描述語言編寫代碼。所謂的RTL是Register Transfer Level 的縮寫,也就是寄存器傳輸級。

△ 創(chuàng)建RTL工程
我們在描述一個數(shù)字系統(tǒng)時,可以采用不同的抽象層級,抽象程度從高到低有系統(tǒng)級、算法級,RTL級,邏輯門級,以及開關(guān)級。
RTL級設(shè)計是描述數(shù)據(jù)信號是如何在寄存器中傳輸和處理的,一般都是通過硬件描述語言實現(xiàn)的。如,最常使用的Verilog 和VHDL,以及近年來,發(fā)展起來的System Verilog。
System Verilog實際上是Verilog的超集,可以被看做是Verilog的升級加強版,尤其加強了對設(shè)計驗證的支持,在現(xiàn)代數(shù)字系統(tǒng)設(shè)計與驗證廣泛使用。
IP集成器
另一種方式就是通過IP集成器,可以將IP核添加到圖形化界面中,再通過連線完成設(shè)計,這里的IP來自于IP目錄中的IP核。

△ 通過IP集成器創(chuàng)建工程
高層次綜合(HLS)工具
Xilinx還推出了Vivado High-Level Synthesis (HLS)高層次綜合工具,用戶可以使用C或C++ 來對FPGA編程,實現(xiàn)算法開發(fā),然后通過高級綜合工具直接將C語言轉(zhuǎn)換為硬件描述語言,可以大大加速我們的設(shè)計,提高開發(fā)效率。HLS會將轉(zhuǎn)換后的RTL代碼封裝成IP,我們可以將其添加到IP 目錄中,在Vivado設(shè)計輸入時使用。
System Generator
Vivado還提供了System Generator 工具,該工具是基于MATLAB下的Simulink工具運行的。他將Xilinx開發(fā)的一些模塊嵌入到了Simulink中,主要用于數(shù)字信號處理開發(fā)。在Simulink中設(shè)計完成后,可以生成HDL文件,包括測試文件,能夠加快DSP系統(tǒng)的開發(fā)進(jìn)度。
05
基于IP的設(shè)計
Vivado HLS的輸出結(jié)果也可以導(dǎo)入到System Generator中,以模塊化的方式使用。
Vivado中的IP packaging功能可以將我們的RTL代碼,High Level Symthesis設(shè)計,System Generator模塊以及IP集成器生成的設(shè)計封裝成新的IP,放到IP目錄中使用。
所以說,Vivado是基于IP的設(shè)計。
-
FPGA設(shè)計
+關(guān)注
關(guān)注
9文章
431瀏覽量
28138 -
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
129968 -
C語言
+關(guān)注
關(guān)注
183文章
7644瀏覽量
145575 -
RTL
+關(guān)注
關(guān)注
1文章
394瀏覽量
62648 -
Vivado
+關(guān)注
關(guān)注
19文章
857瀏覽量
71106
發(fā)布評論請先 登錄
Vivado FIR IP核實現(xiàn)
Vivado IP交付
怎么在Vivado HLS中生成IP核?
vivado的IP core怎么用
Vivado生成IP核
vivado調(diào)用IP核詳細(xì)介紹
如何在Vivado Design Suite 中進(jìn)行IP加密
如何使用Vivado Logic Analyzer與邏輯調(diào)試IP進(jìn)行交互
如何使用Vivado IP Integrator組裝具有多個時鐘域的設(shè)計
使用VIvado封裝自定IP并使用IP創(chuàng)建工程
Vivado中BRAM IP的配置方式和使用技巧
為什么說Vivado是基于IP的設(shè)計?
評論