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

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

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

如何在IPI流程中修改(以太網(wǎng))IP工程(及其所包含的GT模塊)的代碼與屬性

jf_pJlTbmA9 ? 來(lái)源:AMD Xilinx開(kāi)發(fā)者社區(qū) ? 作者:AMD Xilinx開(kāi)發(fā)者社區(qū) ? 2023-07-10 17:21 ? 次閱讀

目前絕大多數(shù)的Versal IP所提供的例子工程,都使用了IPI的流程。
這篇blog會(huì)給大家介紹如何修改IP例子工程(Block Design)里的IP和GT模塊的源代碼與屬性。這里用的是以太網(wǎng)IP,如MRMACDCMAC作為示例。當(dāng)然這些修改的方法,也適用于其它調(diào)用了GT的各種IP。

這篇blog主要包含以下4個(gè)方面內(nèi)容:
1. 使用APB3接口修改GT的參數(shù)屬性

2. 如何從Block Design的模塊內(nèi)部,獲取GT端口信號(hào)的控制

3. 通過(guò)CIPS讀、寫(xiě)以太網(wǎng)IP的寄存器

4. 如何修改IP的內(nèi)部源代碼

首先,產(chǎn)生一個(gè)DCMAC或者M(jìn)RMAC IP的例子工程。

如下圖可以看到,IP的例子工程里面有個(gè)Block Design(BD)工程,里頭包含了MAC core(.xci)和GT wrapper模塊。另外,工程里還有個(gè)CIPS模塊,用來(lái)讀寫(xiě)寄存器。

1672904763150970.png

1. 使用APB3接口修改GT的參數(shù)屬性

在產(chǎn)生的MRMAC例子工程中,GT的APB3接口是直接拉出來(lái)的,但是在代碼邏輯里面并沒(méi)有被使用,如下圖,在”*_exdes.sv”文件里可以找到。

1672904775354227.png

請(qǐng)參考GT用戶手冊(cè)(如GTM的文檔AM017)中的章節(jié)“Fabric Configuration Interface”,來(lái)操作APB3接口。這個(gè)新的APB3接口,跟GT以前用的DRP接口非常類似,可以通過(guò)該接口,動(dòng)態(tài)讀寫(xiě)GT的參數(shù)屬性。

1672904785991534.png

在另一篇blog“Differences When Designing with UltraScale+ GTY and Versal GTY/GTYP“當(dāng)中,提供了一個(gè)如何使用VIO去控制APB3的例子,可供參考使用。它還提供了另一個(gè)例子,使用AXI總線替換APB3接口來(lái)操作。

2. 如何從Block Design的模塊內(nèi)部,獲取GT端口信號(hào)的控制

一個(gè)IP core調(diào)用了GT模塊,但并不一定會(huì)用上所有的GT端口管腳。這些端口信號(hào)很有可能被留在了Block Design的模塊內(nèi)部,而沒(méi)有拉到頂層來(lái)。但是在有的時(shí)候,客戶為了自己的設(shè)計(jì)會(huì)想要去控制某些被留在BD內(nèi)部的GT輸入輸出端口信號(hào),例如為了做一些debug工作等。
這篇AR“75857 - Versal GTY Pass Through Mode - How do I tie off all of the interface pins/Changes from previous versions of the IP“介紹了如何去獲取以及控制內(nèi)部的GT模塊的端口信號(hào)。

下面是一個(gè)例子,詳細(xì)描述了如何可以手動(dòng)把你想要用的GT端口從BD設(shè)計(jì)內(nèi)部拉到IP頂層來(lái),供你的邏輯驅(qū)動(dòng)。

比方說(shuō),在一個(gè)DCMAC IP的例子工程當(dāng)中,不同于上面的MRMAC example,這個(gè)DCMAC example也沒(méi)有使用到GT的APB3接口信號(hào),這些端口不僅沒(méi)有連接,還被保留在了Block Design內(nèi)部,沒(méi)有被拉出來(lái)。首先,可以點(diǎn)開(kāi)Block Design,找到gt_quad_base模塊和它的APB3接口信號(hào),如下圖。右鍵點(diǎn)擊這個(gè)端口,選擇“Make External“。然后Vivado 工具會(huì)自動(dòng)把這些點(diǎn)選到的信號(hào),拉到頂層模塊。

1672904805482325.png

接下來(lái),請(qǐng)點(diǎn)擊“Generate Block Design“,完成后,你就能夠在example頂層設(shè)計(jì)里直接用邏輯去控制這些拉出來(lái)的GT端口信號(hào)了。

1672904814785052.png

3. 通過(guò)CIPS讀、寫(xiě)以太網(wǎng)IP的寄存器

在DCMAC或者M(jìn)RMAC IP的例子工程里面,都調(diào)用CIPS模塊,該模塊可以用來(lái)讀寫(xiě)以太網(wǎng)IP的寄存器。

首先,你可以打開(kāi)example top文件的源代碼,找到CIPS模塊的信號(hào)連接,再點(diǎn)開(kāi)Vivado工程里面的“Address Editor“,確認(rèn)每個(gè)模塊對(duì)應(yīng)的地址分配情況,如下面兩張圖。

1672904823634755.png

1672904832635082.png

請(qǐng)?jiān)?a href="http://www.ttokpm.com/tags/amd/" target="_blank">AMD的網(wǎng)站上,下載這些以太網(wǎng)IP的寄存器地址映射信息。

(比如MRMAC的pg314-mrmac_registers_v1_5.zip)
在以太網(wǎng)IP的文檔中(如MRMAC的PG314)描述了如何使用XSDB平臺(tái),通過(guò)CIPS讀寫(xiě)IP的寄存器。請(qǐng)?jiān)赥era Term工具中打開(kāi)XSDB Console,使用mrd/mwr指令,實(shí)現(xiàn)讀寫(xiě)寄存器。

這里是一組用以完成MRMAC初始化的寄存器讀寫(xiě)指令的例子。

mwr-force27520532520x00000FFF
mwr-force27520532560x40000A24
mwr-force27520532640x00000033
mwr-force27520532600x00000C03
mwr-force27520534560x00000000
mwr-force27520575520x00000000
mwr-force27520616480x00000000
mwr-force27520657440x00000000
mwr-force27520532520x00000000
mwr-force27520532920x00000001
mwr-force27525120000x00000F02
mwr-force27525120000x00000002
mrd-force2752577544
mwr-force27520551080xFFFFFFFF
mwr-force27520592040xFFFFFFFF
mwr-force27520633000xFFFFFFFF
mwr-force27520673960xFFFFFFFF
mrd-force2752055108
mrd-force2752059204
mrd-force2752063300
mrd-force2752067396

4. 如何修改IP的內(nèi)部源代碼

有的時(shí)候,用戶還會(huì)想要直接修改IP內(nèi)部那些沒(méi)有被加密的HDL源代碼。點(diǎn)開(kāi)Vivado工程里的.xci IP,可以看到內(nèi)部有很多代碼模塊。有些模塊仍然是有HDL源代碼的,但是因?yàn)檫@些代碼文件在IP的.xci下面,因此不能直接修改,如果直接改完,工具在跑流程的過(guò)程中,很可能重新自動(dòng)產(chǎn)生這個(gè)文件把你的手動(dòng)修改給覆蓋掉。

你可以參考這個(gè)AR里面介紹的,Vivado的手動(dòng)修改IP代碼的流程操作“57546 - Vivado IP Flows - How to modify/edit IP core source files in Vivado?“;在本文的IPI流程當(dāng)中,我們可以采用類似的方式,來(lái)實(shí)現(xiàn)手動(dòng)修改IP內(nèi)部代碼。

首先用下面這個(gè)命令,將需要修改的IP Lock住。

set_propertyIS_LOCKEDtrue[get_filesXXX.xci]

1672904846659803.png

然后在Vivado以外找一個(gè)第三方的文本編輯器工具,打開(kāi)要改的這個(gè)HDL源代碼文件,修改后保存,重新綜合IP,這樣Vivado就不會(huì)重新生成這個(gè)文件覆蓋你的修改了。你的手動(dòng)修改將能夠起效。

審核編輯:湯梓紅

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

    關(guān)注

    7

    文章

    2613

    瀏覽量

    47018
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5288

    瀏覽量

    169679
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119210
  • Versal
    +關(guān)注

    關(guān)注

    1

    文章

    151

    瀏覽量

    7598
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于TCP IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計(jì)

    基于TCP IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計(jì)基于TCP / IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計(jì)杜廣微, 張軍國(guó), 韓 寧摘 要:嵌入式技術(shù)在以太網(wǎng)
    發(fā)表于 06-27 09:33

    關(guān)于以太網(wǎng)IP地址如何修改

    有沒(méi)有用神舟IV號(hào)開(kāi)發(fā)板的?以太網(wǎng)實(shí)驗(yàn)IP地址如何修改?還有接收到的數(shù)據(jù)在哪里?
    發(fā)表于 06-17 17:16

    百兆以太網(wǎng)改千兆,要怎么修改程序?

    。。。)用88E1111在 quartus調(diào)用MAC的IP核實(shí)現(xiàn)百兆以太網(wǎng)代碼,現(xiàn)在不知道除了修改配置寄存器的代碼 ,怎么
    發(fā)表于 10-03 09:12

    自動(dòng)化行業(yè)的全廠自動(dòng)化以太網(wǎng)/IP

    的靈活性、數(shù)十年的發(fā)展以及供應(yīng)商群體的成熟度。在本部分,我們將看看EtherNet/IP?,并考察如何在全廠自動(dòng)化和控制系統(tǒng)實(shí)施EtherNet/IP?。該標(biāo)準(zhǔn)以
    發(fā)表于 10-22 16:45

    以太網(wǎng)和工業(yè)以太網(wǎng)的不同

    停止灌裝流程,防止造成時(shí)間、產(chǎn)品和資金損失。以太網(wǎng)和工業(yè)以太網(wǎng)之間的其他差別Real Time Automation公司表示,以太網(wǎng)一般更多地用于辦公環(huán)境,而非工業(yè)環(huán)境
    發(fā)表于 10-23 14:20

    【FPGA DEMO】Lab 10:千兆以太網(wǎng)

    下:系統(tǒng)設(shè)計(jì):實(shí)現(xiàn)過(guò)程:1:在代碼改源MAC地址為自己電腦的MAC地址,如果不知道自己 PC 網(wǎng)卡的 mac address,就在DOS命令窗口,用 ipconfig–all命令查看。2:以太網(wǎng)
    發(fā)表于 07-30 16:10

    基于嵌入式模塊comX的實(shí)時(shí)以太網(wǎng)

    摘要:隨著實(shí)時(shí)工業(yè)以太網(wǎng)技術(shù)的發(fā)展,在最新版本的IEC61158 Ed.4標(biāo)準(zhǔn)已經(jīng)包含了Profinet,EtherCAT,Ethernet/IP,SERCOS III等11種實(shí)時(shí)
    發(fā)表于 12-20 06:24

    Android系統(tǒng)啟動(dòng)以太網(wǎng)卡及支持雙網(wǎng)卡共存的操作流程

    以太網(wǎng)卡的話,需要在platform.xml添加以太網(wǎng)feature,代碼如下:<feature name=&quot
    發(fā)表于 05-25 10:29

    ETH-CH32v20x_v307在Freertos添加以太網(wǎng)

    使用V208以太網(wǎng),所以若想使用V203RBT6的以太網(wǎng),則需要修改相應(yīng)啟動(dòng)文件,在工程屬性設(shè)置
    發(fā)表于 08-09 10:41

    基于以太網(wǎng)接口的TCP/IP 實(shí)驗(yàn)

    基于以太網(wǎng)接口的TCP/IP 實(shí)驗(yàn) 一. 實(shí)驗(yàn)?zāi)康倪M(jìn)行一次TCP/IP 的通訊實(shí)驗(yàn),使用戶初步了解以太網(wǎng)、IP、ARP、ICMP 等協(xié)議。
    發(fā)表于 09-26 16:51 ?2008次閱讀
    基于<b class='flag-5'>以太網(wǎng)</b>接口的TCP/<b class='flag-5'>IP</b> 實(shí)驗(yàn)

    Ethernet/IP工業(yè)以太網(wǎng)的研究

    介紹了工業(yè)以太網(wǎng)的發(fā)展改進(jìn)狀況,對(duì)Ethernet/IP這種新型工業(yè)以太網(wǎng)的協(xié)議模型及其采用的生產(chǎn)者/消費(fèi)者通訊模式和面向連接的,CIP(Common Industrial Proto
    發(fā)表于 05-05 16:19 ?53次下載
    Ethernet/<b class='flag-5'>IP</b>工業(yè)<b class='flag-5'>以太網(wǎng)</b>的研究

    ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供 代碼

    ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供 代碼ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供
    發(fā)表于 05-17 17:47 ?22次下載

    萬(wàn)兆以太網(wǎng)IP SAN的融合

    IP SAN存儲(chǔ)網(wǎng)融合到萬(wàn)兆以太網(wǎng)絡(luò),將大大增加了IP SAN網(wǎng)絡(luò)的通信帶寬,提高主機(jī)訪問(wèn)存儲(chǔ)的速度,同時(shí)由于
    的頭像 發(fā)表于 01-24 15:16 ?3080次閱讀

    以太網(wǎng)和wifi的區(qū)別_以太網(wǎng)怎樣修改WIFI密碼

    本文首先闡述了以太網(wǎng)和wifi的區(qū)別,其次介紹了以太網(wǎng)修改WIFI密碼方法,最后分析了電腦怎么把以太網(wǎng)改成無(wú)線網(wǎng)絡(luò)。
    發(fā)表于 03-20 10:26 ?3.1w次閱讀

    GCAN以太網(wǎng)can網(wǎng)關(guān)如何修改本地IP?

    聯(lián)系,我們首先要讓這兩者處于一個(gè)網(wǎng)段之中,這怎么實(shí)現(xiàn)呢? 很簡(jiǎn)單,我們首先將GCAN以太網(wǎng)can網(wǎng)關(guān)恢復(fù)為出廠IP,一般都是192.168.1.10。然后,我們只要讓電腦的IP為192.168.1.X(X為1到255的任意數(shù)字,
    的頭像 發(fā)表于 05-15 13:20 ?514次閱讀