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

當(dāng)前位置:首頁 > > 處芯積律

在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é)議中,并沒有強(qiáng)調(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)。

moduletry_top (
inputclk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ??//inputrst_n ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ??//input[1:0] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cfg_mode_in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//
);logic[1:0] ?cfg_mode ;always_ff@(posedgeclk, negedge rst_n)if(~rst_n)cfg_mode<=?1'b0;elsecfg_mode<= cfg_mode_in;
always_ff@(posedgeclk, negedge rst_n)if(~rst_n)cfg_mode<=?1'b0;elsecfg_mode<= cfg_mode_in;


endmodule

VCS報錯:

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

moduletry_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

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