RM新时代网站-首页

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

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

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

systemverilog:logic比reg更有優(yōu)勢

ruikundianzi ? 來源:IC的世界 ? 2023-10-26 09:32 ? 次閱讀

在systemverilog協(xié)議中,logic定義四態(tài)值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協(xié)議中的reg很接近。但是logic有個很明顯的優(yōu)勢,不允許多驅(qū)動。

多驅(qū)動對關(guān)鍵字logic而言是語法錯誤,在VCS編譯階段就能夠發(fā)現(xiàn),能夠更早得發(fā)現(xiàn)錯誤。

而在Verilog協(xié)議中,并沒有強調(diào)reg是不允許多驅(qū)的,因此VCS等編譯工具不會主動報錯。

需要在spyglass lint才能檢查出來,或者通過VCS 仿真發(fā)現(xiàn)。

芯片設(shè)計中,更早的暴露問題一直是設(shè)計和驗證人員追求的目標(biāo),因此在RTL編碼時,如果正常設(shè)計是不允許多驅(qū)動的場景中,建議使用logic替代reg。

如下案例中:cfg_mode 被多驅(qū)動,在實際項目設(shè)計中,多驅(qū)動的問題往往更加隱蔽,更不容易發(fā)現(xiàn)。

module try_top (


    input                                               clk                                  ,   //
    input                                               rst_n                                ,   //
    input       [1:0]                                   cfg_mode_in                              //


);
    logic  [1:0]  cfg_mode ;
    always_ff@(posedge clk, negedge rst_n)
        if(~rst_n)
            cfg_mode <= 1'b0;
         else 
            cfg_mode <= cfg_mode_in;


    always_ff@(posedge clk, negedge rst_n)
        if(~rst_n)
            cfg_mode <= 1'b0;
         else 
            cfg_mode <= cfg_mode_in;






endmodule

VCS報錯:

9d316702-7323-11ee-939d-92fbcf53809c.png

如下案例中:cfg_mode 被多驅(qū)動,但是申明成reg類型,因此VCS不會報ERROR。

module try_top (


    input                                               clk                                  ,   //
    input                                               rst_n                                ,   //
    input       [1:0]                                   cfg_mode_in                              //


);
 


   reg   [1:0]  cfg_mode ;
   
   always@(posedge clk or negedge rst_n)
       if(~rst_n)
           cfg_mode <= 1'b0;
        else 
           cfg_mode <= cfg_mode_in;


   always@(posedge clk or negedge rst_n)
       if(~rst_n)
           cfg_mode <= 1'b0;
        else 
           cfg_mode <= cfg_mode_in;






endmodule

審核編輯:湯梓紅

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

    關(guān)注

    15

    文章

    1015

    瀏覽量

    54875
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110074
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    165

    瀏覽量

    36928
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    9600
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    657

    瀏覽量

    32852

原文標(biāo)題:systemverilog:logic比reg更有優(yōu)勢

文章出處:【微信號:IP與SoC設(shè)計,微信公眾號:IP與SoC設(shè)計】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SystemVerilog學(xué)習(xí)一 —— 計數(shù)器

    本帖最后由 鼻子抽筋 于 2012-2-21 15:41 編輯 SystemVerilog給予Verilog、VHDL和C/C++優(yōu)點為一身的硬件描述語言,很值得學(xué)一學(xué)。1、8-bit up
    發(fā)表于 02-21 15:39

    [啟芯公開課] SystemVerilog for Verification

    學(xué)快速發(fā)展,這些趨勢你了解嗎?SystemVerilog + VM是目前的主流,在未來也將被大量采用,這些語言和方法學(xué),你熟練掌握了嗎?對SoC芯片設(shè)計驗證感興趣的朋友,可以關(guān)注啟芯工作室推出的SoC芯片
    發(fā)表于 06-10 09:25

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

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

    是否有更好的方法來存儲reg [100,000:0] val更有效的大值

    我對xilinx和verilog有些新意。對于我正在研究的程序,我需要一個非常大的寄存器。 (大約100,000位)當(dāng)我嘗試編譯時,需要很長時間,我想知道是否有更好的方法來存儲reg
    發(fā)表于 02-15 13:41

    使用SystemVerilog來簡化FPGA中接口的連接方式

    的一小部分,入門也很快,因此建議FPGA工程師學(xué)一下SystemVerilog?! ”疚闹杏玫降?b class='flag-5'>logic關(guān)鍵字的解釋可以參考SystemVerilog教程之?dāng)?shù)據(jù)類型1  ?此次例程也比較簡單,有兩個模塊
    發(fā)表于 01-08 17:23

    噪聲頻譜密度(NSD)信噪比(SNR)更有用?

    大家有木有發(fā)現(xiàn),在比較在不同速度下工作的系統(tǒng)、或者查看軟件定義系統(tǒng)如何處理不同帶寬的信號時,噪聲頻譜密度(NSD)可以說信噪比(SNR)更為有用。雖然它不能取代其他規(guī)格,但會是分析工具箱中的一個有用參數(shù)指標(biāo)。難道真的噪聲頻譜密度(NSD)信噪比(SNR)
    發(fā)表于 03-05 08:17

    SystemVerilog有哪些標(biāo)準(zhǔn)?

    SystemVerilog有哪些標(biāo)準(zhǔn)?
    發(fā)表于 06-21 08:09

    SystemVerilog Assertion Handbo

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

    SystemVerilog的斷言手冊

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

    SystemVerilog 3.1a Language Re

    Section 1 Introduction to SystemVerilog ..... 1Section 2 Literal Values... 42.1 Introduction
    發(fā)表于 07-22 14:18 ?39次下載

    SystemVerilog的正式驗證和混合驗證

    手冊的這一部分探討了使用SystemVerilog進行驗證,然后查看了使用SystemVerilog的優(yōu)點和缺點。
    發(fā)表于 03-29 10:32 ?24次下載

    數(shù)字硬件建模SystemVerilog之Interface方法概述

    SystemVerilog Interface是modport的一種,但簡單的輸入、輸出或輸入輸出端口的功能更多。
    的頭像 發(fā)表于 04-28 14:10 ?2721次閱讀
    數(shù)字硬件建模<b class='flag-5'>SystemVerilog</b>之Interface方法概述

    systemveriloglogicreg更有優(yōu)勢?

    systemverilog協(xié)議中,logic定義四態(tài)值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協(xié)議中的reg很接近。但是logic有個
    的頭像 發(fā)表于 09-28 17:34 ?2516次閱讀
    <b class='flag-5'>systemverilog</b>:<b class='flag-5'>logic</b><b class='flag-5'>比</b><b class='flag-5'>reg</b><b class='flag-5'>更有</b><b class='flag-5'>優(yōu)勢</b>?

    SystemVerilog在硬件設(shè)計部分有哪些優(yōu)勢

    談到SystemVerilog,很多工程師都認(rèn)為SystemVerilog僅僅是一門驗證語言,事實上不只如此。傳統(tǒng)的Verilog和VHDL被稱為HDL(Hardware Description
    的頭像 發(fā)表于 10-19 11:19 ?1228次閱讀
    <b class='flag-5'>SystemVerilog</b>在硬件設(shè)計部分有哪些<b class='flag-5'>優(yōu)勢</b>

    SystemVerilog相比于Verilog的優(yōu)勢

    我們再從對可綜合代碼的支持角度看看SystemVerilog相比于Verilog的優(yōu)勢。針對硬件設(shè)計,SystemVerilog引入了三種進程always_ff,always_comb
    的頭像 發(fā)表于 10-26 10:05 ?930次閱讀
    <b class='flag-5'>SystemVerilog</b>相比于Verilog的<b class='flag-5'>優(yōu)勢</b>
    RM新时代网站-首页