gpt4 book ai didi

verilog - Verilog 中的 Casex 和 Casez

转载 作者:行者123 更新时间:2023-12-03 21:31:53 24 4
gpt4 key购买 nike

casex 和有什么不一样和 casezVerilog ?
我搜索了一下,找到了这句话:

casez treats all z values in the case alternatives or the case expression as don't cares. All bit positions with z can also represented by ? in that position.

casex treats all x and z values in the case item or the case expression as don't



关心。

例如,第一个和第二个有什么区别:

1-
casez (instr)
7'b1zzzzzzz: // arithmetic
7'b01zzzzzz: // load-reg
7'b00zzzzzz: // store-reg
endcase

2-
 casex (instr)
7'b1zxxxxzz: // arithmetic
7'b01zzxxxx: // load-reg
7'b00xxxzzz: // store-reg
endcase

最佳答案

Verilog 语言引用手册(现在被 SystemVerilog LRM 取代)详细解释了这一点。关键区别在于 case 表达式 instr包含 x 或 z 值。请记住,两者 casexcasez查看两个案例项目 x 和 z 值的 case 表达式。我们称其为对称比较,因为无关值可以出现在任何地方。

所以如果 instr全是 x,casez 中没有任何项目会匹配,但 casex 中的所有项目会匹配,模拟器会选择第一个项目。同样,如果 instr都是 z,那么所有项目都会匹配。我考虑 casex一个无用的构造。

SystemVerilog 将这两个语句替换为 case() inside陈述。它使用非对称比较运算符 ==?仅将案例项目中的 x 或 z 视为无关紧要。

关于verilog - Verilog 中的 Casex 和 Casez,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34370901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com