一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

如何使用MicroBlaze調(diào)用AXI IP核詳細解析

FPGA之家 ? 來源:FPGA2嵌入式 ? 作者:淺擱 ? 2021-04-27 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在一個項目中,當你使用microblaze作為控制器來進行系統(tǒng)調(diào)度的時候,一般是建議將所有模塊封裝成AXI形式的IP核,這樣好管理,也容易調(diào)試。不過在初期的時候是不建議這樣做的,因為你的模塊并沒有完全被驗證是沒問題的,所以還是使用.v文件,等后面這一功能驗證通過,再把它封裝成IP核形式。

1. AXI IP核簡介

用過Microblaze或者看例程的人肯定都知道,Xilinx提供了很多AXI形式的IP核,像常用的UART、IIC、SPI等IP核。我們只要把他們在畫布里調(diào)出來,然后使用自動連接形式,便能把對應(yīng)接口連接起來,接著在軟件上調(diào)用其相應(yīng)的函數(shù)便可以工作了。

7c9b8938-a67e-11eb-aece-12bb97331649.jpg

但是當我們自己封裝了一個AXI形式的IP核后,又該怎么去使用呢?這不是官方IP,沒有相應(yīng)的函數(shù)呀?不知道大家是否有印象,上一篇文章介紹IP封裝的時候說過,封裝成AXI形式的IP核,會生成一些東西,如下圖所示,這個可千萬別去刪,大有用處的。

7ca6f39a-a67e-11eb-aece-12bb97331649.png

里面的drivers這個文件夾其實放的就是AXI的驅(qū)動函數(shù)。例如我們生成一個AXI的IP核(紅框處)

7cb481c2-a67e-11eb-aece-12bb97331649.jpg

編譯通過后生成軟核工程,可以看到,我們自己加入的IP核是有被關(guān)聯(lián)進來的。在“Axi_Device_DNA_v1_0”這個文件夾下包含有.c和.h文件,這個就是我們添加的IP核對應(yīng)的驅(qū)動,它和iic、定時器、uart等IP核在同一個庫里。這些都是IP核必須使用到的函數(shù)文件。

7d47608c-a67e-11eb-aece-12bb97331649.png

2. AXI IP核使用

看見自制的IP核都能給你生成驅(qū)動函數(shù)是不是覺得很高級,很爽呢!如果這樣想那你就確實too young too simple了。打開它的.c和.h文件給你看看吧。

7d50073c-a67e-11eb-aece-12bb97331649.jpg

寄存器定義

7d7e5e20-a67e-11eb-aece-12bb97331649.png

獲取DNA數(shù)據(jù)高位、低位數(shù)據(jù)的函數(shù)

80828c18-a67e-11eb-aece-12bb97331649.jpg

讀寫函數(shù)

是的,就只有這些,沒有了!所以別以為能像IIC之類的IP核一樣,會給你很全的函數(shù),讓你一次寫一大串或讀一大串數(shù)據(jù)的,如果真能根據(jù)不同IP功能給你定制不同函數(shù),那就智能到逆天了···

不過人家都給你讀寫寄存器的函數(shù)和寄存器的定義,也就已經(jīng)夠了,都說下層基礎(chǔ)決定上層建筑,有了這兩個基本函數(shù),你想自己做什么功能還不行?MCU控制的本質(zhì)不也就是讀寫對應(yīng)的寄存器,偷懶也得有個度的哈哈~就像這樣,自己封裝個函數(shù)就行了。

808f3ef4-a67e-11eb-aece-12bb97331649.png

當然,你也可以不用Xilinx給你生成的讀寫函數(shù),自己寫也是可以的,不過不建議這么做,畢竟人家都給了,一方面可以給你節(jié)省編碼時間,另一方面也保證了函數(shù)的穩(wěn)定性,避免開發(fā)出錯。

3. 總結(jié)

在封裝成AXI IP 核時會有一個頂層的AXI時序代碼,這個用戶一定要熟悉,并且對應(yīng)的寄存器要設(shè)置好,這樣使用起來才不會有錯誤。不然容易出現(xiàn)寄存器讀寫不成功或者操作錯寄存器導(dǎo)致數(shù)據(jù)不對。總之還是一句話,實踐出真知,想了解深入得去用了才知道才會使用。
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2185

    瀏覽量

    125286
  • MicroBlaze
    +關(guān)注

    關(guān)注

    3

    文章

    68

    瀏覽量

    21957
  • IP核
    +關(guān)注

    關(guān)注

    4

    文章

    338

    瀏覽量

    50792

原文標題:使用MicroBlaze調(diào)用AXI IP核

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

    NVMe IPAXI4總線分析

    廣泛應(yīng)用 。隨著時間的推移,AXI4的影響不斷擴大。目前,由Xilinx提供的大部分IP接口都支持AXI4總線,使得系統(tǒng)中不同模塊之間的互連更加高效。這也讓基于這些IP的開發(fā)變得更加快
    發(fā)表于 06-02 23:05

    NVMe控制器IP設(shè)計之接口轉(zhuǎn)換

    轉(zhuǎn)換為控制器內(nèi)部信號(addr、en、data_out)。命令執(zhí)行結(jié)束后,完成信息通過AXI PCIe IP模塊的AXI4接口傳輸至完成信息解析模塊。這個過程需要通過
    發(fā)表于 05-10 14:33

    ip6806芯片的詳細參數(shù)解析

    本文深入解析了英集芯IP6806無線充電發(fā)射端控制芯片的技術(shù)細節(jié),包括其基礎(chǔ)架構(gòu)、核心參數(shù)、功能特性、應(yīng)用場景以及智能控制和安全防護功能。其輸入電壓范圍寬,輸出功率高,效率高,過壓、過流、過溫保護機制完善,兼容性強。
    的頭像 發(fā)表于 05-10 09:03 ?489次閱讀
    <b class='flag-5'>ip</b>6806芯片的<b class='flag-5'>詳細</b>參數(shù)<b class='flag-5'>解析</b>

    一文詳解AXI DMA技術(shù)

    AXI直接數(shù)值存?。―rect Memory Access,DMA)IPAXI4內(nèi)存映射和AXI4流
    的頭像 發(fā)表于 04-03 09:32 ?1002次閱讀
    一文詳解<b class='flag-5'>AXI</b> DMA技術(shù)

    一文詳解Video In to AXI4-Stream IP

    Video In to AXI4-Stream IP用于將視頻源(帶有同步信號的時鐘并行視頻數(shù)據(jù),即同步sync或消隱blank信號或者而后者皆有)轉(zhuǎn)換成AXI4-Stream接口形
    的頭像 發(fā)表于 04-03 09:28 ?1281次閱讀
    一文詳解Video In to <b class='flag-5'>AXI</b>4-Stream <b class='flag-5'>IP</b><b class='flag-5'>核</b>

    AXI接口FIFO簡介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內(nèi)存映射接口提供了三種樣式:AXI4、AXI3和AXI4-Lite。除了Na
    的頭像 發(fā)表于 03-17 10:31 ?1052次閱讀
    <b class='flag-5'>AXI</b>接口FIFO簡介

    AXI 接口設(shè)計避坑指南:AXI接口筆記

    ? AXI接口筆記 第一章?問題記錄 第1節(jié)?接收數(shù)據(jù)全0或全1 1.1?問題現(xiàn)象 上圖中,pixel_data_o是EC IP輸出的圖像數(shù)據(jù),正確的話會如上圖所示,圖像數(shù)據(jù)每個時鐘會變化并且值
    的頭像 發(fā)表于 03-10 17:21 ?465次閱讀
    <b class='flag-5'>AXI</b> 接口設(shè)計避坑指南:<b class='flag-5'>AXI</b>接口筆記

    ZYNQ基礎(chǔ)---AXI DMA使用

    Xilinx官方也提供有一些DMA的IP,通過調(diào)用API函數(shù)能夠更加靈活地使用DMA。 1. AXI DMA的基本接口 axi dma IP
    的頭像 發(fā)表于 01-06 11:13 ?2301次閱讀
    ZYNQ基礎(chǔ)---<b class='flag-5'>AXI</b> DMA使用

    Vivado中FFT IP的使用教程

    本文介紹了Vidado中FFT IP的使用,具體內(nèi)容為:調(diào)用IP>>配置界面介紹>>IP
    的頭像 發(fā)表于 11-06 09:51 ?3807次閱讀
    Vivado中FFT <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用教程

    芯驛電子 ALINX 推出全新 IP 產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI IP

    10GBe/40GBe UDP 協(xié)議棧 IP 、10GbE TCP/IP 協(xié)議棧 IP 和 NVMe
    的頭像 發(fā)表于 10-30 17:39 ?889次閱讀
     芯驛電子 ALINX 推出全新 <b class='flag-5'>IP</b> <b class='flag-5'>核</b>產(chǎn)品線,覆蓋 TCP/UDP/NVMe <b class='flag-5'>AXI</b> <b class='flag-5'>IP</b> <b class='flag-5'>核</b>

    芯驛電子ALINX推出全新IP產(chǎn)品線

    /40GBe UDP 協(xié)議棧 IP 、10GbE TCP/IP 協(xié)議棧 IP 和 NVMe AXI
    的頭像 發(fā)表于 10-30 11:53 ?688次閱讀
    芯驛電子ALINX推出全新<b class='flag-5'>IP</b><b class='flag-5'>核</b>產(chǎn)品線

    Xilinx DDS IP的使用和參數(shù)配置

    用RAM實現(xiàn)一個DDS,從原理上來說很簡單,在實際使用的時候,可能沒有直接使用官方提供的IP來的方便。這個博客就記錄一下,最近使用到的這個DDS IP。
    的頭像 發(fā)表于 10-25 16:54 ?3886次閱讀
    Xilinx DDS <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用和參數(shù)配置

    如何申請xilinx IP的license

    在使用FPGA的時候,有些IP是需要申請后才能使用的,本文介紹如何申請xilinx IP的license。
    的頭像 發(fā)表于 10-25 16:48 ?1391次閱讀
    如何申請xilinx <b class='flag-5'>IP</b><b class='flag-5'>核</b>的license

    MicroBlaze V軟處理器的功能特性

    本指南提供了有關(guān) AMD Vivado Design Suite 中包含的 32 位和 64 位 MicroBlaze V 軟處理器的信息。該文檔旨在用作為處理器硬件架構(gòu)的指南,隨附《RISC-V 指令集手冊》第一卷和第二卷。
    的頭像 發(fā)表于 10-16 09:17 ?1046次閱讀
    <b class='flag-5'>MicroBlaze</b> V軟<b class='flag-5'>核</b>處理器的功能特性