在三天前SpinalHDL1.8.0正式上線,在這次更新中增加了Scala代碼和生成的RTL代碼之間的對照功能,也就是說我們可以在生成的RTL代碼中看到是哪一行Scala生成的,這就為后續(xù)的代碼調(diào)試增加了靈活性(雖然在調(diào)試SpinalHDL的時候也很少看對應的RTL吧)。
更新記錄可以從這個網(wǎng)址看到
https://github.com/SpinalHDL/SpinalHDL/pull/985
下圖是Stream的打拍,在它生成的Verilog里面可以清楚的看到是哪一行Scala代碼生成的。
可以看到在生成的Verilog中標記了原始的scala文件和對應的代碼行數(shù),以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文章
385瀏覽量
59785 -
代碼
+關注
關注
30文章
4788瀏覽量
68612 -
scala
+關注
關注
0文章
42瀏覽量
6420
原文標題:從RTL追蹤到Scala
文章出處:【微信號:FPGA開源工坊,微信公眾號:FPGA開源工坊】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論