国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

玩轉Zynq連載23——用戶自定義IP核的創建與封裝

發布時間:2019-9-9 11:09    發布者:rousong1989
玩轉Zynq連載23——用戶自定義IP核的創建與封裝
更多資料共享
騰訊微云鏈接:https://share.weiyun.com/5s6bA0s
百度網盤鏈接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取碼:ld9c
騰訊微云鏈接:https://share.weiyun.com/5s6bA0s
百度網盤鏈接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取碼:ld9c
1概述
         本節以zstar_ex04文件夾下的led_controller_ip工程為例,演示如何創建一個簡單的LED閃爍控制模塊的IP核。
    創建一個用戶自定義IP核,只需要以下3個步驟即可。
2 創建IP
    首先我們在文件夾.../project/zstar_ex04/led_controller_ip文件夾下創建一個新的工程,增加一個名為led_controller.v的verilog源碼文件到這個工程中。源碼如下。
module led_controller(
            input clk,      //時鐘信號
            input rst_n,    //復位信號,低電平有效
            output sled     //LED指示燈接口   
        );                                                
   
parameter CLK_FREQUENCY        = 25000;    //clk的時鐘頻率,KHz
parameter LED_FLASH_FREQUENCY  = 1;        //LED輸出的閃爍頻率,Hz
`define MAX_CNT        (((CLK_FREQUENCY/LED_FLASH_FREQUENCY)*1000)-1)     //cnt分頻計數最大值
`define MAX_CNT_DIV2   (`MAX_CNT/2-1)                                     //cnt分頻計數最大值的一半   
//-------------------------------------
reg[31:0] cnt;     //計數器                                                         
    //cnt計數器進行循環計數
always @ (posedgeclk or negedgerst_n)                                 
    if(!rst_n) cnt<= 32'd0;                                       
    else if(cnt< `MAX_CNT) cnt<= cnt+1'b1;
    else cnt<= 32'd0;
assign sled = (cnt< `MAX_CNT_DIV2) ? 1'b1:1'b0;           
endmodule
    注意這個源碼實現在時鐘和復位信號下,產生固定頻率的1個輸出LED指示燈閃爍。時鐘頻率CLK_FREQUENCY和LED閃爍頻率LED_FLASH_FREQUENCY都定義為參數(parameter),一會制作IP核的時候都可以配置為GUI供調用IP的用戶手動設定。注意,類似的希望讓用戶可以在GUI上設定的參數,在源碼中一定要定義為parameter。
    如圖所示,該工程中只包含led_controller.v源碼文件。創建好工程并添加好工程源碼后,建議對工程進行必要的編譯,以避免任何的語法錯誤或者與所支持器件家族有任何不兼容的錯誤。
圖 只包含led_controller.v源碼的工程
    如圖所示,點擊工程菜單Tools à Create and Package IP…。
圖 Create and Package IP菜單
    彈出Create and Package IP的第一個頁面,點擊Next。
    彈出如圖所示的Package Options選擇對話框,勾選Package your current project選項,然后點擊Next。
圖 Package your current project選擇頁面
    如圖所示,彈出IP路徑設置對話框,IP location路徑建議設置和源碼所在路徑完全一致(通常為工程所在目錄下的…/zstar.srcs/source_1/new文件夾)。設置好繼續點擊 Next。
圖 生成IP路徑選擇頁面
    如圖所示,點擊Finish。
圖 New IP Creation頁面
    此時,在工程主界面中,如圖所示,右側的Sources à Design Sources下增加了IP-XACT文件夾,展開后,可以看到新增了一個component.xml的文件,該文件就對應了圖右側的Package IP –led_controller頁面,它存儲當前新創建IP核的相關配置信息。
圖 工程主界面
    如圖所示,Package IP –led_controller的第一個配置頁面名為Identification,即用戶定制IP核相關的配置信息,如IP核供應商(Vendor)、庫名稱(Library)、IP核名稱(Name)、版本號(Version)、IP核顯示名稱(Display name)、描述(Description)、供應商顯示名稱(Vendor display name)、公司網址(Company url)等。特別提醒大家別忽略了最下面的Categories項,默認是空白的,若點擊右側的小加號,可以增加一個名稱,例如本實例增加了一個名為UserIP的名稱選項,將來生成的用戶定制IP核在我們的IP核配置面板中將會歸類到名為UserIP類別的文件夾下。
圖8.33 Identification配置頁面
    如圖所示,Compatibility頁面其實在我們剛剛創建這個工程選擇好器件家族時就已經確定了,即設定該IP核所支持的器件家族(Family)。
圖 Compatibility配置頁面
    如圖所示,這里可以預覽IP核包含的相關源碼文件,在源碼工程中包含的所有Verilog源碼或者仿真測試腳本,也都會出現在這里,被集成到IP核中。
圖 File Groups配置頁面
    如圖所示,Customization Parameters配置頁面羅列源碼中所有可配置的參數(parameter所定義的),大家可以雙擊這些參數進一步配置。
圖 Customization Parameters配置頁面
    如我們雙擊CLK_FREQUENCY參數所在行,彈出如圖所示的配置頁面。該配置頁面中,我們可以配置該參數是否在GUI中可見(Visible in Customization GUI)、是否顯示名稱(Show Name)等信息,用戶可以根據不同參數的實際情況設定。
圖 Edit IP Parameter配置頁面
    如圖所示,Ports and Interfaces配置頁面顯示IP核的對外接口。
圖 Ports and Interfaces配置頁面
    如圖所示,Addressing and Memory配置頁面則是針對含有總線接口,并且具有多個寄存器需要尋址的IP核,我們的IP核則不需要,所以是空白的。
圖Addressing and Memory配置頁面
    如圖所示,Customization GUI配置頁面則顯示當前接口在GUI上的layout和preview信息。
圖 Customization GUI配置頁面
    最后,如圖所示,這是Review and Package配置頁面,可以回顧上面的一些設置,并且回去做相應的修改。點擊Package IP可以生成IP。
圖 Review and Package配置頁面
    至此,IP核已經配置并封裝完成。
    如圖所示,在Project Manager面板中,若點擊Package IP則可以回到IP核的配置頁面做修改。若點擊IP Catalog則可以添加IP核。
圖 Project Manager面板
    如圖所示,打開IP Catalog后,我們可以看到剛剛定義的用戶IP核led_controller_v1_0已經出現在了UserIP文件夾下面。
圖 IP Catalog頁面

17.jpg (16.53 KB)

17.jpg

18.jpg (19.84 KB)

18.jpg
本文地址:http://m.qingdxww.cn/thread-568350-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Chiptorials ——使用ATECC608 TrustFLEX實現基本非對稱身份驗證
  • FPGA設計流程培訓教程
  • 無線充電基礎知識及應用培訓教程
  • Chiptorials ——如何將CryptoAuthLib庫用于Microchip安全身份驗證IC
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜在线视频一区二区三区 | 六月丁香伊人 | 六月婷婷色 | 操老熟| 日韩欧美不卡在线 | 91香蕉视频免费在线观看 | 日本视频在线观看不卡高清免费 | 99蜜桃| 日本精品一区二区三区在线视频 | 好吊日视频在线 | 国产日韩欧美另类 | 午夜网站入口 | 国产精品成人一区二区三区 | 久久99精品视免费看 | 久久精品国产久精国产 | 性做久久久久久蜜桃花 | 日本免费黄色 | 一区二区不卡在线观看 | 中文字幕一区二区三区 精品 | 久久久久久久99视频 | 日韩欧美一区二区三区不卡视频 | 亚洲男人第一av网站 | 91香蕉国产线观看免费全集 | 日韩在线 在线播放 | 欧美精品专区免费观看 | 99爱在线精品视频免费观看9 | 牛牛视频在线观看 | 亚洲欧美日本韩国综合在线观看 | 99热99re8国产在线播放 | 在线天堂新版最新版在线8 在线天堂新版在线观看 | 欧美成人久久一级c片免费 欧美成人久久久免费播放 欧美成人精品在线 | 欧美精品亚洲二区 | 天天操视频 夜夜 | 污污视频网站免费在线观看 | 亚洲国产成人91精品 | 欧美又大粗又爽又黄大片视频黑人 | 久久综合色视频 | 亚洲色图视频在线 | 国产一级特黄aa大片爽爽 | 色手机在线 | 国产一级视频免费 |