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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

asBits函數如何轉換成Bits數據類型

Spinal FPGA ? 來源:Spinal FPGA ? 作者:Spinal FPGA ? 2022-10-17 09:53 ? 次閱讀

SpinalHDL中Bundle與SystemVerilog中的packed struct很像,在某些場景下,與普通數據類型之間的連接賦值可以通過asBits,assignFromBits來實現。

》Bundle—>Bits 在SpinalHDL中,無論是哪種數據類型都是可以轉換成Bits類型,我們擴展Bundle類型定義的復雜數據類型也不例外,可以通過asBits函數將自定義的數據類型轉換成Bits數據類型。以下面所定義的數據類型為例:

case class port() extends Bundle with IMasterSlave {
val data0=UInt(8 bits)
val data1=Bits(8 bits)
val last=Bool()


override def asMaster(): Unit = {
out(data0,data1,last)
  }
}
我們完全可以通過調用asBits函數將其轉換成Bits類型:
val portInst=port()
valdata=portInst.asBits
生成的Verilog代碼將對應:
assign data = {portInst_last,{portInst_data1,portInst_data0}};
這里與SystemVerilog中的packed struct略不相同的是,在SystemVerilog中packed struct中先定義的元素排在最高位,而在SpinalHDL Bundle中先定義的元素在轉換成Bits時則是排在最低位,這與asBits函數的實現有關:

47ceacc4-4d3c-11ed-a3b6-dac502259ad0.jpg

》Bits—>Bundle

Bits—>Bundle的轉換可以通過assignFromBits來實現。在SpinalHDL中針對Bundle類型,提供了三種不同的實現:

assignFromBits(bits:Bits)—將bits整個賦值給Bundle,當bits位寬大于Bundle定義的位寬時,高位將抹去。

assignFromBits(bits:Bits,hi:Int,lo:Int)—將bits整個賦值給Bundle對應Bits的(hi down to lo),多余的位將抹去

assignFromBits(bits:Bits,offset:Int,bitCount:BitCount)—等價于assignFromBits(bits,offset:Int+bitCount.value,offset)

在和已有的一些Verilog/SystemVerilog接口進行對接時這些API還是很有作用的,可以方便的實現接口轉換以實現功能。

像下面的用法是等價的:

val dataIn=Bits(17 bits)
val portInst=port()
portInst.assignFromBits(dataIn)
等價于:
portInst.data0:=dataIn(7downto 0)
portInst.data1:=dataIn(15 downto 8)
portInst.last:=dataIn(16)



valportData=Bits(16bits)
valportLast=Bits(16bits)
val portInst=port()
portInst.assignFromBits(portData,15,0)
portInst.last:=portLast


等價于
portInst.data0:=portData(7 downto 0)
portInst.data1:=portData(15 downto 8)
portInst.last:=portLast

下面的這個例子展示了如果通過這些方法調用SpinalHDL中的StreamArbiter來實現兩個port端口FragmentLock RR調度:

47fc2262-4d3c-11ed-a3b6-dac502259ad0.png

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7133

    瀏覽量

    89375
  • 函數
    +關注

    關注

    3

    文章

    4345

    瀏覽量

    62867
  • BITS
    +關注

    關注

    0

    文章

    4

    瀏覽量

    8103
收藏 人收藏

    評論

    相關推薦

    JAVA語言的數據類型轉換

    :3+4.5是double型,所以3先被轉換為double型,然后再與4.5相加,其結果也為double型。3.7.2 強制類型轉換高級數據類型
    發表于 12-06 00:30

    變量和數據類型PPT教程

    變量和數據類型PPT教程程序是為執行一項任務而編寫的有序指令集算法是解決問題的具體方法和步驟流程圖是算法的圖形化表現形式C語言的特點C程序的編譯和運行過程編譯器將源程序轉換成機器能理解的程序連接器
    發表于 06-20 16:38

    labview音頻數據類型與生成噪音的數據類型不一致。

    能同時連接到相同的波形圖上,會提示數據類型不一致。請問如何才能將數據類型轉換成一致的,或是還有什么辦法可以解決此問題?左右分別在兩個事件分支里
    發表于 04-01 15:21

    關于數據類型轉換的問題

    如圖,最右邊的反饋節點輸出M序列。這個M序列的數據類型是布爾型。樓主想把M序列的數據類型轉換成布爾型數組。想了好久都不知道該怎么操作。希望能有人解答。樓主不勝感激
    發表于 04-27 21:07

    怎么轉換連接數據類型

    請問怎么把圖二中的“藍線”轉換成圖一中的“紅色”數據類型?很急,在線等,謝謝!
    發表于 11-29 09:33

    請問使用強制數據類型轉換函數的時候,數據類型type端該如何設置,才能使數據成功轉換類型

    端要如何設置,才能使其強制轉換成兩個U8數據?2.如圖所示的框圖和前面板,為什么第一次強制數據類型轉換顯示出來是亂碼?
    發表于 06-25 20:33

    如何把字符轉換成數據類型方便我們使用?

    如何把字符轉換成數據類型方便我們使用?
    發表于 12-09 06:44

    如何利用一個函數將24位的數據類型轉換成32位的呢

    計算機中的負數是怎么存儲的?如何利用一個函數將24位的數據類型轉換成32位的呢?
    發表于 02-25 06:16

    SpinalHDL中Bundle與普通數據類型之間的連接賦值轉換

    。》Bundle—>Bits在SpinalHDL中,無論是哪種數據類型都是可以轉換成Bits類型,我們擴展Bundle
    發表于 10-18 14:22

    怎么把int類型數據轉換成字符串?

    怎么把 int 類型數據轉換成字符串: 看項目有用 micrilib,itoa() 函數 和 sprintf() 能不能用呢?怎么用 比如把 int a=10;
    發表于 11-01 08:27

    C++之類型轉換函數詳解

    一、轉換構造函數的學習:1、回憶數據類型轉換:在平時寫代碼的時候,最怕的就是那種隱式數據類型轉換
    的頭像 發表于 12-24 15:31 ?877次閱讀

    SpinalHDL中Bundle數據類型轉換

    SpinalHDL中Bundle與SystemVerilog中的packed struct很像,在某些場景下,與普通數據類型之間的連接賦值可以通過asBits,assignFromBits來實現。
    的頭像 發表于 10-17 09:51 ?1350次閱讀

    什么是數據類型轉換

    常用的3種數據類型:1、Python數據類型第一種:字符串(str)。 2、Python數據類型第二種:整數(int)。 3、Python數據類型第三種:浮點數(float)。
    的頭像 發表于 02-23 15:21 ?1800次閱讀

    什么是數據類型轉換

    數據類型轉換就是將數據(變量、數值、表達式的結果等)從一種類型轉換為另一種類型
    的頭像 發表于 02-27 15:04 ?1453次閱讀
    什么是<b class='flag-5'>數據類型</b><b class='flag-5'>轉換</b>

    GaussDB數據類型轉換介紹

    數據類型轉換在實際應用中非常常見。GaussDB 作為一款企業級分布式關系型數據庫,在實際業務場景使用中,也會避免不了數據類型轉換。以下是
    的頭像 發表于 06-05 16:29 ?895次閱讀
    GaussDB<b class='flag-5'>數據類型</b><b class='flag-5'>轉換</b>介紹
    主站蜘蛛池模板: 日韩高清毛片| 东北真实仑乱| 久久有码中文字幕| 在线天天看片视频免费观看 | 性欧美金发洋妞xxxxbbbb| 狠狠啪 日日啪| 999久久精品国产| 窝窝午夜色视频国产精品东北| 精品国产在线国语视频| 91av成年影院在线播放| 色色色五的天| 老王午夜69精品影院| 国产成人刺激视频在线观看| 一个人看的www视频动漫版| 青青涩射射| 九九久久国产精品大片| 超碰99热在线精品视频| 亚洲日韩在线观看| 日本xxx护士与黑人| 狠狠色狠狠色综合| 成人免费观看国产高清| 一边亲着一面膜下奶韩剧免费| 欧美日韩888在线观看| 国精产品一区一区三区有限在线| 99视频免费在线| 野花韩国中文版免费观看| 色多多涩涩屋下载软件| 老鸭窝毛片| 国产综合在线观看| 岛国精品在线观看| 2023极品少妇XXXO露脸| 亚洲国产成人精品不卡青青草原 | 女人被弄到高潮叫床免 | 最近中文字幕完整版高清| 天堂色| 牛牛在线视频| 久久99精品国产99久久6男男| 俄罗斯15一16处交| 97人摸人人澡人人人超一碰| 亚洲精品电影久久久影院| 日韩中文亚洲欧美视频二|