如何在if语句中删除重复代码

时间:2019-07-02 01:04:48

标签: system-verilog

试图使现有代码更加紧凑。

if(argA) {
     struct_A_s addr;
     Chunk of common code;
   }
   else if(argB) {
      struct_B_s addr
      Chunk of common code;
  `enter code here` }
   else {
      struct_C_s  addr;
      Chunk of common code;
   }

I wish to do something similar to the lines below.

在addr下面编写它的方式没有得到正确的结构。

   if(argA) {
      struct_A_s addr;
   }
   else if(argB) {
      struct_B_s addr
   }
   else {
       struct_C_s  addr;
   }

Chunk of common code;

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的第二组代码在零时间执行,没有时间增量,因此在解析此代码之后,直到增量时间之后,您生成的结构仍可能是未知的。我的猜测是,在“通用代码块”中,存在一定程度的延迟,导致addr值被更新。