在systemverilog協議中,logic定義四態值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協議中的reg很接近。但是logic有個很明顯的優勢,不允許多驅動。
多驅動對關鍵字logic而言是語法錯誤,在VCS編譯階段就能夠發現,能夠更早得發現錯誤。
而在Verilog協議中,并沒有強調reg是不允許多驅的,因此VCS等編譯工具不會主動報錯。
需要在spyglass lint才能檢查出來,或者通過VCS 仿真發現。
在芯片設計中,更早的暴露問題一直是設計和驗證人員追求的目標,因此在RTL編碼時,如果正常設計是不允許多驅動的場景中,建議使用logic替代reg。
如下案例中:cfg_mode 被多驅動,在實際項目設計中,多驅動的問題往往更加隱蔽,更不容易發現。
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報錯:
如下案例中:cfg_mode 被多驅動,但是申明成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
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
驅動器
+關注
關注
52文章
8226瀏覽量
146253 -
仿真器
+關注
關注
14文章
1017瀏覽量
83721 -
RTL
+關注
關注
1文章
385瀏覽量
59761 -
VCS
+關注
關注
0文章
79瀏覽量
9600 -
Verilog語言
+關注
關注
0文章
113瀏覽量
8224
發布評論請先 登錄
相關推薦
SystemVerilog學習一 —— 計數器
本帖最后由 鼻子抽筋 于 2012-2-21 15:41 編輯
SystemVerilog給予Verilog、VHDL和C/C++優點為一身的硬件描述語言,很值得學一學。1、8-bit up
發表于 02-21 15:39
[啟芯公開課] SystemVerilog for Verification
學快速發展,這些趨勢你了解嗎?SystemVerilog + VM是目前的主流,在未來也將被大量采用,這些語言和方法學,你熟練掌握了嗎?對SoC芯片設計驗證感興趣的朋友,可以關注啟芯工作室推出的SoC芯片
發表于 06-10 09:25
是否有更好的方法來存儲比reg [100,000:0] val更有效的大值
我對xilinx和verilog有些新意。對于我正在研究的程序,我需要一個非常大的寄存器。 (大約100,000位)當我嘗試編譯時,需要很長時間,我想知道是否有更好的方法來存儲比reg
發表于 02-15 13:41
使用SystemVerilog來簡化FPGA中接口的連接方式
的一小部分,入門也很快,因此建議FPGA工程師學一下SystemVerilog。 本文中用到的logic關鍵字的解釋可以參考SystemVerilog教程之數據類型1 ?此次例程也比較簡單,有兩個模塊
發表于 01-08 17:23
噪聲頻譜密度(NSD)比信噪比(SNR)更有用?
大家有木有發現,在比較在不同速度下工作的系統、或者查看軟件定義系統如何處理不同帶寬的信號時,噪聲頻譜密度(NSD)可以說比信噪比(SNR)更為有用。雖然它不能取代其他規格,但會是分析工具箱中的一個有用參數指標。難道真的噪聲頻譜密度(NSD)比信噪比(SNR)
發表于 03-05 08:17
SystemVerilog Assertion Handbo
SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
發表于 07-22 14:08
?188次下載
SystemVerilog的斷言手冊
SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
發表于 07-22 14:12
?20次下載
SystemVerilog 3.1a Language Re
Section 1 Introduction to SystemVerilog ..... 1Section 2 Literal Values... 42.1 Introduction
發表于 07-22 14:18
?39次下載
SystemVerilog的正式驗證和混合驗證
手冊的這一部分探討了使用SystemVerilog進行驗證,然后查看了使用SystemVerilog的優點和缺點。
發表于 03-29 10:32
?24次下載
SystemVerilog在硬件設計部分有哪些優勢
談到SystemVerilog,很多工程師都認為SystemVerilog僅僅是一門驗證語言,事實上不只如此。傳統的Verilog和VHDL被稱為HDL(Hardware Description
systemverilog:logic比reg更有優勢
在systemverilog協議中,logic定義四態值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協議中的reg很接近。但是logic有個
SystemVerilog相比于Verilog的優勢
我們再從對可綜合代碼的支持角度看看SystemVerilog相比于Verilog的優勢。針對硬件設計,SystemVerilog引入了三種進程always_ff,always_comb
評論