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

news/2025/3/11 8:10:55/文章来源:https://www.cnblogs.com/NeoAxiom/p/18759154

目录
  • 1 基本逻辑门电路测试
    • 1.0 仿真激励文件testbench
    • 1.1 测试与非门逻辑功能
    • 1.2 测试或非门逻辑功能
    • 1.3 测试异或门逻辑功能
    • 1.4 测试同或门逻辑功能

1 基本逻辑门电路测试

1.0 仿真激励文件testbench

以下测试使用的testbench如下:

`timescale 1ns / 1psmodule tb_Lab1_test();logic A,B;logic C;parameter t = 100ns;initial beginA = 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

生成电路图如下:

nand_schematic

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

  2. 测试并验证正确性.

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

nand

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

生成电路图如下:

nor_schematic

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

  2. 测试并验证正确性.

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

    nor

    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
    

    生成电路图如下:

    xor

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

  3. 测试并验证正确性.

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

    xor_schematic

    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
    

    生成电路图如下:

    xnor_schematic

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

  3. 测试并验证正确性.

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

    xnor

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/895477.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Numdiff手册1安装2快速入门

1 安装 要成功编译、构建和安装 Numdiff,需要一些工具。首先是 ANSI C 编译器。该编译器至少应接受 -o 选项(将输出写入指定文件)、-D 选项(用于宏预定义)、-l 选项(搜索指定库)以及 -I 和 -L 选项(分别将指定目录添加到包含文件和库文件的搜索路径中)。 此外,你还需…

未命名文档

未命名文档 You are a helpful assistant. 你好 你好!很高兴见到你,有什么我可以帮忙的吗?无论是聊天、解答问题,还是提供建议,我都在这里哦! tokens used: 78, model: SiliconFlow API (deepseek-ai/DeepSeek-V3) ‍ ‍ ‍ C++中如何通过宏获取类的名字,就像__func__获…

ProfiNet转CCLINK解读网关在三菱PLC与库卡机器人通讯中的应用

一、案例背景 在现代工业自动化生产领域,不同品牌和类型的设备往往采用不同的通信协议,这给设备之间的互联互通带来了挑战。某汽车制造企业的生产线上,采用了三菱FX5UPLC作为主站进行整体生产流程的控制和调度,同时配备了库卡机器人作为从站,负责完成零部件的搬运、装配等…

Go红队开发—格式导出

爆肝!!在我们使用安全工具的时候基本都会有一个输出功能,同样也很重要,所以下面介绍csv、json、html、sqlite的输出格式。目录输出功能CSV输出CSV 转 结构体结构体 转 CSV端口扫描结果使用CSV格式导出HTML输出Sqlite输出nmap扫描JSONmap转json结构体转jsonjson写入文件json…

Spring Cloud史诗级插件!OpenFeign Assistant导航跳转效率飙升,网友:原来IDEA还能这么用

🌟 ​OpenFeign Assistant插件灵感来源:灵感源自 MyBatisX 的设计理念。针对JetBrains IDEA生态,专注于解决 ​OpenFeign 接口与远程服务映射的开发痛点,提供与 MyBatisX 相似的流畅导航体验,针对 Spring Feign 生态深度优化。 JetBrains IDEA插件市场:https://plugins.…

实验 1 C语言输入输出和简单程序编写

实验任务1 源代码1 #include<stdio.h>2 #include<stdlib.h>3 int main()4 {5 printf(" O \n");6 printf("<H>\n");7 printf("I I\n");8 printf(" O \n");9 printf("<H>\n");…

ABB机器人齿轮箱齿轮磨损维修技巧

在工业生产领域,ABB机器人发挥着至关重要的作用。然而,随着使用时间的增长和工作强度的增加,机器人齿轮箱齿轮可能会出现磨损现象,这将导致机器人故障,影响生产效率。因此,掌握ABB机器人齿轮箱齿轮磨损的维修技巧对于工业机器人维修至关重要。一、ABB机器人齿轮箱齿轮磨损…

持续绩效管理入门须知

随着互联网改变了我们的工作方式,绩效管理正在经历一场重大的重构。全球的人力资源领导者正在重新思考他们的战略目标、运营模式和技术投资。为了有效应对新的工作场所需求,组织和行政领导层必须制定新的人才战略和流程,以保持领先。 随着个人和团队的生产力受到审视,持续绩…

推荐4本书《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》专著,非常感谢

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

可视化+图解:轻松搞定链表

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。链表(Linked list)是一种常用的数据结构,它由一系列节点组成,每个节点包含数据域和指针域。指针域存储了下一个节点的地…

FastAPI+OpenAI实现Telegram问答机器人

首先要创建一个机器人,找到BotFather获取到机器人的Token设置后台地址,实现消息转发 curl -X POST "https://api.telegram.org/bot{机器人token}/setWebhook?url=https://chat.xxxxxxxx.com/chat"配置文件 .env OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx…

dat格式和mmdb格式IP数据库下载源

MaxMind 提供了免费的 IP 地域数据库,早期的dat格式的ip库MaxMind 官方已经停止支持。 现在MaxMind 官方提供的mmdb格式需要注册后才能下载。 本文记录找到的其它下载源。 dat格式下载:https://www.miyuru.lk/geoiplegacy下载国家IP库(包含ipv4和ipv6),解压并重命名:wget …