伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于Vivado三種常用IP核的調用詳細解析

Hx ? 來源:CSDN技術社區 ? 作者:雷凌峻毅 ? 2021-04-27 15:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當前使用版本為vivado 2018.3

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

今天介紹的是vivado的三種常用IP核:時鐘倍頻(Clocking Wizard),實時仿真(ILA),ROM調用(Block Memory)。

Clocking Wizard

該IP核可以將輸入的時鐘信號進行倍頻,倍數可以大于1,也可以小于1,非常方便。

打開vivado 找到IP Catelog

100062853-125516-1.jpg

在右側輸入欄中輸入clk,找到Clocking Wizard

100062853-125517-2.jpg

雙擊該項目打開,根據開發板上晶振頻率進行輸入時鐘配置

100062853-125518-3.jpg

配置需要輸出的倍頻頻率

100062853-125519-4.jpg

在最下方可選擇IP核需要的引腳,我都沒用到,因此全取消了(之前有遇到選擇reset和lock引腳后IP核不能使用的情況,原因還未弄清楚)。

100062853-125520-5.jpg

點擊OK,并點擊Generate,完成Clocking Wizard的配置

100062853-125521-6.jpg

在代碼中對IP核進行調用

100062853-125522-7.jpg

編寫TESTBENCH,仿真結果如下

100062853-125523-8.jpg

ILA

ILA是用于實時仿真的IP核,在你將bit文件燒入芯片后,可在ILA核中看到你想觀察的圖像和數據。

打開IP Catelog,輸入ILA

100062853-125524-9.jpg

雙擊打開項目,配置需要觀察的端口數,采樣的深度

100062853-125525-10.jpg

配置觀察端口的位數

100062853-125526-11.jpg

點擊OK,和Generate完成IP核配置

100062853-125527-12.jpg

在代碼中調用IP核

100062853-125528-13.jpg

完成工程綜合后,下載文件,點擊運行和循環,開始觀察

100062853-125529-14.jpg

Block Memory

該IP核調用片內ROM,可以用來儲正弦波,三角波等波形。該IP核引用文件的格式為.coe,因此我們需要先使用Matlab生成一個.coe文件。

打開matlab,新建一個.m文件,輸入以下代碼生成一個位寬10位,深度1024的正弦波

width=10; %rom的位寬

depth=1024; %rom的深度

x=linspace(0,2*pi,depth); %在一個周期內產生1024個采樣點

y_sin=cos(x); %生成余弦數據

y_sin=round(y_sin*(2^(width-1)-1))+2^(width-1)-1; %將余弦數據全部轉換為整數

fid=fopen(‘C:\Users\Leixx\Desktop\sin_coe.coe’,‘w’); %創建.coe文件

fprintf(fid,‘%d,\n’,y_sin); %向.coe文件中寫入數據

fclose(fid); %關閉.coe文件

生成文件之后,用notepad++(或UltraEdit)打開,你會看見已經生成好的1024個數據,這時需要在文件的最開始添加下面兩句:

memory_initialization_radix=10;

memory_initialization_vector =

radix表示是十進制顯示。之后,在文件的最末尾,將最后一個數據后面的逗號改成分號,點擊保存。

100062853-125530-15.jpg

100062853-125531-16.jpg

打開vivado,點擊IP Catalog,輸入block

100062853-125532-17.jpg

雙擊打開項目,選擇Single port ROM

100062853-125533-18.jpg

配置要存入的數據位寬和數據深度,我之前生成的是位寬10位,深度1024的數據

選擇Always Enanbled,讓IP核始終處于工作狀態

100062853-125534-19.jpg

將之前生成好的文件載入IP核

100062853-125535-20.jpg

點擊OK和Generate,完成IP核配置

在代碼中調用IP核,我這里DAC是低位在前

100062853-125536-21.jpg

編寫好Testbench后,可以在仿真中看到正弦波,我這里因為低位在前,所以波形雜亂。

100062853-125537-22.jpg

以上,便是vivado三種常用IP核的調用。
編輯:lyn

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ROM
    ROM
    +關注

    關注

    4

    文章

    579

    瀏覽量

    89302
  • IP核
    +關注

    關注

    4

    文章

    344

    瀏覽量

    52055
  • 實時仿真
    +關注

    關注

    0

    文章

    34

    瀏覽量

    8954
  • Vivado
    +關注

    關注

    19

    文章

    859

    瀏覽量

    71317
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    VivadoIP被鎖定的解決辦法

    當使用不同版本的Vivado打開工程時,IP被鎖定的情況較為常見。不同版本的VivadoIP
    的頭像 發表于 02-25 14:00 ?396次閱讀
    <b class='flag-5'>Vivado</b>中<b class='flag-5'>IP</b><b class='flag-5'>核</b>被鎖定的解決辦法

    vivado常用時序約束指令介紹

    vivado中,我們常用的時序約束指令主要包括如下幾個方面。
    的頭像 發表于 01-20 16:15 ?549次閱讀

    C語言中實現函數宏的三種方式

    在宏的第一個分號后便結束。即 a = b 和 b = tmp 均不受控制語句所作用。 因此,在工程中,一般使用三種方式來對函數宏進行封裝,分別為 {}、do{...}while(0
    發表于 12-29 07:34

    請問CW32芯片的三種工作模式是什么?

    CW32芯片的三種工作模式是什么?
    發表于 12-26 06:48

    vivado中,怎么將e203內核源代碼封裝成ip,并添加總線?

    vivado中,怎么將e203內核源代碼封裝成ip,并添加總線?
    發表于 11-10 07:22

    vcs和vivado聯合仿真

    我們在做參賽課題的過程中發現,上FPGA開發板跑系統時,有時需要添加vivadoip。但是vivado仿真比較慢,vcs也不能直接對添加了viv
    發表于 10-24 07:28

    Vivado浮點數IP的握手信號

    Vivado浮點數IP的握手信號 我們的設計方案中,FPU計算單元將收到的條數據和使能信號同步發給20多個模塊,同時只有一個模塊被時鐘使能,進行計算,但結果都會保留,發給數選。計
    發表于 10-24 07:01

    Vivado浮點數IP的一些設置注意點

    Vivado浮點數IP的一些設置注意點 我們在vivado2018.3中使用了Floating-point(7.1)IP
    發表于 10-24 06:25

    【干貨】一文帶你了解CAN、Modbus與LoRa三種通信協議的區別

    在工業自動化與物聯網領域,CAN、Modbus和LoRa是三種主流通信技術。而億佰特在該行業具有豐富的產品供客戶選擇與使用,幫助客戶進一步確定需求,本文將結合技術細節與實際案例解析其核心區別。一
    的頭像 發表于 08-28 19:32 ?2246次閱讀
    【干貨】一文帶你了解CAN、Modbus與LoRa<b class='flag-5'>三種</b>通信協議的區別

    FPGA利用DMA IP核實現ADC數據采集

    本文介紹如何利用FPGA和DMA技術處理來自AD9280和AD9708 ADC的數據。首先,探討了這兩ADC的特點及其與FPGA的接口兼容性。接著,詳細說明了使用Xilinx VIVADO環境下
    的頭像 發表于 07-29 14:12 ?5263次閱讀

    VIVADO自帶Turbo譯碼器IP怎么用?

    turbo 譯碼器IP沒有輸出,不知道哪里出了問題,有經驗的小伙伴幫忙看看啊 搭建了turbo 譯碼器IP測試工程,用Matlab產生的數據源,
    發表于 06-23 17:39

    開關電源三種控制模式:PWM/PFM/PSM

    摘要 本文詳細介紹了開關電源的三種主要調制方式:PWM(脈沖寬度調制)、PFM(脈沖頻率調制)和PSM(脈沖跨周期調制)。PWM通過調整脈沖寬度保持恒定頻率,適用于重負載,但輕負載效率低。PFM則在
    發表于 06-09 16:11

    介紹三種常見的MySQL高可用方案

    在生產環境中,為了確保數據庫系統的連續可用性、降低故障恢復時間以及實現業務的無縫切換,高可用(High Availability, HA)方案至關重要。本文將詳細介紹三種常見的 MySQL 高可用
    的頭像 發表于 05-28 17:16 ?1378次閱讀

    Vivado調用MIG產生DDR3的問題解析

    下面是調用的DDR3模塊的,模塊的倒數第二行是,模塊的時鐘輸入,時鐘源來自PLL產生的系統時鐘的倍頻。
    的頭像 發表于 05-03 10:21 ?1686次閱讀
    在<b class='flag-5'>Vivado</b><b class='flag-5'>調用</b>MIG產生DDR3的問題<b class='flag-5'>解析</b>

    雙極型極管放大電路的三種基本組態的學習課件免費下載

      本文檔的主要內容詳細介紹的是雙極型極管放大電路的三種基本組態的學習課件免費下載包括了:共集電極放大電路,共基極放大電路,三種基本組態的比較   輸入信號ui
    發表于 04-11 16:39 ?37次下載