相比`define的全局scope,“let” 可以只作用在局部scope。
“let”和`define一樣也是定義了一個文本替換。
define是驗證環境開發以及RTL開發過程中的一個非常常用的技巧,但是define是全局的,這是優點也是缺點,很容易就會對其他模塊的驗證環境產生干擾。
相比來說,“let” 的使用更加安全,因為“let”只會作用到局部。
module example; logic r1,r2, r3,r4,clk,clk1; let exDefLet = r1 || r2; always @ (posedge clk) begin: ablock let exDefLet = r1 & r2; r3=exDefLet; end always @ (posedge clk1) begin: bblock r4=exDefLet; end endmodule
就等價于
module example; logic r1,r2, r3,r4,clk,clk1; always @ (posedge clk) begin :ablock r3=r1 & r2; end always @ (posedge clk1) begin: bblock r4=r1 || r2 ; end endmodule
如果我們使用的是`define,而不是“let”。
module example; logic r1,r2, r3,r4,clk,clk1; `defne exDefLet r1 || r2; always @ (posedge clk) begin :ablock `defne exDefLet r1 & r2; r3=`exDefLet; end always @ (posedge clk1) begin: bblock r4=`exDefLet; end endmodule
后面的全局define會覆蓋前面的define,那上面的例子就等價于
module example; logic r1,r2, r3,r4,clk,clk1; always @ (posedge clk) begin: ablock r3 = r1 & r2; end always @ (posedge clk1) begin: bblock r4 = r1 & r2; end endmodule
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Verilog
+關注
關注
28文章
1343瀏覽量
109986 -
System
+關注
關注
0文章
165瀏覽量
36885 -
LET
+關注
關注
0文章
11瀏覽量
10229
原文標題:SystemVerilog中的“let”語法
文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
cocotb中的基礎語法與SystemVerilog中的常用語法對照總結
對于信號的讀取,我們在SystemVerilog中,可以直接讀取信號值,而在cocotb中,其為接口變量提供了value方法屬性用于獲取信號值。
systemverilog------Let's Go
官方的一個systemverilog詳解,很詳細。推薦給打算往IC方面發展的朋友。QQ群374590107歡迎有志于FPGA開發,IC設計的朋友加入一起交流。一起為中國的IC加油!!!
發表于 06-02 09:47
使用SystemVerilog來簡化FPGA中接口的連接方式
開發,但現在Vivado對SystemVerilog的支持已經比較好了,完全可以使用SystemVerilog寫出可綜合的FPGA程序,而且FPGA開發中只會使用的SystemVerilog
發表于 01-08 17:23
剛裝IC617建一個systemverilog的cell總是報語法錯誤怎么去解決?
如下圖,先建一個systemverilog的cell,但是會報錯,求幫解決下。寫個最簡單的也會報語法錯誤。
發表于 06-24 06:24
cocotb中的基礎語法
cocotb的出現使得我們能夠在做RTL仿真驗證時依托Python來進行測試用例的構建,當我們習慣了用Verilog、SystemVerilog來構建測試用例時,切換到cocotb后最直觀的方式便是我們能夠建立cocotb中的基礎語法
解碼國產EDA數字仿真器系列之二 | 如何實現全面的SystemVerilog語法覆蓋?
持SystemVerilog語言,是開發仿真器的一個重要任務。 ? SystemVerilog的發展歷程 ? 數字芯片的驗證技術是隨著Verilog語法的演變而演變的。 最早,Verilog是完全用來描述
發表于 04-07 14:40
?732次閱讀
如何實現全面的SystemVerilog語法覆蓋
SystemVeirlog的全面支持是開發商用仿真器的第一道門檻。市面上可以找到不少基于純Verilog的仿真器,但是真正能完整支持SystemVerilog 的仍然屈指可數。如何全面地支持SystemVerilog語言,是開發仿真器的一個重要任務。
javascript的基本語法遵循的標準
的基本語法。 變量聲明與賦值 在JavaScript中,可以使用關鍵字 var 、 let 或 const 聲明變量。其中, var 是舊版的聲明方式, let 和 const 是ES
評論