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

更新記錄可以從這個網址看到
https://github.com/SpinalHDL/SpinalHDL/pull/985
下圖是Stream的打拍,在它生成的Verilog里面可以清楚的看到是哪一行Scala代碼生成的。


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

通過新更新的這個功能就能從生成的Verilog、VHDL等文件中追蹤原始的Scala文件。
如果不想啟用這個功能可以在配置中將genLineComments設置為false,這樣就不會生成追蹤的代碼注釋了。使用方法如下。

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
+關注
關注
1文章
394瀏覽量
62656 -
代碼
+關注
關注
30文章
4968瀏覽量
73969 -
scala
+關注
關注
0文章
42瀏覽量
6904
原文標題:從RTL追蹤到Scala
文章出處:【微信號:FPGA開源工坊,微信公眾號:FPGA開源工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
Scala入門到精通——第三十節 Scala腳本編程與結束語
,當下次再執行的便調用該jar文件來執行,第一次執行后生成的jar文件如下: 3. 結束語本節內容是scala入門到精通系列課程的最后一節,通過本課程,我相信可以讓大家成為一個中級scala語言開發者
發表于 06-26 17:44
SpinalHDL如何把名字從scala代碼傳遞到產生的硬件中
保留名稱(Preserving names)一、簡介(Introduction)這一章會介紹SpinalHDL如何把名字從scala代碼傳遞到產生的硬件中。知道這些能幫助你更好地了解如何保留
發表于 10-24 15:52
從ESL到RTL,低功耗設計再下一城
從ESL到RTL,低功耗設計再下一城
對于低功耗半導體設計來說,沒有唯一的解決方案,它需要芯片設計工程師以及EDA供應商的協作努力,并越來越多地把重
發表于 09-19 10:08
?1512次閱讀
scala語言主要應用領域詳解
Scala是一門多范式的編程語言。本文開始介紹了Scala的概念,其次介紹了Scala的特性,最后闡述了scala語言的主要應用領域。
一文看懂scala和java的區別
本文開始對Scala的概念進行了詳細說明,其次闡述了Java的定義以及Java的工作原理,最后闡述了scala和java的區別以及scala相對于java存在的優勢。
簡單說明一下Scala語言與其優點
Scala 是一種有趣的語言,是一種多范式的編程語言,其設計的初衷是要集成面向對象編程和函數式編程的各種特性。Scala運行在JVM上,兼容現有的Java程序,集成面向對象編程和函數式編程的各種特性
發表于 10-10 09:23
?9033次閱讀
【開源硬件】從PyTorch到RTL - 基于MLIR的高層次綜合技術
01 演講題目 ? 開源硬件系列02期: 從PyTorch到RTL - 基于MLIR的高層次綜合技術 02 演講時間 ? 2022年11月27日 上午?10:00 03 內容簡介 ? 為了解
從RTL追蹤到Scala
評論