在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

仿真調試手段在SpinalHDL中還能用嗎?

FPGA之家 ? 來源:Spinal FPGA ? 作者:玉騏 ? 2021-06-17 09:33 ? 次閱讀

要問做邏輯的什么看的最久,那一定是波形吧。那除了看波形,還能做點兒其他的么?

調試“三十六計”

作為邏輯開發者仿真是一個永遠跑不掉的話題。盡管說嚴格來講設計和驗證是分離的,但對于FPGA開發來講,即便是大廠也很少配備專門的邏輯驗證人員來支持你的工作。無論是單元級仿真還是系統級仿真,那些年我們常用到仿真調試手段首推的估計就是看波形了。但老實講,小的模塊或者小的case看看波形還好,但如果是比較大的模塊或case需要很長的時間來跑的話那么追蹤波形對我個人來講還是很廢眼神的~

那么除了查看波形,我們常用的仿真調試手段無外乎在待仿真測試邏輯里添加打印和添加SVA了。對于添加打印,在之前通過verilog/systemVerilog搬磚時是時常干的事情,而SVA在上學的那會兒倒是看過下面這本書:

那么如今轉到SpinalHDL,這些手段是否還能用呢?

Assertion

與SystemVerilog中相似,SpinalHDL中也提供Assertion功能,其關鍵字也為assert:

assert(assertion : Bool, message : String = null, severity: AssertNodeSeverity = Error)assert(assertion: Bool, message: Seq[Any], severity: AssertNodeSeverity)

assertion:斷言條件

message:斷言失敗時顯示信息,可以是字符串或者是Seq。

severity:斷言等級。

來看一個demo:

pYYBAGDKqMiAXbFuAAFxmXl5Rhg455.jpg

這里放置了兩個assert,分別使用了兩種assert的使用方式。message中放置Seq時可以顯示更多的提示信息。 要知道即便我們是采用SpinalHDL,在仿真的時候還是要生成Verilog文件交給仿真器去執行的。那看下生成的RTL代碼:

pYYBAGDKqAKAFKFZAAE0dJBUbdw865.jpg

可以看到,在SpinalHDL中,對于SVA中的立即斷言和并發斷言,其只支持并發斷言。而且會生成額外邏輯用來支持斷言,而且在復位期間是不做斷言檢查的。

report

SpinalHDL中提供了report方法用于在邏輯中顯示打印信息:

def report(message: String) = assert(False, message, NOTE)def report(message: Seq[Any]) = assert(False, message, NOTE) def report(message: String, severity: AssertNodeSeverity) = assert(False, message, severity)def report(message: Seq[Any], severity: AssertNodeSeverity) = assert(False, message, severity) 可以看到,report的底層實現是基于assert來實現的,且默認斷言失敗,故而信息會一直打印。像上面的dmeo我們可以添加下面的打印信息:

report(Seq(“data0:”,io.data0,“ data1:”,io.data1,“ sum:”,io.sum),WARNING)

在生成的RTL代碼中會有:

poYBAGDKp_yAUeVJAADPLU4VgLQ035.jpg

同樣不出意外,在復位期間將不會打印任何信息。

Formal

針對SVA的支持,SpinalHDL提供了部分支持。在SpinalHDL-Doc中給出了下面的這個Demo:

pYYBAGDKp_KAKvVsAAF7a7PJauA080.jpg

object MyToplevelSystemVerilogWithFormal { def main(args: Array[String]) { val config = SpinalConfig(defaultConfigForClockDomains = ClockDomainConfig(resetKind=SYNC, resetActiveLevel=HIGH)) config.includeFormal.generateSystemVerilog(new TopLevel()) }}

但這個demo有幾個問題是: 1、使用GenerationFlags.formal及includeFormal時如果我們的代碼在GenerationFlags外圍如果有使用assert或者report時,GenerationFlags.formal會將其屏蔽掉,在仿真時不起作用。 2、initstate()在verilator中不支持。 針對上面的問題,可以采用: 1、采用GenerationFlags.simulation和includeSimulation替代GenerationFlags.formal及includeFormal。 2、如果要在復位期間添加sva,那么通過clockDomain.isResetActive替換initstate() 當在生成Verilog時不添加includeSimulation,那么GenerationFlags.simulation所包含的內容將不會生成在Verilog中,從而能夠提供一個干凈的代碼。 手冊中給出了支持的SVA:

pYYBAGDKp-uAVGcSAAFaHOXsqfU933.jpg

但具體還是要看仿真器是否支持,畢竟verilator和vcs這些在功能上還是有一些差距。

文章來源:Spinal FPGA

圖片來源:似猿非猿的FPGA

責任編輯:lq6

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

    關注

    51

    文章

    4212

    瀏覽量

    135053
  • HDL
    HDL
    +關注

    關注

    8

    文章

    330

    瀏覽量

    47716

原文標題:除了看波形,還能做點兒啥

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    軸承損壞后導軌還能用嗎?

    軸承損壞后導軌還能用嗎?
    的頭像 發表于 04-03 17:52 ?198次閱讀
    軸承損壞后導軌<b class='flag-5'>還能用</b>嗎?

    SEW_DPV1調試手

    電子發燒友網站提供《SEW_DPV1調試手冊.pdf》資料免費下載
    發表于 04-01 16:29 ?0次下載

    谷景科普一體成型電感外殼破損還能不能用

    谷景科普一體成型電感外殼破損還能不能用編輯:谷景電子一體成型電感是近幾年比較熱門的一種電子元器件,尤其是一些精密度要求很高的電子產品,一體成型電感相較于其他電感產品會更具優勢。一體成型電感的外殼
    發表于 11-13 22:49 ?0次下載

    一體成型電感外殼破損還能不能用

    電子發燒友網站提供《一體成型電感外殼破損還能不能用.docx》資料免費下載
    發表于 10-31 10:57 ?0次下載

    設計仿真 基于VTD的AR-HUD仿真測試解決方案

    以虛擬場景為基礎的AR-HUD仿真試手段,大大提升了產品開發迭代效率,降低開發成本,在行業內得到了越來越多的關注,AR-HUD的仿真測試涵蓋MIL/SIL/HIL/DIL等不同階段,以VTD為基礎的
    的頭像 發表于 10-09 13:51 ?968次閱讀
    設計<b class='flag-5'>仿真</b>  基于VTD的AR-HUD<b class='flag-5'>仿真</b>測試解決方案

    解鎖SoC “調試”挑戰,開啟高效原型驗證之路

    引言由于芯片設計復雜度的提升、集成規模的擴大,以及產品上市時間要求的縮短,使得設計驗證變得更加困難。特別是多FPGA環境,設計調試和驗證的復雜性進一步增加,傳統的調試手段難以滿足對
    的頭像 發表于 10-09 08:04 ?969次閱讀
    解鎖SoC “<b class='flag-5'>調試</b>”挑戰,開啟高效原型驗證之路

    AFE77 JESD204B 調試手

    電子發燒友網站提供《AFE77 JESD204B 調試手冊.pdf》資料免費下載
    發表于 09-11 10:25 ?0次下載
    AFE77 JESD204B <b class='flag-5'>調試手</b>冊

    TI AFE8092 AFE8030 JESD204配置及調試手冊- Part A

    電子發燒友網站提供《TI AFE8092 AFE8030 JESD204配置及調試手冊- Part A.pdf》資料免費下載
    發表于 09-03 10:02 ?5次下載
    TI AFE8092 AFE8030 JESD204配置及<b class='flag-5'>調試手</b>冊- Part A

    TI AFE8092 AFE8030 JESD204C配置及調試手冊 Part B

    電子發燒友網站提供《TI AFE8092 AFE8030 JESD204C配置及調試手冊 Part B.pdf》資料免費下載
    發表于 08-29 10:50 ?0次下載
    TI AFE8092 AFE8030 JESD204C配置及<b class='flag-5'>調試手</b>冊 Part B

    TI AFE8092/AFE8030 JESD204C配置及調試手冊 Part C

    電子發燒友網站提供《TI AFE8092/AFE8030 JESD204C配置及調試手冊 Part C.pdf》資料免費下載
    發表于 08-29 10:39 ?0次下載
    TI AFE8092/AFE8030 JESD204C配置及<b class='flag-5'>調試手</b>冊 Part C

    14芯M16插頭智能用電管理

    德索工程師說道14芯M16插頭能用電管理的應用   現代社會,智能用電管理已經逐漸成為提高能源效率、實現節能環保的重要
    的頭像 發表于 06-17 17:27 ?526次閱讀
    14芯M16插頭智<b class='flag-5'>能用</b>電管理

    仿真設計OWS耳機開發的應用(一)

    仿真設計OWS耳機的仿真設計征程,六大仿真技術如同六位得力助手,共同助力耳機的完美呈現。它們分別是模流
    的頭像 發表于 06-03 09:37 ?689次閱讀
    <b class='flag-5'>仿真</b>設計<b class='flag-5'>在</b>OWS耳機開發<b class='flag-5'>中</b>的應用(一)

    谷景揭秘繞線高q值電感表面生銹還能用

    谷景揭秘繞線高q值電感表面生銹還能用嗎 編輯:谷景電子 繞線高q值電感作為電子電路的一種常見電感元件,它的作用是其他電感元件不能代替的。繞線高q值電感電路運行的穩定性受到多方面條
    的頭像 發表于 05-24 21:19 ?657次閱讀

    請問PMODE[2:0]處于懸空狀態,即FFF,USB接口還能用嗎?

    請問PMODE[2:0]處于懸空狀態,即FFF,USB接口還能用
    發表于 05-23 08:01

    仿真測試和臺架測試的區別

    復雜系統或產品的開發過程,測試是確保其質量、性能和可靠性的關鍵步驟。仿真測試和臺架測試作為兩種常見的測試方法,多個領域如汽車、航空航天、電子等領域中都有著廣泛的應用。然而,盡管它
    的頭像 發表于 05-17 14:45 ?1429次閱讀
    主站蜘蛛池模板: www.亚洲.com | 国产一卡二卡≡卡四卡无人 | 乱人伦一区二区三区 | 不卡免费在线视频 | 亚洲不卡网 | 天天干天天插天天 | 日本怡红 | 国产片一级aaa毛片视频 | 未满十八18周岁禁止免费国产 | 九九热国产在线 | 国产一级特黄在线视频 | 四虎在线永久免费观看 | 视色4se在线视频播放 | 色综合久久久久久久久五月 | 免费播放一区二区三区 | 午夜大片在线观看 | 狠狠色噜噜狠狠狠狠米奇7777 | 欧美专区在线播放 | 毛片免费高清免费 | 久久久久久噜噜噜久久久精品 | 国产美女流出白浆在线观看 | 亚洲乱码尤物193yw在线播放 | 全部免费特黄特色大片农村 | 美女视频永久黄网站在线观看 | 91成人免费视频 | 男人一级片 | 色多多·com 色多多18免费观看 色多多a | 插久久 | 亚洲精品中文字幕乱码三区一二 | 91精品国产亚洲爽啪在线影院 | 国产亚洲精品久久久久久久软件 | 在线观看www妖精免费福利视频 | 午夜精品一区二区三区在线观看 | 狠狠草视频 | 天堂色综合 | 性网站在线观看 | 免费看吻胸亲嘴激烈网站 | 韩国男女无遮挡高清性视频 | 成人看片免费无限观看视频 | 色www视频永久免费软件 | 亚洲人的天堂男人爽爽爽 |