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

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

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

從RTL追蹤到Scala

FPGA開(kāi)源工坊 ? 來(lái)源:FPGA開(kāi)源工坊 ? 作者:xiaotudou ? 2022-12-09 10:32 ? 次閱讀

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

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

更新記錄可以從這個(gè)網(wǎng)址看到

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

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

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

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

可以看到在生成的Verilog中標(biāo)記了原始的scala文件和對(duì)應(yīng)的代碼行數(shù),以sData_ready為例可以看到它是Stream.scala這個(gè)文件中第380行代碼生成的。也就是下面這一行代碼。

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

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

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

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)
}

審核編輯:湯梓紅

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

    關(guān)注

    1

    文章

    385

    瀏覽量

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

    關(guān)注

    30

    文章

    4722

    瀏覽量

    68230
  • scala
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    6402

原文標(biāo)題:從RTL追蹤到Scala

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    可綜合的RTL代碼的角度聊聊interface

    SystemVerilog引入了interface,這里我們可綜合的RTL代碼的角度聊聊interface。
    的頭像 發(fā)表于 10-12 09:06 ?1676次閱讀
    <b class='flag-5'>從</b>可綜合的<b class='flag-5'>RTL</b>代碼的角度聊聊interface

    算法RTL實(shí)現(xiàn)課程預(yù)覽 - 1

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

    算法RTL實(shí)現(xiàn)課程預(yù)覽 -2

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

    Scala入門精通——第三十節(jié) Scala腳本編程與結(jié)束語(yǔ)

    ,當(dāng)下次再執(zhí)行的便調(diào)用該jar文件來(lái)執(zhí)行,第一次執(zhí)行后生成的jar文件如下: 3. 結(jié)束語(yǔ)本節(jié)內(nèi)容是scala入門精通系列課程的最后一節(jié),通過(guò)本課程,我相信可以讓大家成為一個(gè)中級(jí)scala語(yǔ)言開(kāi)發(fā)者
    發(fā)表于 06-26 17:44

    scala的安裝步驟

    Scala基礎(chǔ)學(xué)習(xí)】:初識(shí)scala—001
    發(fā)表于 03-05 13:46

    請(qǐng)問(wèn)怎么提高JTAG調(diào)試追蹤printf()?

    怎么 通過(guò)JTAG調(diào)試 追蹤printf()此函數(shù)的函數(shù)主體,我是新手,不太會(huì)
    發(fā)表于 03-09 04:35

    spark scala maven創(chuàng)建工程與提交任務(wù)yarn的步驟

    spark scala maven簡(jiǎn)單創(chuàng)建工程與提交任務(wù)yarn
    發(fā)表于 04-14 11:44

    SpinalHDL如何把名字scala代碼傳遞產(chǎn)生的硬件中

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

    ESLRTL,低功耗設(shè)計(jì)再下一城

    ESLRTL,低功耗設(shè)計(jì)再下一城 對(duì)于低功耗半導(dǎo)體設(shè)計(jì)來(lái)說(shuō),沒(méi)有唯一的解決方案,它需要芯片設(shè)計(jì)工程師以及EDA供應(yīng)商的協(xié)作努力,并越來(lái)越多地把重
    發(fā)表于 09-19 10:08 ?1289次閱讀

    RTL,RTL是什么意思

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

    scala語(yǔ)言主要應(yīng)用領(lǐng)域詳解

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

    一文看懂scala和java的區(qū)別

    本文開(kāi)始對(duì)Scala的概念進(jìn)行了詳細(xì)說(shuō)明,其次闡述了Java的定義以及Java的工作原理,最后闡述了scala和java的區(qū)別以及scala相對(duì)于java存在的優(yōu)勢(shì)。
    的頭像 發(fā)表于 03-07 18:30 ?6.5w次閱讀
    一文看懂<b class='flag-5'>scala</b>和java的區(qū)別

    Scala動(dòng)手實(shí)戰(zhàn)入門

    本文檔內(nèi)容介紹了基于Scala動(dòng)手實(shí)戰(zhàn)入門,供參考
    發(fā)表于 04-13 15:13 ?8次下載

    簡(jiǎn)單說(shuō)明一下Scala語(yǔ)言與其優(yōu)點(diǎn)

    Scala 是一種有趣的語(yǔ)言,是一種多范式的編程語(yǔ)言,其設(shè)計(jì)的初衷是要集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。Scala運(yùn)行在JVM上,兼容現(xiàn)有的Java程序,集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性
    發(fā)表于 10-10 09:23 ?6650次閱讀

    【開(kāi)源硬件】PyTorchRTL - 基于MLIR的高層次綜合技術(shù)

    01 演講題目 ? 開(kāi)源硬件系列02期: PyTorchRTL - 基于MLIR的高層次綜合技術(shù) 02 演講時(shí)間 ? 2022年11月27日 上午?10:00 03 內(nèi)容簡(jiǎn)介 ? 為了解
    的頭像 發(fā)表于 11-24 08:15 ?1831次閱讀