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

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

3天內不再提示

從RTL追蹤到Scala

FPGA開源工坊 ? 來源:FPGA開源工坊 ? 作者:xiaotudou ? 2022-12-09 10:32 ? 次閱讀

在三天前SpinalHDL1.8.0正式上線,在這次更新中增加了Scala代碼和生成的RTL代碼之間的對照功能,也就是說我們可以在生成的RTL代碼中看到是哪一行Scala生成的,這就為后續的代碼調試增加了靈活性(雖然在調試SpinalHDL的時候也很少看對應的RTL吧)。

5d2857de-7701-11ed-8abf-dac502259ad0.png

更新記錄可以從這個網址看到

https://github.com/SpinalHDL/SpinalHDL/pull/985

下圖是Stream的打拍,在它生成的Verilog里面可以清楚的看到是哪一行Scala代碼生成的。

5d49849a-7701-11ed-8abf-dac502259ad0.png

5d630aaa-7701-11ed-8abf-dac502259ad0.png

可以看到在生成的Verilog中標記了原始的scala文件和對應的代碼行數,以sData_ready為例可以看到它是Stream.scala這個文件中第380行代碼生成的。也就是下面這一行代碼。

5d719c5a-7701-11ed-8abf-dac502259ad0.png

通過新更新的這個功能就能從生成的Verilog、VHDL等文件中追蹤原始的Scala文件。

如果不想啟用這個功能可以在配置中將genLineComments設置為false,這樣就不會生成追蹤的代碼注釋了。使用方法如下。

5d92ced4-7701-11ed-8abf-dac502259ad0.png

import spinal.core._
import spinal.lib._


class DemoStream extends Component {
    val sData = slave(Stream(UInt(8 bits)))
    val mData = master(Stream(UInt(8 bits)))
    mData <> sData.s2mPipe()
}


object DemoStream extends App {


    SpinalConfig(genLineComments = false).generateVerilog(new DemoStream)
//        SpinalVerilog(new DemoStream)
}

審核編輯:湯梓紅

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

    關注

    1

    文章

    382

    瀏覽量

    59187
  • 代碼
    +關注

    關注

    30

    文章

    4575

    瀏覽量

    67133
  • scala
    +關注

    關注

    0

    文章

    42

    瀏覽量

    6345

原文標題:從RTL追蹤到Scala

文章出處:【微信號:FPGA開源工坊,微信公眾號:FPGA開源工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    算法RTL實現課程預覽 - 1

    算法RTL
    皮特派
    發布于 :2022年08月01日 14:53:52

    算法RTL實現課程預覽 -2

    算法RTL
    皮特派
    發布于 :2022年08月01日 15:03:15

    Scala入門精通——第三十節 Scala腳本編程與結束語

    ,當下次再執行的便調用該jar文件來執行,第一次執行后生成的jar文件如下: 3. 結束語本節內容是scala入門精通系列課程的最后一節,通過本課程,我相信可以讓大家成為一個中級scala語言開發者
    發表于 06-26 17:44

    scala的安裝步驟

    Scala基礎學習】:初識scala—001
    發表于 03-05 13:46

    請問怎么提高JTAG調試追蹤printf()?

    怎么 通過JTAG調試 追蹤printf()此函數的函數主體,我是新手,不太會
    發表于 03-09 04:35

    spark scala maven創建工程與提交任務yarn的步驟

    spark scala maven簡單創建工程與提交任務yarn
    發表于 04-14 11:44

    SpinalHDL如何把名字scala代碼傳遞產生的硬件中

    保留名稱(Preserving names)一、簡介(Introduction)這一章會介紹SpinalHDL如何把名字scala代碼傳遞產生的硬件中。知道這些能幫助你更好地了解如何保留
    發表于 10-24 15:52

    RTL,RTL是什么意思

    RTL,RTL是什么意思 電阻晶體管邏輯電路 RTL電路-電
    發表于 03-08 11:19 ?1.4w次閱讀

    RTL8139C RTL8139C-LF RTL8139CL RTL8139CL-LF

    RTL8139C RTL8139C-LF RTL8139CL RTL8139CL-LF
    發表于 10-25 14:48 ?23次下載
    <b class='flag-5'>RTL</b>8139C <b class='flag-5'>RTL</b>8139C-LF <b class='flag-5'>RTL</b>8139CL <b class='flag-5'>RTL</b>8139CL-LF

    RTL8196C-RTL8192CE-RTL8188RE應用參考原理圖

    RTL8196C_RTL8192CE RTL8188RE應用參考原理圖
    發表于 03-07 13:53 ?20次下載

    RTL8198+RTL8192CE+RTL8192DE應用參考原理圖

    RTL8198+RTL8192CE+RTL8192DE應用參考原理圖
    發表于 03-07 14:37 ?57次下載

    scala語言主要應用領域詳解

    Scala是一門多范式的編程語言。本文開始介紹了Scala的概念,其次介紹了Scala的特性,最后闡述了scala語言的主要應用領域。
    的頭像 發表于 03-07 18:08 ?1.9w次閱讀

    一文看懂scala和java的區別

    本文開始對Scala的概念進行了詳細說明,其次闡述了Java的定義以及Java的工作原理,最后闡述了scala和java的區別以及scala相對于java存在的優勢。
    的頭像 發表于 03-07 18:30 ?6.5w次閱讀
    一文看懂<b class='flag-5'>scala</b>和java的區別

    RTL8382L+RTL8218B+RTL8231L應用參考原理圖

    RTL8382L+RTL8218B+RTL8231L應用參考原理圖
    發表于 03-09 10:30 ?364次下載

    Scala動手實戰入門

    本文檔內容介紹了基于Scala動手實戰入門,供參考
    發表于 04-13 15:13 ?8次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>