色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

Systemverilog中的Driving Strength講解

冬至子 ? 來源:CSDN ? 作者:谷公子 ? 2023-06-14 15:50 ? 次閱讀

在systemverilog中,net用于對(duì)電路中連線進(jìn)行建模,driving strength(驅(qū)動(dòng)強(qiáng)度)可以讓net變量值的建模更加精確。net變量擁有4態(tài)邏輯值(0,1,z,x),它的driving strength有(supply,strong,pull,weak,highz)。net的值由連接到net的driver源(驅(qū)動(dòng)源)決定的,這些driver源可以是連續(xù)賦值語句(例如assign),也可以是門級(jí)建模原語(例如門級(jí)or或and或cmos等)。

在每個(gè)Δ仿真周期中,仿真器通過查看net上所有驅(qū)動(dòng)源的邏輯值(logical value)和強(qiáng)度值(strength level)來決定該net的邏輯值和強(qiáng)度值。如果net沒有驅(qū)動(dòng)源,那么它的值將是’z’態(tài)。如果net只有1個(gè)驅(qū)動(dòng)源,那么它的邏輯值和強(qiáng)度值等于驅(qū)動(dòng)源的值和強(qiáng)度。但是,如果net有多個(gè)驅(qū)動(dòng)源,那么需要比較它們的強(qiáng)度值了,強(qiáng)度最大的驅(qū)動(dòng)源將成功驅(qū)動(dòng)net。不過如果有多個(gè)強(qiáng)度最大的驅(qū)動(dòng)源,但它們的邏輯值不一樣的話,net的邏輯值將會(huì)是’x’態(tài),強(qiáng)度值是最強(qiáng)的strength。

需要注意的是driving strength是用于gate輸出和連續(xù)賦值語句輸出的(assign)。對(duì)于非net類型的多驅(qū)動(dòng),仿真工具會(huì)報(bào)多驅(qū)的編譯錯(cuò)誤。

Systemverilog的driving strength level(驅(qū)動(dòng)強(qiáng)度)有以下幾種:

image.png

上述strength level可以歸為3類:

  • Driving strength:supply,strong,pull和weak
  • Charge storage strength:large,medium和small
  • High impedance:highz

Charge storage strength只用于trireg類型的net。

Driving strength的語法如下:

drive_strength ::=
  ( strength0 , strength1 )
| ( strength1 , strength0 )
| ( strength0 , highz1 )
| ( strength1 , highz0 )
| ( highz0 , strength1 )
| ( highz1 , strength0 )
strength0 ::= supply0 | strong0 | pull0 | weak0
strength1 ::= supply1 | strong1 | pull1 | weak1
charge_strength ::= ( small ) | ( medium ) | ( large )

strength0表示當(dāng)驅(qū)動(dòng)源驅(qū)動(dòng)net為0時(shí)的驅(qū)動(dòng)強(qiáng)度。Strength1表示當(dāng)驅(qū)動(dòng)源驅(qū)動(dòng)net為1時(shí)的驅(qū)動(dòng)強(qiáng)度。

net默認(rèn)的strength level是(strong0, strong1)。對(duì)于pullup和pulldown gate,默認(rèn)的strength level是pull。trireg默認(rèn)的strength level是medium。Supply net的默認(rèn)strength level是supply。另外從上面syntax看出,(highz1, highz0)和(highz0, highz1)的strength level組合是非法的。

結(jié)合上面的理論講解,給出1個(gè)例子如下:

module strength;
  
  logic i1, i2;
  wire logic out;
  
  assign (supply1, weak0) out = i1;
  assign (pull1, supply0) out = i2;
  
  initial begin
    i1 = 1'b0;
    i2 = 1'b0;
    $strobe("[time:%0t],i1:%b, i2:%b, out:%b, out_strength:%v", $time, i1, i2, out, out);
    #1ns;
    i1 = 1'b0;
    i2 = 1'b1;
    $strobe("[time:%0t],i1:%b, i2:%b, out:%b, out_strength:%v", $time, i1, i2, out, out);
    #1ns;
    i1 = 1'b1;
    i2 = 1'b0;
    $strobe("[time:%0t],i1:%b, i2:%b, out:%b, out_strength:%v", $time, i1, i2, out, out);
    #1ns;
    i1 = 1'b1;
    i2 = 1'b1;
    $strobe("[time:%0t],i1:%b, i2:%b, out:%b, out_strength:%v", $time, i1, i2, out, out);
  end
  
endmodule

使用Questasim仿真輸出的log結(jié)果為:

# [time:0],i1=0, i2=0, out=0, out_strength=Su0
# [time:1],i1=0, i2=1, out=1, out_strength=Pu1
# [time:2],i1=1, i2=0, out=x, out_strength=SuX
# [time:3],i1=1, i2=1, out=1, out_strength=Su1

"assign (supply1, weak0) out = i1"行給net類型的out驅(qū)動(dòng)i1的值,其中strength1為supply1(level=7),strength0為weak0(level=3)。12行給net類型的out驅(qū)動(dòng)i2的值,其中strength1為pull1(level=5),strength為supply0(level=7)。

" assign (pull1, supply0) out = i2"行給net類型的out驅(qū)動(dòng)i2的值,其中strength1為pull1(level=5),strength為supply0(level=7)。

image.png

Driving strength還有很多其它的組合,大家可以復(fù)制上述代碼,并修改assign out語句的strength0與strength1去產(chǎn)生其它的組合并分析結(jié)果。

另外,大家可能好奇如何打印出net變量的strength level?在systemverilog中提供了%v格式化打印。%v的輸出是3個(gè)字符的string類型,前2個(gè)字符指示strength類型,第三個(gè)字符指示當(dāng)前邏輯值。比如上述log中的Su0或Pu1或SuX或Su1。

聲明:本文內(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)投訴
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    53

    文章

    8269

    瀏覽量

    146823
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1019

    瀏覽量

    83880
  • Verilog語言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8288
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SystemVerilog的Virtual Methods

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

    SystemVerilog的“const”類屬性

    SystemVerilog可以將類屬性聲明為常量,即“只讀”。目的就是希望,別人可以讀但是不能修改它的值。
    發(fā)表于 11-29 10:25 ?2174次閱讀

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

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

    protel的“have no driving source”問題

    畫原理圖的時(shí)候,在編譯時(shí)出現(xiàn)警告:have no driving source,請(qǐng)問有高手能否指點(diǎn)一下,如何解決
    發(fā)表于 06-14 11:20

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

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

    SystemVerilog Assertion Handbo

    SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
    發(fā)表于 07-22 14:08 ?188次下載

    SystemVerilog的斷言手冊(cè)

    SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
    發(fā)表于 07-22 14:12 ?20次下載

    SystemVerilog$cast的應(yīng)用

    SystemVerilog casting意味著將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。在將一個(gè)變量賦值給另一個(gè)變量時(shí),SystemVerilog要求這兩個(gè)變量具有相同的數(shù)據(jù)類型。
    的頭像 發(fā)表于 10-17 14:35 ?2910次閱讀

    SystemVerilog的操作方法

    SystemVerilog提供了幾個(gè)內(nèi)置方法來支持?jǐn)?shù)組搜索、排序等功能。
    的頭像 發(fā)表于 10-31 10:10 ?2953次閱讀

    SystemVerilog可以嵌套的數(shù)據(jù)結(jié)構(gòu)

    SystemVerilog除了數(shù)組、隊(duì)列和關(guān)聯(lián)數(shù)組等數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)還可以嵌套。
    的頭像 發(fā)表于 11-03 09:59 ?1642次閱讀

    SystemVerilog的package

    SystemVerilog packages提供了對(duì)于許多不同數(shù)據(jù)類型的封裝,包括變量、task、function、assertion等等,以至于可以在多個(gè)module中共享。
    的頭像 發(fā)表于 11-07 09:44 ?1296次閱讀

    SystemVerilog的struct

    SystemVerilog“struct”表示相同或不同數(shù)據(jù)類型的集合。
    的頭像 發(fā)表于 11-07 10:18 ?2521次閱讀

    SystemVerilog的Shallow Copy

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

    SystemVerilog的Semaphores

    SystemVerilogSemaphore(旗語)是一個(gè)多個(gè)進(jìn)程之間同步的機(jī)制之一,這里需要同步的原因是這多個(gè)進(jìn)程共享某些資源。
    的頭像 發(fā)表于 12-12 09:50 ?3435次閱讀

    帶你了解SystemVerilog的關(guān)聯(lián)數(shù)組

    SystemVerilog,我們知道可以使用動(dòng)態(tài)數(shù)組實(shí)現(xiàn)數(shù)組元素個(gè)數(shù)的動(dòng)態(tài)分配,即隨用隨分
    的頭像 發(fā)表于 06-09 09:46 ?7581次閱讀
    帶你了解<b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b>的關(guān)聯(lián)數(shù)組
    主站蜘蛛池模板: 亚洲免费国产| WWWXXXX兽交| 亞洲人妻AV無碼在線視頻| 亚洲日本激情| 亚洲视频免费在线观看| 在线看免费毛片| 99视频免费播放| 超碰人人澡人人胔| 国产精品久久一区二区三区蜜桃 | 三级黄在线播放| 午夜阳光影院在线观看视频| 亚洲网站视频在线观看| 91久久夜色精品| 处xxxx.88| 好男人社区| 美女的避毛| 日韩精品卡1卡2三卡四卡乱码 | 黑人操白逼| 免费观看成人毛片| 日本人添下面的全过程| 亚洲AV噜噜88| 2020国产成人免费视频| 成人国产免费| 国自产拍 高清精品| 免费特黄一区二区三区视频一| 色99蜜臀AV无码| 亚洲欲色欲色XXXXX在线AV| 99精品观看| 国产女人乱人伦精品一区二区 | ppypp日本欧美一区二区| 国产精品久久久久一区二区三区 | 宅男午夜大片又黄又爽大片| 99久久久久精品国产免费麻豆| 国产GV天堂亚洲国产GV刚刚碰| 精品美女国产互换人妻| 欧美性情一线免费http| 小雪奶水涨翁工帮吸的推荐语录| 中文字幕a有搜索网站| 姑娘日本大全免费观看版中文翻译| 极品少妇小泬50PTHEPON| 男女爽爽无遮挡午夜视频在线观看|