【学习笔记】SystemVerilog 基本逻辑门电路测试

1 基本逻辑门电路测试

1.0 仿真激励文件testbench

以下测试使用的testbench如下:

`timescale 1ns / 1ps

module tb_Lab1_test();
    logic A,B;
    logic C;
    parameter t = 100ns;
        initial begin
    A = 1'b0; B = 1'b0;
    #t A = 1'b0; B = 1'b1;
    #t A = 1'b1; B = 1'b0;  
    #t A = 1'b1; B = 1'b1;
    end
    
    // 根据测试需求选择
    Lab1_nand tb_Lab1_test(.A(A),.B(B),.C(C));
    // Lab1_nor tb_Lab1_test(.A(A),.B(B),.C(C));
    // Lab1_xor tb_Lab1_test(.A(A),.B(B),.C(C));
    // Lab1_xnor tb_Lab1_test(.A(A),.B(B),.C(C));
    
endmodule

1.1 测试与非门逻辑功能

  1. 编写与非门电路设计文件
module Lab1_nand(
     input logic A,B,
     output C
 );
 
 //逻辑门表达式如下
 assign C = ~ (A & B);
 
 //也可以使用SystemVerilog内置门级原语 nand g1(C,A,B);实现,在实验一中不推荐
 endmodule

生成电路图如下:

image

  1. 编写testbench文件. 点击跳转

  2. 测试并验证正确性.

  • 功能验证:只有所有输入是高电平时,输出才是低电平;否则输出高电平.

image

A B C
0 0 1
0 1 1
1 0 1
1 1 0

1.2 测试或非门逻辑功能

  1. 编写与非门电路设计文件
   module Lab1_nor(
       input logic A,B,
       output C
   );
    
   //逻辑门表达式如下
   assign C = ~ (A | B);
    
   //也可以使用SystemVerilog内置门级原语 nor g(C,A,B);实现,在实验一中不推荐
    
   endmodule

生成电路图如下:

image

  1. 编写testbench文件. 点击跳转

  2. 测试并验证正确性.

    • 功能验证:只有当两个输入A和B为低电平时,输出为高电平;否则输出低电平;

    image

    A B C
    0 0 1
    0 1 0
    1 0 0
    1 1 0

1.3 测试异或门逻辑功能

  1. 编写与非门电路设计文件

    module Lab1_xor(
        input logic A,B,
        output C
    );
    
    //逻辑门表达式如下
    assign C = A ^ B;
    
    //也可以使用SystemVerilog内置门级原语 xor g(C,A,B);实现,在实验一中不推荐
    
    endmodule
    

    生成电路图如下:

    image

  2. 编写testbench文件. 点击跳转

  3. 测试并验证正确性.

    • 功能验证:若两个输入的电平相异,则输出为高电平;否则输出低电平.

    image

    A B C
    0 0 0
    0 1 1
    1 0 1
    1 1 0

1.4 测试同或门逻辑功能

  1. 编写与非门电路设计文件

    module Lab1_xnor(
        input logic A,B,
    output C
    );
    
    assign C = ~ (A ^ B);
     
    endmodule
    

    生成电路图如下:

    image

  2. 编写testbench文件. 点击跳转

  3. 测试并验证正确性.

    • 功能验证:当两个输入相同时,输出高电平;否则输出低电平.

    image

    A B C
    0 0 1
    0 1 0
    1 0 0
    1 1 1
posted @ 2025-03-08 12:44  NeoAxiomN  阅读(75)  评论(0)    收藏  举报