缩进在Verilog中重要吗?

缩进在Verilog中重要吗?,verilog,Verilog,缩进在Verilog HDL中是否与在Python中一样重要? 还是更像C++,在所有的问题上,如果你正确地放置了{和}块? 编辑:这是我课本上写的东西: always @(A or B or select) if(select == 1) m_out = A; else m_out = B; 在这里,块似乎是由缩进定义的。为什么会这样?不,缩进在Verilog中并不重要(作为额外的空格、制表符和换行符)。它没有使用缩进,而是使用begin和end关键字(和endmodule)来分隔块

缩进在Verilog HDL中是否与在Python中一样重要?
还是更像C++,在所有的问题上,如果你正确地放置了{和}块? 编辑:这是我课本上写的东西:

always @(A or B or select)
  if(select == 1) m_out = A;
  else m_out = B;

在这里,块似乎是由缩进定义的。为什么会这样?

不,缩进在Verilog中并不重要(作为额外的空格、制表符和换行符)。它没有使用缩进,而是使用
begin
end
关键字(和
endmodule
)来分隔块。所以,您所需要的就是正确地将这些关键字放置到位。例如:

always
 begin
   clk = 0;
   #1;
   clk = 1;
   #1;
 end
always @(A or B or select)
  if(select == 1) m_out = A;
  else 
    begin
        m_out = B;
        m_out_2 = A;
    end
在您的示例中,
if
else
块各自只有一条语句,因此不需要使用
begin
/
end
关键字(C中也有类似的情况)。另外,
始终
块只包含一个
if-else
块,因此我们也不需要
开始
/
结束
。如果这些块中的任何一个包含多个语句,我们必须使用
begin
/
end
。例如:

always
 begin
   clk = 0;
   #1;
   clk = 1;
   #1;
 end
always @(A or B or select)
  if(select == 1) m_out = A;
  else 
    begin
        m_out = B;
        m_out_2 = A;
    end

不,缩进在Verilog中并不重要(作为额外的空格、制表符和换行符)。它没有使用缩进,而是使用
begin
end
关键字(和
endmodule
)来分隔块。所以,您所需要的就是正确地将这些关键字放置到位。例如:

always
 begin
   clk = 0;
   #1;
   clk = 1;
   #1;
 end
always @(A or B or select)
  if(select == 1) m_out = A;
  else 
    begin
        m_out = B;
        m_out_2 = A;
    end
在您的示例中,
if
else
块各自只有一条语句,因此不需要使用
begin
/
end
关键字(C中也有类似的情况)。另外,
始终
块只包含一个
if-else
块,因此我们也不需要
开始
/
结束
。如果这些块中的任何一个包含多个语句,我们必须使用
begin
/
end
。例如:

always
 begin
   clk = 0;
   #1;
   clk = 1;
   #1;
 end
always @(A or B or select)
  if(select == 1) m_out = A;
  else 
    begin
        m_out = B;
        m_out_2 = A;
    end

谢谢,我被if-else语句if部分后面的分号弄糊涂了。我认为if语句到此结束,else是另一个语句。谢谢,if-else语句if部分后面的分号把我弄糊涂了。我认为if语句到此结束,else语句是另一个语句。