色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

設(shè)計(jì)中DFX的重要性表現(xiàn)

Spinal FPGA ? 來(lái)源:Spinal FPGA ? 作者:Spinal FPGA ? 2022-10-09 10:25 ? 次閱讀

一種<>也不好使的場(chǎng)景,該assignAllByName上場(chǎng)了。

》出于監(jiān)控的需求 從校園畢業(yè)從事邏輯設(shè)計(jì)也有三年時(shí)光了,對(duì)于邏輯設(shè)計(jì),最大的感受就是在設(shè)計(jì)中DFX的重要性。無(wú)論你自己的設(shè)計(jì)多么牛逼,仿真多么到位,全面的DFX仍舊是必不可少,尤其是跨部門(mén)多團(tuán)隊(duì)合作里,好的DFX能夠在系統(tǒng)上線(xiàn)及運(yùn)維上有極大的幫助。在一些系統(tǒng)設(shè)計(jì)里,我們往往會(huì)對(duì)模塊的各路數(shù)據(jù)接口添加狀態(tài)信息DFX以及一些輔助性能分析的工具。這里以Axiite4為例,我們以如下模塊作為待監(jiān)控模塊:

0300a87c-4170-11ed-96c9-dac502259ad0.png

這里我們假定對(duì)inPort端口添加一些監(jiān)控信息,我們?cè)O(shè)計(jì)如下模塊作為AxiLite4總線(xiàn)的一個(gè)通用監(jiān)控模塊(只是舉例說(shuō)明,非真實(shí)應(yīng)用):

03393de0-4170-11ed-96c9-dac502259ad0.png

這里我們定義了一個(gè)AxiLite4Mon的Component,監(jiān)控aw,w,b,ar,r五路通路的狀態(tài)。這里值得注意的是對(duì)于A(yíng)xiLite4Mon而言,alite接口的所有信號(hào)都是輸入。故其書(shū)寫(xiě)形式為in(AxiLite4(32,32))。也正因如此,當(dāng)我們?cè)贐undleTest中去例化AxiLite4Mon時(shí)你會(huì)發(fā)現(xiàn)采用<>對(duì)alite接口進(jìn)行連線(xiàn)時(shí)生成RTL時(shí)會(huì)報(bào)錯(cuò):

03737af0-4170-11ed-96c9-dac502259ad0.png

原因無(wú)他,對(duì)于A(yíng)xiLite4Mon的aite接口而言,其全部為輸入信號(hào),而對(duì)于inPort接口而言,其既有輸出信號(hào)又有輸入信號(hào),從而導(dǎo)致工具無(wú)法推斷具體的連接關(guān)系。 對(duì)于SpinalHDL了解的小伙伴也許能夠想到,這里把AxiLite4Mon定義擴(kuò)展為Area而非Component:

case class AxiLite4Mon(alite:AxiLite4,state:Bits) extends Area{
state:=alite.aw.fire##alite.w.fire##alite.b.fire##alite.ar.fire##alite.r.fire
}
此時(shí)在BundleTest中例化就可以寫(xiě)成:
AxiLite4Mon(io.inPort,io.state)
誠(chéng)然,這種方式從SpinalHDL的角度來(lái)講更簡(jiǎn)潔,但對(duì)接口做一個(gè)好的DFX監(jiān)控不是像這里的這么簡(jiǎn)單一行代碼。而且尤其當(dāng)合作中有人采用Verilog來(lái)作為開(kāi)發(fā)語(yǔ)言時(shí)最終你生成的代碼功能代碼和這些DFX代碼混合在一起給人看起來(lái)代碼過(guò)長(zhǎng),難以閱讀(當(dāng)然我基本不直接閱讀生成的RTL代碼)。因此像這種總線(xiàn)接口的DFX代碼,個(gè)人還是傾向于采用Component進(jìn)行封裝。 》assignAllByName

像上面的問(wèn)題,如果你手動(dòng)對(duì)alite接口展開(kāi)賦值那我也不攔著,只能說(shuō)沒(méi)學(xué)好SpinalHDL。在SpinalHDL里這些復(fù)雜的接口都集成擴(kuò)展于Bundle。但凡你打開(kāi)過(guò)Bundle的代碼實(shí)現(xiàn),你就會(huì)發(fā)現(xiàn)這里面有一個(gè)assignAllByName的方法實(shí)現(xiàn)很符合我們的需求:

03ef77ae-4170-11ed-96c9-dac502259ad0.png

我們?cè)贐undle中聲明的信號(hào)接口都存儲(chǔ)于elements中,elements的定義形式為:ArrayBuffer[(String, Data)]。這里僅需要根據(jù)定義的信號(hào)名字找到對(duì)應(yīng)的接口信號(hào)進(jìn)行連接即可,這也是assignAllByName所做的事情,相信有點(diǎn)兒Scala基礎(chǔ)上面的代碼并不難理解。此時(shí)像上面的代碼我們就可以輕松實(shí)現(xiàn)了:

0457e17c-4170-11ed-96c9-dac502259ad0.png

這才是SpinalHDL的正確書(shū)寫(xiě)形式。

除了assignAllByName,Bundle中也定義了下面兩種用于連線(xiàn)賦值的API

0537e934-4170-11ed-96c9-dac502259ad0.png

assignSomeByName相比于assignAllByName,其允許that中的部分信號(hào)為null,而bundleAssign則可以讓我們自定義連接賦值函數(shù)。

通過(guò)這些,相信能基本滿(mǎn)足日常代碼設(shè)計(jì)需求。

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

    關(guān)注

    6

    文章

    2212

    瀏覽量

    55237
  • 數(shù)據(jù)接口
    +關(guān)注

    關(guān)注

    1

    文章

    79

    瀏覽量

    17853
  • DFx
    DFx
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    10551

原文標(biāo)題:<>也不好使—assignAllByName

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    論RISC-V的MCUUART接口的重要性

    RISC-V的MCU(微控制器單元)UART(通用異步收發(fā)器)接口的重要性主要體現(xiàn)在以下幾個(gè)方面: 廣泛的適用 : UART接口是一種用于連接兩個(gè)計(jì)算機(jī)設(shè)備的接口,允許一個(gè)設(shè)備向另一個(gè)設(shè)備發(fā)送
    發(fā)表于 05-27 15:52

    求助,ADC接地的重要性

    ADC接地的重要性
    發(fā)表于 06-04 07:56

    基準(zhǔn)源設(shè)計(jì)的重要性

    的充電過(guò)程。讀過(guò)相關(guān)文章“Design SAR-ADC Driver Cirtuitry”工程師,都會(huì)深刻理解SAR-ADC驅(qū)動(dòng)電路后,ADC輸入引腳電容的重要性。原因是在采樣保持過(guò)程SAR-ADC
    發(fā)表于 06-18 06:10

    BGA焊接溫度控制重要性

    `請(qǐng)問(wèn)BGA焊接溫度控制重要性有哪些?`
    發(fā)表于 03-26 16:41

    Syncer模塊的重要性是什么?

    我在我的項(xiàng)目中使用25G以太網(wǎng)IP。通過(guò)打開(kāi)此IP的示例設(shè)計(jì),我們可以看到許多SYNCER模塊,一個(gè)FSM模塊和一個(gè)流量生成器模塊。我想問(wèn)一下這些Syncer模塊的重要性是什么,我是否需要在我的最終設(shè)計(jì)中使用所有syncer模塊。
    發(fā)表于 05-18 09:25

    代碼規(guī)范的重要性是什么

    論代碼規(guī)范的重要性
    發(fā)表于 05-19 13:07

    使用ODDR原語(yǔ)的重要性是什么?

    你好我將virtex5 LX50與具有應(yīng)根據(jù)standardEIA / TIA-644 LVDS規(guī)范終止的輸出數(shù)據(jù)的設(shè)備連接起來(lái)我在用著IBUFDS用于將輸入LVDS轉(zhuǎn)換為L(zhǎng)VTTL,OBUFDS用于輸出信號(hào)和時(shí)鐘這是這樣做的正確方法為此目的使用ODDR原語(yǔ)的重要性是什么?問(wèn)候uzmeed
    發(fā)表于 06-17 14:59

    欠壓保護(hù)的重要性

    欠壓保護(hù)的重要性雙電源供電時(shí)欠壓保護(hù)電路的注意事項(xiàng)
    發(fā)表于 03-03 06:06

    什么是網(wǎng)絡(luò)拓?fù)洌?b class='flag-5'>重要性是什么?

    什么是網(wǎng)絡(luò)拓?fù)洌?b class='flag-5'>重要性是什么?
    發(fā)表于 03-17 06:50

    論調(diào)節(jié)閥的重要性

    調(diào)節(jié)閥的重要性執(zhí)行機(jī)構(gòu)的選擇  論調(diào)節(jié)閥的重要性:  1.控制閥是一種節(jié)流裝置,屬于運(yùn)動(dòng)部件。與檢測(cè)元件、變送器和控制器相比,在控制過(guò)程,控制閥需要不斷改變節(jié)流部分的過(guò)流面積,使控制變量的變化適應(yīng)
    發(fā)表于 09-15 07:25

    ATPG是什么?ATPG有何重要性

    ATPG是什么?ATPG有何重要性?常見(jiàn)的DFT技術(shù)有哪幾種?
    發(fā)表于 11-02 09:31

    時(shí)鐘服務(wù)器的重要性是什么?

    時(shí)鐘服務(wù)器的重要性是什么?
    發(fā)表于 11-08 08:31

    UPS的重要性

    中心機(jī)房的UPS太重要了,前不久就出現(xiàn)過(guò)停電壞了一個(gè)磁盤(pán)陳列硬盤(pán)的事故,一個(gè)2T的硬盤(pán)壞了,還好有一個(gè)備用的硬盤(pán)使用,否則磁盤(pán)陳列里的資料就岌岌可危了。服務(wù)器多了,UPS的重要性尤其重要,學(xué)校周邊
    發(fā)表于 11-16 09:09

    arm匯編的重要性是什么?

    arm匯編的重要性是什么?
    發(fā)表于 11-30 08:03

    POE浪涌保護(hù)的重要性是什么?

    POE浪涌保護(hù)的重要性是什么?
    發(fā)表于 01-14 06:07
    主站蜘蛛池模板: 尤物国产在线精品三区| 甜性涩爱bt下载| 三级网站视频在线观看| 久久婷婷丁香五月色综合啪免费| 国产精品99久久久久久AV色戒| chinesetoilet美女沟| 在线日本v二区不卡| 亚洲视频无码高清在线| 无码丰满人妻熟妇区| 色尼姑久久超碰在线| 日本熟妇多毛XXXXX视频| 青青青伊人| 欧美日韩精品久久久免费观看| 蜜芽亚洲欧美一区二区电影| 久久无码AV亚洲精品色午夜| 久久66热在线视频精品| 久久99re6热在线播放| 精品久久久久久综合网| 精品区2区3区4区产品乱码9| 久久99视频免费| 久久久青青| 浪潮AV色综合久久天堂| 免费观看的毛片| 欧美成人中文字幕在线看| 欧美日韩国产码在线| 三级网站视频在线观看| 校花被扒衣吸乳羞羞漫画| 亚洲国产精品无码AV久久久| 日韩在线视频www色| 日日干夜夜艹| 四房播播开心色播| 亚洲 欧美 国产 综合 播放| 亚洲精品一二三区区别在哪| 一区二区三区无码高清视频 | 扒开 浓密 毛| 大稥焦伊人一本dao| 国产精品资源网站在线观看| 国精品产露脸偷拍视频| 久热在线这里只有精品7| 欧美成人精品高清在线观看| 人妻换人妻AA视频|