吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SystemVerilog中的“l(fā)et”語法

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

相比`define的全局scope,“l(fā)et” 可以只作用在局部scope

“l(fā)et”和`define一樣也是定義了一個(gè)文本替換。

define是驗(yàn)證環(huán)境開發(fā)以及RTL開發(fā)過程中的一個(gè)非常常用的技巧,但是define是全局的,這是優(yōu)點(diǎn)也是缺點(diǎn),很容易就會(huì)對(duì)其他模塊的驗(yàn)證環(huán)境產(chǎn)生干擾。

相比來說,“l(fā)et” 的使用更加安全,因?yàn)椤發(fā)et”只會(huì)作用到局部。

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

就等價(jià)于

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,而不是“l(fā)et”。

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會(huì)覆蓋前面的define,那上面的例子就等價(jià)于

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110395
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    165

    瀏覽量

    37076
  • LET
    LET
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    10264

原文標(biāo)題:SystemVerilog中的“l(fā)et”語法

文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    cocotb的基礎(chǔ)語法SystemVerilog的常用語法對(duì)照總結(jié)

    對(duì)于信號(hào)的讀取,我們?cè)?b class='flag-5'>SystemVerilog,可以直接讀取信號(hào)值,而在cocotb,其為接口變量提供了value方法屬性用于獲取信號(hào)值。
    的頭像 發(fā)表于 07-21 09:07 ?3974次閱讀
    cocotb<b class='flag-5'>中</b>的基礎(chǔ)<b class='flag-5'>語法</b>與<b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b>的常用<b class='flag-5'>語法</b>對(duì)照總結(jié)

    SystemVerilog的Virtual Methods

    SystemVerilog多態(tài)能夠工作的前提是父類的方法被聲明為virtual的。
    發(fā)表于 11-28 11:12 ?739次閱讀

    SystemVerilog的聯(lián)合(union)介紹

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

    systemverilog--語法詳解

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

    systemverilog------Let's Go

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

    systemverilog學(xué)習(xí)教程

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

    使用SystemVerilog來簡(jiǎn)化FPGA接口的連接方式

    開發(fā),但現(xiàn)在Vivado對(duì)SystemVerilog的支持已經(jīng)比較好了,完全可以使用SystemVerilog寫出可綜合的FPGA程序,而且FPGA開發(fā)只會(huì)使用的SystemVerilog
    發(fā)表于 01-08 17:23

    剛裝IC617建一個(gè)systemverilog的cell總是報(bào)語法錯(cuò)誤怎么去解決?

      如下圖,先建一個(gè)systemverilog的cell,但是會(huì)報(bào)錯(cuò),求幫解決下。寫個(gè)最簡(jiǎn)單的也會(huì)報(bào)語法錯(cuò)誤。    
    發(fā)表于 06-24 06:24

    cocotb的基礎(chǔ)語法

    cocotb的出現(xiàn)使得我們能夠在做RTL仿真驗(yàn)證時(shí)依托Python來進(jìn)行測(cè)試用例的構(gòu)建,當(dāng)我們習(xí)慣了用Verilog、SystemVerilog來構(gòu)建測(cè)試用例時(shí),切換到cocotb后最直觀的方式便是我們能夠建立cocotb的基礎(chǔ)語法
    的頭像 發(fā)表于 07-21 09:18 ?2530次閱讀

    SystemVerilog的Shallow Copy

    SystemVerilog的句柄賦值和對(duì)象復(fù)制的概念是有區(qū)別的。
    的頭像 發(fā)表于 11-21 10:32 ?960次閱讀

    SystemVerilog帶參數(shù)的let介紹

    在上面的例子,“let包含2個(gè)參數(shù)“p”和“q”。
    的頭像 發(fā)表于 12-05 10:38 ?1117次閱讀

    SystemVerilog至關(guān)重要的結(jié)構(gòu)體和自定義類型

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

    解碼國產(chǎn)EDA數(shù)字仿真器系列之二 | 如何實(shí)現(xiàn)全面的SystemVerilog語法覆蓋?

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

    如何實(shí)現(xiàn)全面的SystemVerilog語法覆蓋

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

    javascript的基本語法遵循的標(biāo)準(zhǔn)

    的基本語法。 變量聲明與賦值 在JavaScript,可以使用關(guān)鍵字 var 、 let 或 const 聲明變量。其中, var 是舊版的聲明方式, let 和 const 是ES
    的頭像 發(fā)表于 12-03 11:35 ?2961次閱讀
    百家乐官网大路小路三珠路| 德州扑克在线玩| 半圆百家乐官网桌布| 百家乐娱乐网佣金| 百家乐官网真人大头贴| 百家乐小揽| 澳门百家乐官网秘积| 成都百家乐牌具| 狮威百家乐官网娱乐场| 大发888娱乐城 df888ylc3403| 利都百家乐官网国际娱乐场开户注册 | 威尼斯人娱乐城官方站| 百家乐官网网上玩法| 大发888蜜月旅行| 24山在风水学中应用| 信阳市| 百家乐庄闲必胜规| 百家乐官网赌博筹码| 棋牌游戏网| 谈谈百家乐赢钱技巧| 百家乐官网是否违法| 百家乐保单机作弊| 百家乐官网获胜秘决百家乐官网获胜秘诀| 大发888娱乐场168| 百家乐官网博彩网太阳城娱乐城| 保山市| 澳门百家乐必赢看| 中华百家乐官网的玩法技巧和规则 | 百家乐缩水| 皇冠赌球网| 百家乐号游戏机| 百家乐官网高手投注法| 威尼斯人娱乐城是波音| 百家乐官网官网网址| 百家乐官网最新打法| 大发888充值 在线| 顶尖百家乐学习| 百家乐官网棋牌辅助| 中国足球竞猜| 运城百家乐的玩法技巧和规则| 梦幻城百家乐官网的玩法技巧和规则 |