《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > vivado調用IP核詳細介紹

vivado調用IP核詳細介紹

2018-05-28
關鍵詞: Vivado IP SimulationSources

  大家好,又到了每日學習的時間了,今天咱們來聊一聊vivado 調用IP核。

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

  使用Verilog調用IP核

  這里簡單舉一個乘法器的IP核使用實例,使用Verilog調用。首先新建工程,新建demo.v頂層模塊。

  一、添加IP核

  1. 點擊Flow Navigator中的IP Catalog。

 

1.png

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

 

2.png

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

 

3.png

  4. 稍后彈出的窗口,點擊Generate。

 

4.png

  二、調用IP核

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

  

5.png

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

  

6.png

  三、行為仿真驗證

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

  

7.png

  框圖(Block Design)中調用IP核

  這里舉一個簡單的例子,通過調用乘法器IP核,產生一個能計算平方的新模塊。

  一、創建框圖設計文件

  1. 選擇Flow Navigator中的Create Block Design,創建一個框圖設計文件。

 

8.png

  2. 輸入文件名并點擊OK。

 

9.png

  二、添加IP核

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

  

10.png

  2. 可以直接搜索需要的IP核,雙擊確認。

  

11.png

  3. IP核即可被添加進來,可以用導線將其與其他器件連接。

  

12.png

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

  

13.png

  三、繪制電路

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

  

14.png

  2. 彈出窗口中,設置端口a為4位輸入信號,并點擊OK。

 

15.png

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

  

16.png

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

  

17.png

  5. 再添加一個clk時鐘輸入端口,與CLK連接。

 

18.png

  6. 最終結果如圖。

  

19.png

  四、仿真測試

  1. 右擊框圖設計文件design_1,選擇Create HDL Wrapper。

 

20.png

  2. 選擇第二項并點擊OK。

  

21.png

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

 

22.png

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

  

23.png

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

 

24.png

  啟動行為仿真,最終輸出的波形如下。可以看到,在clk的第一個上升沿后,就有 p = a*a = 64,即實現了平方運算。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 久久99国产精品一区二区 | 久久精品成人一区二区三区 | 色偷偷成人网免费视频男人的天堂 | 成人在线视频国产 | 国产国语对白一级毛片 | a毛片全部免费播放 | 九九综合九九综合 | 国产精品免费视频能看 | 99热精品在线免费观看 | 国产视频a| 亚洲天堂色网站 | 久草资源在线观看 | 亚洲欧美日韩精品高清 | 免费一级欧美片片线观看 | 久久精品爱 | 亚洲国产系列久久精品99人人 | 精品久久久久久免费影院 | 国产精品视频免费一区二区三区 | 三级黄色免费网站 | 成人国产欧美精品一区二区 | 国产精品成aⅴ人片在线观看 | 日本在线观看www免费 | 美女张开腿让男人 | 欧美一级二级三级视频 | 成人亚洲精品一区 | 亚洲精品高清国产一线久久97 | 久草在线免费资源站 | 全部精品孕妇色视频在线 | 72种姿势欧美久久久久大黄蕉 | 日韩欧美一级毛片精品6 | 手机在线成人精品视频网 | 亚洲欧美日韩精品久久亚洲区色播 | 国产成人啪精品视频免费网 | 欧美一区二区三区在线播放 | 日韩不卡一区二区 | 高清偷自拍第1页 | 亚洲性欧美 | 日韩欧美一级毛片在线 | 国产福利一区二区三区 | 国产精品人成人免费国产 | 97免费视频免费视频 |