数字电路设计之casez,case,casex的用法

本文介绍了Verilog中case、casez和casex语句的区别和用法。在case语句中,匹配是基于全等比较;casez则在有z值时忽略该位进行匹配;casex不仅忽略z,还忽略x值。当多个条件匹配时,只有最上面的语句被执行。使用casex语句需谨慎,因为x状态在仿真初期可能导致误解。
摘要由CSDN通过智能技术生成

case:在case语句中,敏感表达式与各项值之间的比较,是一种全等比较。每一位都必须相同才认为匹配。

casez:这种也可用于优先级电路。

         举个栗子:

module no13(out,a,b,c,d,select
    );

input wire      a,b,c,d;
input wire [3:0]select;
output reg      out;

always@(a or b or c or d or select)
begin
		casez(select)
			4'b???1: out = a;
			4'b??1?: out = b;
         4'b?1??: out = c;
         4'b1???: out = d;		
         default: out = 1'b0;			
		endcase
end

endmodule

仿真代码:

module tb;

	// Inputs
	reg a;
	reg b;
	reg c;
	reg d;
	reg [3:0] select;

	// Outputs
	wire out;

	// Instantiate the Unit Under Test (UUT)
	no13 uut (
		.out(out), 
		.a(a), 
		.b(b), 
		.c(c), 
		.d(d), 
		.select(select)
	);

	ini
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值