玩轉Zynq連載23——用戶(hù)自定義IP核的創(chuàng )建與封裝

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

17.jpg (16.53 KB)

17.jpg

18.jpg (19.84 KB)

18.jpg
本文地址:http://selenalain.com/thread-568350-1-1.html     【打印本頁(yè)】

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

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页