女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

如何對SpinalEnum類型進(jìn)行操作

lhl545545 ? 來源:Spinal FPGA ? 作者:Spinal FPGA ? 2022-09-05 10:37 ? 次閱讀

SpinalEnum其實(shí)一直很少直接使用,前段時(shí)間做Avalon總線的仿真偶爾用到,初上手仿真還略微耽誤了我?guī)追昼姡裉炀蚐pinalEnum的仿真簡單share下。

》關(guān)于SpinalEnum SpinalEnum說白了就是一個(gè)枚舉類型,像SpinalHDL中所提供的fsm lib其狀態(tài)的表示均采用的SpinalEnum。使用其好處是我們在查看波形時(shí)能夠所見即所得,看到波形的狀態(tài),像下面的樣子:

04c91b94-2bf9-11ed-ba43-dac502259ad0.png

而關(guān)于SpinalEnum在設(shè)計(jì)中的使用方式,在SpinalHDL Document中所提及到的已足夠設(shè)計(jì)使用了。之前也曾分享過一篇SpinalEnum中的一些tips:
《Enum幾個(gè)值得了解的Tips》。今天著重分享下在仿真中如何對SpinalEnum類型進(jìn)行操作。為簡單起見,我們這里的DUT采取如下邏輯:

import spinal.core._
object Num extends SpinalEnum{val one,two,three,four=newElement()}case class EnumDemo() extends Component{val io=new Bundle{val dataIn=in(Num)val dataOut=out(Num)  }  noIoPrefix()  io.dataOut:=io.dataIn}
》常用的四行仿真代碼

對于仿真而言,無非是數(shù)據(jù)激勵(lì)的注入與信號的讀取。而針對SpinalEnum,數(shù)據(jù)的注入與讀取可以采用如下方式:

import spinal.core.sim._object EnumDemoApp extends App{SimConfig.withFstWave.compile(EnumDemo()).doSim{dut=>    dut.io.dataIn#=Num.two    sleep(10)println(s"io.dataOut Value=${dut.io.dataOut.toEnum}")println(s"io.dataOut Value=${dut.io.dataOut.toBigInt}")println(dut.io.dataOut.toEnum==Num.two)  }}

先看仿真結(jié)果:

04f5ac90-2bf9-11ed-ba43-dac502259ad0.png

這里信號驅(qū)動與讀取代碼一共牽涉到四行。對于SpinalEnum的信號驅(qū)動(第4行),我們需用所聲明的Num中具體的Element進(jìn)行賦值。而在讀取信號時(shí)(第6、7行),則可以采用toEnum/toBigInt兩種方式進(jìn)行。同時(shí)對于SpinalEnum信號的判斷,則可以直接用Num中的Element進(jìn)行對比判斷(第8行)。

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

    關(guān)注

    8

    文章

    7241

    瀏覽量

    91036
  • 仿真
    +關(guān)注

    關(guān)注

    51

    文章

    4241

    瀏覽量

    135328
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4887

    瀏覽量

    70268

原文標(biāo)題:SpinalEnum四行仿真代碼

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

收藏 人收藏

    評論

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

    Linux操作系統(tǒng)下常見文件類型分析

    Linux操作系統(tǒng)下常見文件類型分析,壓縮和打包文件,普通文件格式,系統(tǒng)文件
    發(fā)表于 01-06 17:00 ?1057次閱讀

    【初級】labview教程每日一教之?dāng)?shù)據(jù)文件操作+數(shù)據(jù)類型轉(zhuǎn)換

    點(diǎn)擊學(xué)習(xí)>>《龍哥手把手教你學(xué)LabVIEW視覺設(shè)計(jì)》視頻教程12數(shù)據(jù)文件操作:1.理解文件I/02.文件格式3.高層文件I/O4.底層文件I/O5.實(shí)用底層函數(shù)進(jìn)行連續(xù)文件操作
    發(fā)表于 11-07 10:01

    labview數(shù)據(jù)類型操作

    labview數(shù)據(jù)類型操作相關(guān)的教程,適合初學(xué)者學(xué)習(xí)使用。
    發(fā)表于 11-28 19:08

    C語言指針必須要進(jìn)行強(qiáng)制類型轉(zhuǎn)換?

    。既然要通過左值指針來訪問右值指針?biāo)赶虻臄?shù)據(jù)類型,那么,問題來了,指針在定義的時(shí)候,就已經(jīng)知道自己在加加或者減減操作時(shí)應(yīng)該訪問多少字節(jié)的內(nèi)存,或者加減n時(shí)應(yīng)該跳過多少字節(jié)的內(nèi)存。既然要用左值指針來
    發(fā)表于 03-06 04:14

    SpinalHDL的UInt與SInt數(shù)據(jù)類型能夠進(jìn)行有符號/無符號數(shù)操作

    在Bits的基礎(chǔ)上,SpinalHDL提供了UInt、SInt數(shù)據(jù)類型,從而能夠進(jìn)行有符號/無符號數(shù)操作。變量定義/初始化UInt/SInt的初始化與Bits類型相似:邏輯
    發(fā)表于 07-14 14:45

    掌上電腦操作系統(tǒng)的主要類型

    掌上電腦操作系統(tǒng)的主要類型 掌上電腦的核心是操作系統(tǒng)
    發(fā)表于 12-21 17:11 ?683次閱讀

    UNIX操作系統(tǒng)類型

    UNIX操作系統(tǒng)類型 由于Unix操作系統(tǒng)眾所周知的穩(wěn)定性、可靠性,用來提供各種Internet服務(wù)的計(jì)算機(jī)運(yùn)行的操作系統(tǒng)占很大比例的是Unix及Unix類
    發(fā)表于 12-26 12:02 ?2233次閱讀

    硬盤保護(hù)卡的接口類型 /操作系統(tǒng)

    硬盤保護(hù)卡的接口類型 /操作系統(tǒng)  接口類型     
    發(fā)表于 12-26 15:39 ?756次閱讀

    藍(lán)牙的設(shè)備類型/操作系統(tǒng)/LED顯示

    藍(lán)牙的設(shè)備類型/操作系統(tǒng)/LED顯示    設(shè)備類型
    發(fā)表于 12-28 14:53 ?2346次閱讀

    Variant類型的變量指令說明

    SCL指令:TypeOf(操作數(shù)),操作數(shù)是FC/FB的Input/Output/InOut/Temp中定義為Variant類型的參數(shù),該語句輸出是數(shù)據(jù)類型,在程序中只能用在IF與CA
    的頭像 發(fā)表于 03-30 15:13 ?3194次閱讀

    Python對txt進(jìn)行讀寫操作

    Python對txt進(jìn)行讀寫操作
    的頭像 發(fā)表于 01-11 15:16 ?1008次閱讀

    遠(yuǎn)程數(shù)據(jù)容災(zāi)方式類型操作

    電子發(fā)燒友網(wǎng)站提供《遠(yuǎn)程數(shù)據(jù)容災(zāi)方式類型操作.doc》資料免費(fèi)下載
    發(fā)表于 10-25 09:52 ?0次下載
    遠(yuǎn)程數(shù)據(jù)容災(zāi)方式<b class='flag-5'>類型</b>與<b class='flag-5'>操作</b>

    如何使用原子類型

    一、何為原子操作 原子操作:顧名思義就是不可分割的操作,該操作只存在未開始和已完成兩種狀態(tài),不存在中間狀態(tài); 原子類型:原子庫中定義的數(shù)據(jù)
    的頭像 發(fā)表于 11-10 16:21 ?1218次閱讀
    如何使用原子<b class='flag-5'>類型</b>

    修改查詢將clob轉(zhuǎn)成字符類型

    進(jìn)行Oracle數(shù)據(jù)庫查詢時(shí),我們經(jīng)常會遇到clob類型的數(shù)據(jù),這是一種用于存儲大型字符數(shù)據(jù)的數(shù)據(jù)類型。在一些情況下,我們可能需要將clob類型的數(shù)據(jù)轉(zhuǎn)換為字符
    的頭像 發(fā)表于 11-21 11:31 ?1217次閱讀

    java有比long還大的類型

    。它使用內(nèi)部的數(shù)組來存儲大整數(shù)并提供了相應(yīng)的操作方法。BigInteger 類型的大小是沒有限制的,因此可以表示比long更大范圍的整數(shù)。它提供了各種算術(shù)、位操作等方法,可以進(jìn)行各種計(jì)
    的頭像 發(fā)表于 11-30 11:25 ?3815次閱讀