微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > verilog if判断条件有关于未知值x的判断

verilog if判断条件有关于未知值x的判断

时间:10-02 整理:3721RD 点击:
一直ADD_SUB_int是一个1bit的变量,在条件判断时,对其等于未知值X进行判断,这样不是不可综合的吗,请问这样写有何好处啊?
always
begin
if (ADD_SUB_int == 1'bX)
begin
sum_out = {width {1'bX}};
c_out = 1'bX;
SUM <= sum_out;
end
else if (ADD_SUB_int == 1'b0)
begin
plus(sum_out,c_out,A,B,CI);
SUM <= sum_out;
end
else
begin
subtract(diff,c_out,A,B,CI);
SUM <= diff;
end
CO <= c_out;
@(A or B or CI or ADD_SUB_int);
end

我觉得没什么用
再说组合逻辑干嘛用非阻塞赋值
驴唇不对马嘴
这种写法肯定不能用于asic

我也是这么想的,不过这好像是人家网上专业的8051的核心代码,也有人在FPGA上实现了,所以表示很费解啊

也許是學生寫好玩的, 雖然可以在FPGA上实现, 但裡面不知還有多少 bug,
這需要大量 verification, 並不表示就可以 mass production,
要能 mass production 通常還有一大段距離.

专业的8051核? 我只知道最专业的是cast8051,里面没发现有这种写法啊

能不能综合有待考证,肯定没什么高明的地方,何必去纠结这样的写法!

我觉得应该是有点作用的,比方说在验证时?当判断条件为X时,就可以显示出来了,在综合后的电路上有木有作用就不知道了,应该是没有作用的,但是肯定是可以综合的。

用 $isunknown() 验证比较好一些
assert property (@(posedge clk) $isunknown(...))
$display(....);
else
$display(........);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top