Есть ли разница между всегда начинать против всегда блоков? - PullRequest
0 голосов
/ 25 октября 2019

. ,.

всегда @ (*) начинаются

            case(op)

            // case statements operands

            6'b000000: control <= 9'b110000010;  

            6'b100011: control <= 9'b101001000;

            6'b101011: control <= 9'b001010000; 

         endcase 

конечный модуль

против

всегда @ (*)

            case(op)

            // case statements operands

            6'b000000: control <= 9'b110000010; 

            6'b100011: control <= 9'b101001000; 

            6'b101011: control <= 9'b001010000;

            endcase 

endmodule

Меняет ли 'начало' что-нибудь в коде?

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

Вы можете поместить begin/end вокруг одного или нескольких операторов везде, где разрешен один оператор. И большинство конструкций допускают только одно утверждение, кроме begin/end. (if / else, case и т. д. все считаются одним оператором.

Например

always one_statememnt;
initial if true_statement else false_statement;
initial case (expression)
          item1: statement1;
          item2: statement2;
          item3: statement3;
        endcase
0 голосов
/ 25 октября 2019

В данном случае это не имеет значения, так как есть только одно утверждение. Но, как правило, begin и end разделяют блок, такой как { и } в C, что позволяет вам иметь более одного оператора внутри if, always и т. Д.

...