Vivado是Xilinx公司2012年推出的新一代集成開發(fā)環(huán)境,它強(qiáng)調(diào)系統(tǒng)級的設(shè)計(jì)思想及以IP為核心的設(shè)計(jì)理念,突出IP核在數(shù)字系統(tǒng)設(shè)計(jì)中的作用。
01
什么是IP核
隨著電子設(shè)計(jì)自動化工具功能的不斷增強(qiáng),以及半導(dǎo)體制造工藝的飛速發(fā)展,所設(shè)計(jì)的數(shù)字系統(tǒng)功能越來越復(fù)雜,所要求的設(shè)計(jì)周期越來越短,設(shè)計(jì)可靠性越來越高。對設(shè)計(jì)人員來說,不可能從頭開始進(jìn)行復(fù)雜數(shù)字系統(tǒng)的設(shè)計(jì)。目前普遍采用的方法是,在設(shè)計(jì)中盡可能使用已有的功能模塊。人們把這些現(xiàn)成的模塊通常稱為知識產(chǎn)權(quán)(Intellectual Property,IP)核,也就是IP核。IP核可以理解為一個(gè)個(gè)具有特定功能的電路模塊,通過這些模塊間端口的互聯(lián)完成功能復(fù)雜的數(shù)字系統(tǒng)設(shè)計(jì)。
02
IP核來源
①IP核可以來自FPGA生產(chǎn)廠商,例如,Vivado設(shè)計(jì)工具中的IP目錄中就提供了豐富的IP核,可以直接使用。
②IP核還可以是第三方IP廠商提供。
③我們也可以將自己設(shè)計(jì)的,經(jīng)過驗(yàn)證的電路模塊封裝成IP核,可以在后期設(shè)計(jì)中重復(fù)使用。
我們自己的設(shè)計(jì)包括:
RTL代碼描述的電路。
HLS高層次綜合工具的設(shè)計(jì)。
Syetem Generator工具生成的工程。
03
IP核如何使用
那么我們?nèi)绾卧赩ivado中使用IP核呢?
有兩種方式:
①一種是在RTL工程中,在我們的Verilog設(shè)計(jì)程序中調(diào)用IP核,我們叫做實(shí)例化IP。
△ 實(shí)例化IP
②一種是在IP Integrator中,也就是使用IP集成器創(chuàng)建一個(gè)Block Design,可以將IP核,以圖形化的方式添加到界面中,再通過端口的互聯(lián),像搭積木一樣完成一些復(fù)雜的設(shè)計(jì)。
04
Vivado設(shè)計(jì)輸入
在Vivado中,我們有多種方式來進(jìn)行我們的設(shè)計(jì)輸入。
RTL工程
通常使用的方法是創(chuàng)建RTL工程,使用硬件描述語言編寫代碼。所謂的RTL是Register Transfer Level 的縮寫,也就是寄存器傳輸級。
△ 創(chuàng)建RTL工程
我們在描述一個(gè)數(shù)字系統(tǒng)時(shí),可以采用不同的抽象層級,抽象程度從高到低有系統(tǒng)級、算法級,RTL級,邏輯門級,以及開關(guān)級。
RTL級設(shè)計(jì)是描述數(shù)據(jù)信號是如何在寄存器中傳輸和處理的,一般都是通過硬件描述語言實(shí)現(xiàn)的。如,最常使用的Verilog 和VHDL,以及近年來,發(fā)展起來的System Verilog。
System Verilog實(shí)際上是Verilog的超集,可以被看做是Verilog的升級加強(qiáng)版,尤其加強(qiáng)了對設(shè)計(jì)驗(yàn)證的支持,在現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)與驗(yàn)證廣泛使用。
IP集成器
另一種方式就是通過IP集成器,可以將IP核添加到圖形化界面中,再通過連線完成設(shè)計(jì),這里的IP來自于IP目錄中的IP核。
△ 通過IP集成器創(chuàng)建工程
高層次綜合(HLS)工具
Xilinx還推出了Vivado High-Level Synthesis (HLS)高層次綜合工具,用戶可以使用C或C++ 來對FPGA編程,實(shí)現(xiàn)算法開發(fā),然后通過高級綜合工具直接將C語言轉(zhuǎn)換為硬件描述語言,可以大大加速我們的設(shè)計(jì),提高開發(fā)效率。HLS會將轉(zhuǎn)換后的RTL代碼封裝成IP,我們可以將其添加到IP 目錄中,在Vivado設(shè)計(jì)輸入時(shí)使用。
System Generator
Vivado還提供了System Generator 工具,該工具是基于MATLAB下的Simulink工具運(yùn)行的。他將Xilinx開發(fā)的一些模塊嵌入到了Simulink中,主要用于數(shù)字信號處理開發(fā)。在Simulink中設(shè)計(jì)完成后,可以生成HDL文件,包括測試文件,能夠加快DSP系統(tǒng)的開發(fā)進(jìn)度。
05
基于IP的設(shè)計(jì)
Vivado HLS的輸出結(jié)果也可以導(dǎo)入到System Generator中,以模塊化的方式使用。
Vivado中的IP packaging功能可以將我們的RTL代碼,High Level Symthesis設(shè)計(jì),System Generator模塊以及IP集成器生成的設(shè)計(jì)封裝成新的IP,放到IP目錄中使用。
所以說,Vivado是基于IP的設(shè)計(jì)。
-
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
26561 -
寄存器
+關(guān)注
關(guān)注
31文章
5359瀏覽量
120790 -
C語言
+關(guān)注
關(guān)注
180文章
7613瀏覽量
137239 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59874 -
Vivado
+關(guān)注
關(guān)注
19文章
815瀏覽量
66704
發(fā)布評論請先 登錄
相關(guān)推薦
評論