【问题标题】:verilog- building a small combinational circuitverilog - 构建一个小型组合电路
【发布时间】:2015-12-13 21:59:05
【问题描述】:

我想构建一个小型组合电路(几个或,1 和,1 不是门),我在测试台上偶然发现了一个问题(甚至可能更早),希望有人能帮助我。

the circuit is here

这是代码:

module hewi(input D3,D2,D1,D0,output A0,A1,V);

  wire k,s; //outputs of the and and not gates
  not N01(k,D2);
  and An1(s,k,D1);
  or Ou1(A0,D3,s);
  or Ou2(A1,D3,D2);
  or Oufinal(V,D3,D2,D1,D0);
endmodule

这是测试台代码

module test_benche();

  wire D3,D2,D1,D0,A0,A1,V;
  hewi test(D3,D2,D1,D0,A0,A1,V);

  initial 
  begin
    D3 = 1`b0;
    D2 = 1`b0;
    D1 = 1`b0;
    D0 = 1`b0;
    #50;
    D3=1`b1;
    D2=1`b0;
    D1=1`b1;
    D0=1`b1;
  end
endmodule

我收到的问题是它无法检查这些表达式中的任何一个:

Undefined macro exists as: 'b0'   
  "testbench.sv", 8: token is '`b0'
         D3=1`b0;
                ^

我在这里错过了什么?

【问题讨论】:

  • 看起来您使用的是反引号`而不是单引号'
  • 我纠正了我的错误-我再次编译后它写的下一件事是:错误-[IBLHS-NT] Illegal behavior left hand side testbench.sv, 15 Net type cannot be used在此作业的左侧。有问题的表达式是:D1 源信息:D1 = 1'b1; 对于我赋予值的每个表达式。
  • 下次请为后续问题添加单独的问题。这样就可以接受每个部分的最佳答案。

标签: logic verilog test-bench


【解决方案1】:

语法错误是因为您使用的是反引号(`)而不是单引号(')

所有编译器指令都以 (`) 字符开头。这 字符称为重音(ASCII 0x60)。它不同于 字符 ('),即撇号字符 (ASCII 0x27)。这 编译器指令的范围从它所在的点扩展 已处理,在当前编译单元中处理的所有文件中, 到另一个编译器指令取代它或 编译单元的处理完成。的语义 编译器指令在LRM 第 3.12.1 和 5.6.4 节中定义。

【讨论】:

    【解决方案2】:

    关于以下错误:

    错误-[IBLHS-NT] 非法行为左侧 testbench.sv,15 网络类型不能用于此分配的左侧。有问题的表达式是:D1 源信息:D1 = 1'b1

    不能在alwaysinitial 块中分配电线。因此需要将它们转换为reg 类型。

    //Control signals reg type
    reg  D3,D2,D1,D0;
    //Outputs driven from DUT wires
    wire A0,A1,V;
      hewi test(D3,D2,D1,D0,A0,A1,V);
    
      initial 
      begin
        D3 = 1'b0;
        D2 = 1'b0;
        D1 = 1'b0;
        D0 = 1'b0;
        #50;
        D3=1'b1;
        D2=1'b0;
        D1=1'b1;
        D0=1'b1;
      end
    endmodule
    

    【讨论】:

    • 谢谢!你知道我在哪里可以实际看到工作中的测试台(意味着交互地电路是如何工作的)?
    • 要么在测试台中使用$display 打印到命令行,要么启用波形转储以在波形查看器中查看。
    • @Greg 感谢您的修复,错过了。
    猜你喜欢
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    相关资源
    最近更新 更多