》nameWhenByFile
測試代碼如下:
當我們采用SpinalSystemVerilog(demo0())的方式生成RTL代碼時其生成的代碼風格如下:
在SpinalHDL中對于when的使用,when中所包含的條件往往會生成以一個when+fileName+行號的變量來替代,看起來無非代碼多了幾行,并不影響功能。
因為有行號的引入,我們一旦對SpinalHDL代碼中這部分代碼哪怕是添加了幾行注釋也會引起生成代碼的部分修改,雖然不影響功能,但對于那些喜歡看RTL代碼的人就顯得略顯得不爽了。
對于when的使用,可以在生成RTL代碼時采用下面的形式來生成:
SpinalConfig( nameWhenByFile=false ).generateSystemVerilog(demo0())
生成代碼如下:
如此生成的代碼不會再對when語句聲明單獨的變量,代碼看起來和那些采用Verilog寫代碼的人毫無差異吧~
這對于生層的RTL盡可能減少非必要的信號名稱變化。
》genLineComments
更近一步,對于代碼生成時采用下面的形式生成:
SpinalConfig( nameWhenByFile = false, genLineComments = true ).generateSystemVerilog(demo0())
此時生成的代碼風格如下:
當genLineComments聲明為true時,在生成RTL代碼中會標注映射對應的SpinalHDL代碼行號,這對于初學者在對比生成的RTL代碼學習SpinalHDL還是非常的有幫助~
》bitVectorWidthMax
SpinalHDL中對于信號位寬默認是最大不超過4096(Intel DDR校準控制IP里面就有信號位寬就是4096 bit位寬),當設計里定義了信號 位寬超過4096,則會在生成RTL代碼時報錯,可通過SpianlConfig中的bitVectorWidthMax對最大位寬進行修改:
審核編輯:劉清
-
DDR
+關注
關注
11文章
698瀏覽量
64969 -
Verilog
+關注
關注
28文章
1333瀏覽量
109749 -
RTL
+關注
關注
1文章
384瀏覽量
59534
原文標題:SpinalConfig Tips——讓代碼優(yōu)雅點兒
文章出處:【微信號:Spinal FPGA,微信公眾號:Spinal FPGA】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論