Mux实施

时间:2015-06-19 20:29:12

标签: verilog mux

我试图在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中构建它时,我已经给出了非常有用的错误:

  

" assign"附近的语法错误

我不明白分配线的错误,我只是遗漏了一些简单的东西吗?

1 个答案:

答案 0 :(得分:1)

;声明后缺少分号(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
)  ;