错误:找不到'Checker'xor_module_b'。实例化'x0_1'必须是可见的检查器。'?

时间:2018-03-17 16:50:45

标签: verilog digital-logic vlsi register-transfer-level

这是什么错误'找不到'Checker'xor_module_b'。实例化'x0_1'必须是可见的检查器。'?我正在使用模块实例化在行为模型中编写verilog代码。在编译时我收到了错误。附上了部分代码和错误。

module CSSA4_4bit_modified_b(s,cin,g,G,GP,a,b);
input cin,g,G,GP;
input [7:0] a,b;
output wire [7:0] s;
wire [6:0] c0;
wire [3:0] c1;
wire [2:0] pro;
wire [7:0] s0;
wire [3:0] s1;

always@(a,b,cin,g,G,GP)
begin
//Subblock 1
//Sum bit 0
xor_module_b x0_1(.a(a[0]), .b(b[0]),.s0(s0[0]));
xor_module_b x0_2(.a(s0[0]),.b(cin), .s0(s[0]));
and_logic_b  a0 (.a(s0[0]), .b(cin), .out(pro[0]));
//end

//Sum bit 1
FA_b         FA_b1(.a(a[1]), .b(b[1]),  .c(g),.sum(s0[1]),.cout(c0[0]));
xor_module_b x1 (.a(s0[1]),.b(pro[0]),.s0(s[1]));
and_logic_b  a1 (.a(s0[1]),.b(pro[0]),   .out(pro[1]));
//end

//Sum bit 2
FA_b         FA_b2(.a(a[2]), .b(b[2]),  .c(c0[0]),.sum(s0[2]),.cout(c0[1]));
xor_module_b x2 (.a(s0[2]),.b(pro[1]),.s0(s[2]));
and_logic_b  a2 (.a(s0[2]),.b(pro[1]),.out(pro[2]));
//end.......continued
//Sum bit 7
FA_b FA_b1_7_1(.a(a[7]),.b(b[7]),.c(c0[5]), .sum(s0[7]),.cout(c0[6]));
FA_b FA_b1_7_2(.a(a[7]),.b(b[7]),.c(c1[2]), .sum(s1[3]),.cout(c1[3]));
sum_select_mux_b M1_7(.Sum(s[7]),.Sum0(s0[7]),.Sum1(s1[3]),.C8k(cin));
//End of subblock 2
//End of CSSA 4-4 bit
end
endmodule

Error Snapshot

1 个答案:

答案 0 :(得分:0)

你不能总是在一个模块中实例化。

永远删除 @(a,b,cin,g,G,GP)

你不需要总是在这里,但万一你需要它:
列出你的变量始终是危险的。如果你忘了一个,你可能会在模拟和现实(门)之间产生不匹配。最好让编译器使用:always @(*)

来解决它

你可以在测试台上使用它,但我不记得曾经需要它。