日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 處芯積律

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

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

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

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

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

如下案例中:cfg_mode 被多驅動,在實際項目設計中,多驅動的問題往往更加隱蔽,更不容易發(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 被多驅動,但是申明成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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉