在systemverilog協(xié)議中,logic定義四態(tài)值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協(xié)議中的reg很接近。但是logic有個很明顯的優(yōu)勢,不允許多驅(qū)動。
多驅(qū)動對關鍵字logic而言是語法錯誤,在VCS編譯階段就能夠發(fā)現(xiàn),能夠更早得發(fā)現(xiàn)錯誤。
而在Verilog協(xié)議中,并沒有強調(diào)reg是不允許多驅(qū)的,因此VCS等編譯工具不會主動報錯。
需要在spyglass lint才能檢查出來,或者通過VCS 仿真發(fā)現(xiàn)。
在芯片設計中,更早的暴露問題一直是設計和驗證人員追求的目標,因此在RTL編碼時,如果正常設計是不允許多驅(qū)動的場景中,建議使用logic替代reg。
如下案例中:cfg_mode 被多驅(qū)動,在實際項目設計中,多驅(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報錯:

如下案例中: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)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
驅(qū)動器
+關注
關注
54文章
9083瀏覽量
155604 -
仿真器
+關注
關注
14文章
1051瀏覽量
87315 -
RTL
+關注
關注
1文章
394瀏覽量
62665 -
VCS
+關注
關注
0文章
80瀏覽量
10303 -
Verilog語言
+關注
關注
0文章
113瀏覽量
8791
發(fā)布評論請先 登錄
相關推薦
熱點推薦
SystemVerilog學習一 —— 計數(shù)器
本帖最后由 鼻子抽筋 于 2012-2-21 15:41 編輯
SystemVerilog給予Verilog、VHDL和C/C++優(yōu)點為一身的硬件描述語言,很值得學一學。1、8-bit up
發(fā)表于 02-21 15:39
[啟芯公開課] SystemVerilog for Verification
學快速發(fā)展,這些趨勢你了解嗎?SystemVerilog + VM是目前的主流,在未來也將被大量采用,這些語言和方法學,你熟練掌握了嗎?對SoC芯片設計驗證感興趣的朋友,可以關注啟芯工作室推出的SoC芯片
發(fā)表于 06-10 09:25
是否有更好的方法來存儲比reg [100,000:0] val更有效的大值
我對xilinx和verilog有些新意。對于我正在研究的程序,我需要一個非常大的寄存器。 (大約100,000位)當我嘗試編譯時,需要很長時間,我想知道是否有更好的方法來存儲比reg
發(fā)表于 02-15 13:41
使用SystemVerilog來簡化FPGA中接口的連接方式
的一小部分,入門也很快,因此建議FPGA工程師學一下SystemVerilog?! ”疚闹杏玫降?b class='flag-5'>logic關鍵字的解釋可以參考SystemVerilog教程之數(shù)據(jù)類型1 ?此次例程也比較簡單,有兩個模塊
發(fā)表于 01-08 17:23
噪聲頻譜密度(NSD)比信噪比(SNR)更有用?
大家有木有發(fā)現(xiàn),在比較在不同速度下工作的系統(tǒng)、或者查看軟件定義系統(tǒng)如何處理不同帶寬的信號時,噪聲頻譜密度(NSD)可以說比信噪比(SNR)更為有用。雖然它不能取代其他規(guī)格,但會是分析工具箱中的一個有用參數(shù)指標。難道真的噪聲頻譜密度(NSD)比信噪比(SNR)
發(fā)表于 03-05 08:17
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
?25次下載
數(shù)字硬件建模SystemVerilog之Interface和modport介紹
SystemVerilog Interface是modport的一種,但比簡單的輸入、輸出或輸入輸出端口的功能更多。
SystemVerilog在硬件設計部分有哪些優(yōu)勢
談到SystemVerilog,很多工程師都認為SystemVerilog僅僅是一門驗證語言,事實上不只如此。傳統(tǒng)的Verilog和VHDL被稱為HDL(Hardware Description
systemverilog:logic比reg更有優(yōu)勢
在systemverilog協(xié)議中,logic定義四態(tài)值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協(xié)議中的reg很接近。但是logic有個
SystemVerilog相比于Verilog的優(yōu)勢
我們再從對可綜合代碼的支持角度看看SystemVerilog相比于Verilog的優(yōu)勢。針對硬件設計,SystemVerilog引入了三種進程always_ff,always_comb
systemverilog:logic比reg更有優(yōu)勢?
評論