加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 一、添加IP核
    • 二、調(diào)用IP核
    • 三、行為仿真驗(yàn)證
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

FPGA Vivado調(diào)用IP核詳細(xì)操作步驟

05/09 10:43
2.3萬
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大俠好,歡迎來到FPGA技術(shù)江湖,江湖偌大,相見即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。

今天給大俠帶來Vivado調(diào)用IP核詳細(xì)操作步驟,手把手教學(xué),請往下看。話不多說,上貨。

首先咱們來了解一下vivado的IP核,IP核(IP Core):Vivado中有很多IP核可以直接使用,例如數(shù)學(xué)運(yùn)算(乘法器、除法器、浮點(diǎn)運(yùn)算器等)、信號處理(FFT、DFT、DDS等)。IP核類似編程中的函數(shù)庫(例如C語言中的printf()函數(shù)),可以直接調(diào)用,非常方便,大大加快了開發(fā)速度。

使用Verilog調(diào)用IP核

一、添加IP核

1. 點(diǎn)擊Flow Navigator中的IP Catalog。

2. 選擇Math Functions下的Multiplier,即乘法器,并雙擊。

3. 將彈出IP核的參數(shù)設(shè)置對話框。點(diǎn)擊左上角的Documentation,可以打開這個(gè)IP核的使用手冊查閱。這里直接設(shè)置輸入信號A和B均為4位無符號型數(shù)據(jù),其他均為默認(rèn)值,點(diǎn)擊OK。

4. 稍后彈出的窗口,點(diǎn)擊Generate。

二、調(diào)用IP核

1. 選擇IP Sources,展開并選擇mult_gen_0 - Instantiation Template - mult_gen_0.veo,可以打開實(shí)例化模板文件。如圖,這段代碼就是使用Verilog調(diào)用這個(gè)IP核的示例代碼。

2. 將示例代碼復(fù)制到demo.v文件中,并進(jìn)行修改,最終如下。代碼中聲明了無符號型的4位變量a和b,分別賦初值7、8,作為乘數(shù)使用;無符號型的8位變量p,用于保存計(jì)算結(jié)果。clk為Testbench編寫的周期20ns的時(shí)鐘信號;mult_gen_0 mul(...)語句實(shí)例化了mult_gen_0類型的模塊對象mul,并將clk、a、b、p作為參數(shù)傳入。

三、行為仿真驗(yàn)證

以demo為頂層模塊,啟動(dòng)行為仿真,即可輸出波形。設(shè)置a、b、p顯示為無符號十進(jìn)制(右擊選擇Radix - Unsigned Decimal)。如圖,可以看到a=7, b=8,第一個(gè)時(shí)鐘上升沿后p = a * b = 56。

框圖(Block Design)中調(diào)用IP核

這里舉一個(gè)簡單的例子,通過調(diào)用乘法器IP核,產(chǎn)生一個(gè)能計(jì)算平方的新模塊。

一、創(chuàng)建框圖設(shè)計(jì)文件

1. 選擇Flow Navigator中的Create Block Design,創(chuàng)建一個(gè)框圖設(shè)計(jì)文件。

2. 輸入文件名并點(diǎn)擊OK。

二、添加IP核

1. 在框圖空白處右擊,選擇Add IP。

2. 可以直接搜索需要的IP核,雙擊確認(rèn)。

3. IP核即可被添加進(jìn)來,可以用導(dǎo)線將其與其他器件連接。

4. 雙擊這個(gè)IP核符號,可以打開參數(shù)設(shè)置對話框。點(diǎn)擊左上方的Documentation可以查看IP核的手冊。這里將輸入的A、B均設(shè)置為4為無符號型,其他為默認(rèn)值,點(diǎn)擊OK確認(rèn)。

三、繪制電路

1. 右擊Diagram窗口空白處,選擇Create Port。

2. 彈出窗口中,設(shè)置端口a為4位輸入信號,并點(diǎn)擊OK。

3. 將a與A、B都連接起來。

4. 同樣的方法,添加一個(gè)8位輸出端口p,與P連接。

5. 再添加一個(gè)clk時(shí)鐘輸入端口,與CLK連接。

6. 最終結(jié)果如圖。

四、仿真測試

1. 右擊框圖設(shè)計(jì)文件design_1,選擇Create HDL Wrapper。

2. 選擇第二項(xiàng)并點(diǎn)擊OK。

3. 打開生成的design_1_wrapper.v文件如圖,紅框中的代碼用來調(diào)用前面畫好的Block Design模塊。

4. 在design_1_wrapper.v文件中,添加Testbench代碼即可進(jìn)行行為仿真。修改代碼如下,給輸入信號a賦初值為8,clk連接到Testbench生成的時(shí)鐘信號c上。

5. 在Simulation Sources文件夾下,設(shè)置design_1_wrapper.v為行為仿真的頂層文件(右擊,選擇Set as Top)。

啟動(dòng)行為仿真,最終輸出的波形如下??梢钥吹?,在clk的第一個(gè)上升沿后,就有 p = a*a = 64,即實(shí)現(xiàn)了平方運(yùn)算。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級 參考價(jià)格 更多信息
EP2C35F484C8N 1 Intel Corporation Field Programmable Gate Array, 2076 CLBs, 402.5MHz, 33216-Cell, CMOS, PBGA484, LEAD FREE, FBGA-484
$104.3 查看
EP2C35F672I8N 1 Intel Corporation Field Programmable Gate Array, 2076 CLBs, 402.5MHz, 33216-Cell, CMOS, PBGA672, LEAD FREE, FBGA-672

ECAD模型

下載ECAD模型
$905.2 查看
5CSTFD6D5F31I7N 1 Altera Corporation Field Programmable Gate Array, 110000-Cell, CMOS, PBGA896, ROHS COMPLIANT, FBGA-896

ECAD模型

下載ECAD模型
$2992.14 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

任何技術(shù)的學(xué)習(xí)就好比一個(gè)江湖,對于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。