Verilog中的case语句是一种条件语句,其本质作用和if else if else if -------else,一样。但是在Verilog中主要用来状态机的判断,根据输入的语句,输出取不同的状态,最常用的语法之一。
举例:
wire [2:0] selecetor;
reg [7:0] result;
case (selector) //有始,切记没有分号
3'b000: result = 8'b00000000; //当selector = 3'b000时候,result=8'b00000000
3'b001: result = 8'b00000001; //同上
3'b010: result = 8'b00000011;
3'b011: result = 8'b00000111;
3'b100: result = 8'b00001111;
default: result = 8'b11111111;
//每一条结束后一定要有分号,且一定要有default,
default表示selector在以上情况都没有的情况下,reseult=8'b11111111.
如果在Verilog的case语句中没有提供default分支,而输入表达式的值没有匹配到任何case项,
那么在仿真或综合过程中,case语句将不会执行任何操作。这可能导致输出信号的值未定义,
或者取决于仿真工具或综合器的实现方式而不确定。
endcase //有终
case语句必会哦
11.verilog中的case语句
于 2023-07-23 22:52:44 首次发布