我该如何解决这个错误? "assign" 附近的语法错误

How do I fix this error? Syntax error near "assign"

我正在尝试在 Verilog 中制作一个 2x1 多路复用器,每个输入在技术上实际上是 2 个输入,输出也是如此。但是,它的行为仍然像一个 2x1 多路复用器。我的代码如下所示:

module mux                                                      
(
  output [11:0] out_0,
  output [11:0] out_1,
  input sel,
  input [11:0] in_a_i,
  input [11:0] in_b_i,
  input [11:0] in_a_q,               
  input [11:0] in_b_q
)                    
  assign out_0 = (sel) ? in_a_i : in_b_i;             
  assign out_1 = (sel) ? in_a_q : in_b_q;                          
endmodule

当我尝试在 Xilinx 中构建它时,出现错误:

Syntax error near "assign"

我不明白分配行有什么问题。我只是错过了一些简单的东西吗?

module 声明后缺少分号 (;)。

module mux
(
  output [11:0] out_0,
  output [11:0] out_1,
  input sel,
  input [11:0] in_a_i,
  input [11:0] in_b_i,
  input [11:0] in_a_q,               
  input [11:0] in_b_q
)  ;