在Verilog中,case语句就是所有包含在case和endcase之间的代码(也包括casex和casez),逻辑上等价于if-else-if语句,如下所示:

//Case Statement - General Form
case (case_expression)
  case_item1 : case_item_statement1;
  case_item2 : case_item_statement2;
  case_item3 : case_item_statement3;
  case_item4 : case_item_statement4;
  default    : case_item_statement5;
endcase

等价于:

//If-else-if Statement - General Form
if          (case_expression === case_item1)    case_item_statement1;
else if     (case_expression === case_item2)    case_item_statement2;
else if     (case_expression === case_item3)    case_item_statement3;
else if     (case_expression === case_item4)    case_item_statement4;
else                                            case_item_statement5;