精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SystemVerilog中的“let”語法

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 作者:芯片驗證工程師 ? 2022-12-05 10:55 ? 次閱讀

相比`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
    LET
    +關注

    關注

    0

    文章

    11

    瀏覽量

    10229

原文標題:SystemVerilog中的“let”語法

文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    cocotb的基礎語法SystemVerilog的常用語法對照總結

    對于信號的讀取,我們在SystemVerilog,可以直接讀取信號值,而在cocotb,其為接口變量提供了value方法屬性用于獲取信號值。
    的頭像 發表于 07-21 09:07 ?3834次閱讀
    cocotb<b class='flag-5'>中</b>的基礎<b class='flag-5'>語法</b>與<b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b>的常用<b class='flag-5'>語法</b>對照總結

    SystemVerilog的Virtual Methods

    SystemVerilog多態能夠工作的前提是父類的方法被聲明為virtual的。
    發表于 11-28 11:12 ?680次閱讀

    SystemVerilog的聯合(union)介紹

    SystemVerilog ,聯合只是信號,可通過不同名稱和縱橫比來加以引用。
    的頭像 發表于 10-08 15:45 ?1318次閱讀
    <b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b>的聯合(union)介紹

    systemverilog--語法詳解

    官方的一個systemverilog詳解,很詳細。推薦給打算往IC方面發展的朋友。
    發表于 06-02 09:30

    systemverilog------Let's Go

    官方的一個systemverilog詳解,很詳細。推薦給打算往IC方面發展的朋友。QQ群374590107歡迎有志于FPGA開發,IC設計的朋友加入一起交流。一起為中國的IC加油!!!
    發表于 06-02 09:47

    systemverilog學習教程

    systemverilog的一些基本語法以及和verilog語言之間的區別。
    發表于 04-01 14:24

    使用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的基礎語法
    的頭像 發表于 07-21 09:18 ?2324次閱讀

    SystemVerilog的Shallow Copy

    SystemVerilog的句柄賦值和對象復制的概念是有區別的。
    的頭像 發表于 11-21 10:32 ?873次閱讀

    SystemVerilog帶參數的let介紹

    在上面的例子,“let包含2個參數“p”和“q”。
    的頭像 發表于 12-05 10:38 ?1022次閱讀

    SystemVerilog至關重要的結構體和自定義類型

    在上一篇文章《SystemVerilog至關重要的的數據類型》,介紹了枚舉類型的本質和使用語法。本文接著介紹SV同樣不可忽略的結構體(
    的頭像 發表于 01-21 17:18 ?2058次閱讀
    <b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b>至關重要的結構體和自定義類型

    解碼國產EDA數字仿真器系列之二 | 如何實現全面的SystemVerilog語法覆蓋?

    SystemVerilog語言,是開發仿真器的一個重要任務。 ? SystemVerilog的發展歷程 ? 數字芯片的驗證技術是隨著Verilog語法的演變而演變的。 最早,Verilog是完全用來描述
    發表于 04-07 14:40 ?732次閱讀
    解碼國產EDA數字仿真器系列之二 | 如何實現全面的<b class='flag-5'>SystemVerilog</b><b class='flag-5'>語法</b>覆蓋?

    如何實現全面的SystemVerilog語法覆蓋

    SystemVeirlog的全面支持是開發商用仿真器的第一道門檻。市面上可以找到不少基于純Verilog的仿真器,但是真正能完整支持SystemVerilog 的仍然屈指可數。如何全面地支持SystemVerilog語言,是開發仿真器的一個重要任務。
    的頭像 發表于 07-14 15:15 ?566次閱讀
    如何實現全面的<b class='flag-5'>SystemVerilog</b><b class='flag-5'>語法</b>覆蓋

    javascript的基本語法遵循的標準

    的基本語法。 變量聲明與賦值 在JavaScript,可以使用關鍵字 var 、 let 或 const 聲明變量。其中, var 是舊版的聲明方式, let 和 const 是ES
    的頭像 發表于 12-03 11:35 ?2701次閱讀