Я не могу получить этот кусок кода для компиляции (2 ошибки).Он работал нормально с Always @ *, но когда я заменил @ * на Always_comb, он не скомпилируется.
Почему бы это работать с использованием Always @ *, но не Always_comb?Некоторая логическая логика в выражении if-else?
Спасибо.
module Pri_Encoder(Out, In);
output [1:0] Out;
reg [1:0] Out;
input [3:0] In;
always_comb begin
if(In[3])
begin
Out[0] = 1'b1;
Out[1] = 1'b1;
end
else if(In[2])
begin
Out[0] = 1'b0;
Out[1] = 1'b1;
end
else if(In[1])
begin
Out[0] = 1'b1;
Out[1] = 1'b0;
end
else if(In[0])
begin
Out[0] = 1'b0;
Out[1] = 1'b0;
end
else
begin
Out[0] = 1'b0;
Out[1] = 1'b0;
end
end
endmodule
2 сообщения об ошибках:
рядом с "begin":синтаксическая ошибка, неожиданное начало.
Синтаксическая ошибка обнаружена в области действия, следующей за Always_comb.Есть пропущенный '::'?