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

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

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

三分鐘教你快速處理沒有使用的端口信號

Spinal FPGA ? 來源:Spinal FPGA ? 2023-03-06 14:11 ? 次閱讀

編 者 按

用DataAnalyzer快速處理沒有使用到的端口信號

避不開的場景 如果熟悉SpinalHDL設(shè)計(jì),那么都應(yīng)該清楚在SpinalHDL設(shè)計(jì)里,如果輸出端口沒有給明確賦值的話,那么在生成RTL代碼時(shí)會報(bào)錯(cuò)提示我們沒有為端口賦值。想想如果你在設(shè)計(jì)一個(gè)AXI4的測試邏輯,但你并不需要使用里面的全部信號(要知道AXI4總線配置里面的哪個(gè)信號使用哪個(gè)不使用可使一大堆參數(shù)),如果想要做的模塊在任何場景下都能直接連接使用的話,最早對于我沒有使用的信號我是這么來處理的:

if(axi4Port.useRegion)axi4Port.clearAll()
if(axi4Port.useLock) axi4Port.lock.clear()
……
是不是寫起來很啰嗦?~ 還有一個(gè)場景就是在FPGA里面在制作PR版本時(shí)對于動(dòng)態(tài)區(qū)和靜態(tài)區(qū)之間的接口信號為了方便后續(xù)Impl版本的時(shí)序收斂,對于沒有使用到的信號以及賦常值的信號都建議添加約束:

對于輸入沒有使用到的信號,內(nèi)部定義一個(gè)寄存器來鎖存信號,并把這個(gè)寄存器的屬性設(shè)置為nopurne

對于暑促好信號,則建議將輸出信號必須為reg類型,并將該輸出信號配置為preserve屬性。

對于這種使用不到的信號,一個(gè)個(gè)的follow這些原則不免有點(diǎn)兒太過于“體力活”~ 而在SpinalHDL里,我們可以通過DataAnalyzer來快速地實(shí)現(xiàn)這些沒有使用到的端口信號。 》DataAnalyzer

考慮下面這個(gè)簡單的模塊:

5c4c2854-bbd5-11ed-bfe3-dac502259ad0.png

在這個(gè)模塊里,對于輸入的data1接口我們并沒有用,而對于輸出out2端口,我們也并沒有輸出賦值。

現(xiàn)在,如果我們想要實(shí)現(xiàn)針對PR那種場景的需求,我們可以通過DataAnalyzer來寫一個(gè)通用的處理代碼:

5c741c42-bbd5-11ed-bfe3-dac502259ad0.png

這里我們?yōu)槟K添加一個(gè)PrePopTask。對于io里面的每個(gè)信號,都例化一個(gè)DataAnalyzer,對于接口為輸入信號(port.isInput),并且其沒有任何扇出信號(analysier.getFanOut.isEmpty),則將其賦值給一個(gè)寄存器,并對該寄存器添加“nopurne”屬性。而如果接口信號為輸出信號(port.isOutput),并且沒有任何的信號給他賦值(analysier.getFanIn.isEmpty),則將其設(shè)置為寄存器,賦值為0并添加“preserve”屬性。最終生成的代碼:

5c9f333c-bbd5-11ed-bfe3-dac502259ad0.png

完全符合我們的需求~

結(jié)語

能省功夫就省功夫,在Boss的許可下,選擇盡可能高效的工具,這周工作里修改一個(gè)Verilog代碼,在SpinalHDL里面五分鐘能實(shí)現(xiàn)的需求Verilog里改了小半天,極大打擊工作熱情~

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

    關(guān)注

    1625

    文章

    21625

    瀏覽量

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

    關(guān)注

    31

    文章

    5295

    瀏覽量

    119824
  • 信號
    +關(guān)注

    關(guān)注

    11

    文章

    2773

    瀏覽量

    76541
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2859

    瀏覽量

    87914
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    948

    瀏覽量

    31985

原文標(biāo)題:三分鐘教你快速處理沒有使用的端口信號

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

收藏 人收藏

    評論

    相關(guān)推薦

    免費(fèi)三分鐘

    免費(fèi)三分鐘回?fù)茈娫?,綠色的,對號碼有次數(shù)限制.有三分鐘通話時(shí)長,,反其道而行不就又是三分鐘,請各位靈活運(yùn)用(見例)假如我的電話是1301309****,而我要打的電話是1386551****.把
    發(fā)表于 03-02 17:27

    職場啟示: 三分鐘碎片化

    也無法寫好。 明白這一點(diǎn),你就會意識到,有些工作的確需要大塊的時(shí)間,但如果不是提前做夠鋪墊,這些大塊的時(shí)間并不會有效率。 所以我自己的習(xí)慣是“五分鐘方案法”。也就是說: 一份完整的方案=5分鐘構(gòu)思
    發(fā)表于 08-07 14:06

    讓程序運(yùn)行三分鐘,停一分鐘,循環(huán)下去,直到設(shè)置停止循環(huán)的位置

    本帖最后由 我想看看太陽 于 2022-6-9 11:52 編輯 讓這個(gè)程序運(yùn)行三分鐘,停一分鐘,循環(huán)下去,直到設(shè)置停止循環(huán)的位置,需要添加什么模塊才能實(shí)現(xiàn)呢
    發(fā)表于 06-08 15:03

    三分鐘讓你明白電池為什么會鼓包

    三分鐘讓你明白電
    發(fā)表于 11-12 08:18 ?7.1w次閱讀

    Inout雙向端口信號處理方法

    Inout端口信號做輸入時(shí),觀察例子中的輸出Data_out_t就應(yīng)該是高阻態(tài)的,Inout在具體實(shí)現(xiàn)上一般用態(tài)門來實(shí)現(xiàn)。態(tài)門的第個(gè)狀態(tài)就是高阻''Z''。當(dāng)Inout
    發(fā)表于 11-11 10:24 ?3862次閱讀

    三分鐘能做什么?三分鐘能讓我的iPhone6s重啟N次!

    蘋果系統(tǒng)是以穩(wěn)定著稱,不過這位網(wǎng)友發(fā)來求助,稱自己的iPhone6s三分鐘時(shí)間重啟了N次。并且拍了視頻,系統(tǒng)為IOS10.2.1。
    發(fā)表于 02-25 10:18 ?2564次閱讀

    小米掃地機(jī)器人臺灣開售 三分鐘售罄

    首批小米掃地機(jī)器人于4月6日如約在臺灣地區(qū)開售,售價(jià)8895臺幣(約合1915元人民幣),開售三分鐘,5000臺掃地機(jī)器人在小米臺灣官網(wǎng)即告售罄。
    發(fā)表于 04-07 10:45 ?1227次閱讀

    三分鐘快速回顧!11月無人機(jī)大事件

    三分鐘快速回顧一下! 日本計(jì)劃減少對中國無人機(jī)依賴 11月2日消息,日本為保護(hù)國家敏感信息數(shù)據(jù)安全,正計(jì)劃在政府采購無人機(jī)時(shí),排除與中企相關(guān)的產(chǎn)品,具體排除部分主要圍繞信息技術(shù)、供應(yīng)鏈、網(wǎng)絡(luò)安全和知識產(chǎn)權(quán)等方面。與此同
    的頭像 發(fā)表于 11-23 18:05 ?2381次閱讀

    三分鐘概述8類常用元器件資料下載

    電子發(fā)燒友網(wǎng)為你提供三分鐘概述8類常用元器件資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 03-28 08:40 ?6次下載
    <b class='flag-5'>三分鐘</b>概述8類常用元器件資料下載

    Brocade幫助Netzlink實(shí)現(xiàn)三分鐘云服務(wù)供應(yīng)

    電子發(fā)燒友網(wǎng)站提供《Brocade幫助Netzlink實(shí)現(xiàn)三分鐘云服務(wù)供應(yīng).pdf》資料免費(fèi)下載
    發(fā)表于 08-29 10:12 ?0次下載
    Brocade幫助Netzlink實(shí)現(xiàn)<b class='flag-5'>三分鐘</b>云服務(wù)供應(yīng)

    快樂解說MCU:三分鐘,帶你了解低功耗MCU

    快樂解說MCU:三分鐘,帶你了解低功耗MCU
    的頭像 發(fā)表于 09-18 10:56 ?1267次閱讀

    三分鐘實(shí)現(xiàn)MQTT協(xié)議網(wǎng)關(guān)串口連接菱FX3UPLC上傳騰訊云

    三分鐘實(shí)現(xiàn)MQTT協(xié)議網(wǎng)關(guān)串口連接菱FX3UPLC上傳騰訊云
    的頭像 發(fā)表于 10-23 16:23 ?955次閱讀
    <b class='flag-5'>三分鐘</b>實(shí)現(xiàn)MQTT協(xié)議網(wǎng)關(guān)串口連接<b class='flag-5'>三</b>菱FX3UPLC上傳騰訊云

    三分鐘看懂雪崩光電二極管

    三分鐘看懂雪崩光電二極管
    的頭像 發(fā)表于 11-23 09:09 ?1797次閱讀
    <b class='flag-5'>三分鐘</b>看懂雪崩光電二極管

    三分鐘了解飛創(chuàng)直線電機(jī)運(yùn)動(dòng)模組特點(diǎn)、選型及應(yīng)用-FCL系列

    三分鐘了解飛創(chuàng)直線電機(jī)運(yùn)動(dòng)模組特點(diǎn)、選型及應(yīng)用-FCL系列
    的頭像 發(fā)表于 02-05 16:28 ?541次閱讀
    <b class='flag-5'>三分鐘</b>了解飛創(chuàng)直線電機(jī)運(yùn)動(dòng)模組特點(diǎn)、選型及應(yīng)用-FCL系列

    Node-RED初學(xué)者教程-三分鐘學(xué)習(xí)

    通過這短短三分鐘的教程,你已經(jīng)掌握了Node-RED的基本操作。你可以利用Node-RED的強(qiáng)大功能來創(chuàng)建更復(fù)雜的數(shù)據(jù)流和自動(dòng)化任務(wù),無論是物聯(lián)網(wǎng)應(yīng)用、API集成還是數(shù)據(jù)處理。Node-RED簡化了編程過程,讓開發(fā)更直觀、更高效。繼續(xù)探索Node-RED,你會發(fā)現(xiàn)更多強(qiáng)大
    的頭像 發(fā)表于 06-27 17:09 ?2212次閱讀
    Node-RED初學(xué)者教程-<b class='flag-5'>三分鐘</b>學(xué)習(xí)