【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(三)、功能仿真测试

本次实验(一)见博客:【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(一)、实验指导书

本次实验(二)见博客:【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(二)、需求分析和系统设计

说明:本次实验的代码使用verilog编写,文章中为阅读方便,故采用matlab代码格式。

2.3、功能仿真测试

2.3.1、测试程序设计
//mode_run模块:
因为仿真本来就是理想信号,所以需要去掉debounce模块进行仿真

module test2;

	// Inputs
	reg clk;
	reg rst;
	reg key0;
	reg key1;

	// Outputs
	wire [3:0] led;

	// Instantiate the Unit Under Test (UUT)
	mode_run_1 uut (
		.clk(clk), 
		.rst(rst), 
		.key0(key0), 
		.key1(key1), 
		.led(led)
	);

	initial begin
		// Initialize Inputs
		clk = 0;
		rst = 0;
		key0 = 0;
		key1 = 0;

		// Wait 100 ns for global reset to finish
		#100;
        
		// Add stimulus here

	end
   #10 clk = ~clk;
   #1000 key0 = ~key0;	
endmodule
//mode_demo模块:
因为仿真本来就是理想信号,所以需要去掉debounce模块进行仿真
module mode_demo_1_sim;

	// Inputs
	reg clk;
	reg rst;
	reg key_0;
	reg key_1;

	// Outputs
	wire dp;
	wire [6:0] light;
	wire [1:0] com;

	// Instantiate the Unit Under Test (UUT)
	mode_demo_1 uut (
		.clk(clk), 
		.rst(rst), 
		.key_0(key_0), 
		.key_1(key_1), 
		.dp(dp), 
		.light(light), 
		.com(com)
	);

	initial begin
		// Initialize Inputs
		clk = 0;
		rst = 0;
		key_0 = 0;
		key_1 = 0;

		// Wait 100 ns for global reset to finish
		#100;
       rst = 1;
		// Add stimulus here

	end
   always #10 clk = ~clk;
	always #10000 key_0 = ~key_0;
endmodule
//Uart_top模块:
	module uart_top_tb;

	// Inputs
	reg Sys_CLK;
	reg Sys_RST;
	reg [1:0] Key_In;

	// Outputs
	wire Signal_Tx;
	

	// Instantiate the Unit Under Test (UUT)
	Uart_Top uut (
		.Sys_CLK(Sys_CLK), 
		.Sys_RST(Sys_RST), 
		.Key_In(Key_In), 
		.Signal_Tx(Signal_Tx)
	);

	initial begin
		// Initialize Inputs
		Sys_CLK = 0;
		Sys_RST = 1;
		Key_In = 0;

		// Wait 100 ns for global reset to finish
		#100;
		Sys_RST = 0;
		#100;
		Sys_RST = 1;
		
		#100000000;
		Key_In = 2'b01;
		#100000000;
		Key_In = 2'b00;
		
		#100000000;
		Key_In = 2'b01;
		#150000000;
		Key_In = 2'b00;
		
		#100000000;
		Key_In = 2'b01;
		#200000000;
		Key_In = 2'b10;
		#100000000;
		Key_In = 2'b00;
		
        
		// Add stimulus here

	end
	
	
always #10 Sys_CLK = ~Sys_CLK;


endmodule
2.3.2、功能仿真过程

//mode_run模块:

在这里插入图片描述

图 2 mode_run仿真

//mode_demo模块:

在这里插入图片描述

图 3 mode_demo仿真

//Uart_top模块:

在这里插入图片描述

图 4 Uart_top仿真

2.3.2、实验关键结果及其解释

//mode_run模块:
在mode_run仿真过程中,在key0置1过后,状态机进入白光—灭—日光—灭—黄光—灭的循环,仿真结果符合实验需求。
//mode_demo模块:
在mode_demo仿真过程中,在key0置1过后,状态机也进入了白光—灭—日光—灭—黄光—灭的循环,仿真结果符合实验需求。
//Uart_top模块:
在Uart_top模块中,Sw不断变化后,按下Key,将Sw的变化一次发送到Tx显示,仿真符合实验设计要求。

(未完待续)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【gdb调试】在ubuntu环境使用gdb调试一棵四层二叉树的数据结构详解

目录 🌞1. 整体思路 🌞2. 准备内容 🌼2.1 配置.c文件 🌼2.2 准备测试程序 🌼2.3 GDB调试基础 🌞3. GDB调试四层二叉树 🌼3.1 测试程序分析 🌼3.2 gdb分析 🌻1. …

到2031年,5G服务市场预计将超过9194亿美元

根据 Transparency Market Research 最近的一份报告,到 2031 年,全球 5G 服务市场预计将超过 9194 亿美元。 这相当于 30.8% 的复合年增长率 (CAGR),预计 2022 年市场价值将达到 827 亿美元。 随着 5G 技术的吸引力日益增强,它正在…

真实世界的密码学(四)

原文:annas-archive.org/md5/655c944001312f47533514408a1a919a 译者:飞龙 协议:CC BY-NC-SA 4.0 第十六章:加密何时何地失败 本章涵盖 使用加密时可能遇到的一般问题 遵循烘烤良好的加密的要点 加密从业者的危险和责任 问候…

UE5、CesiumForUnreal实现建筑白模生成及白模美化功能

1.实现目标 在专栏上篇文章基于GeoJson文件生成城市级白模(本文建筑白模数量12w+)的基础上修改,计算法线和纹理坐标,并基于特定材质进行美化,美化后的白模GIF动图如下所示: 文章目录 1.实现目标2.实现过程2.1 基于Cesium材质美化2.1.1实现原理2.1.2 C++代码2.1.3 蓝图应…

网络基础先导

前言:最好在牢固前面几大件(编程语言、数据结构、操作系统),并且您有一个服务器的基础上(我使用的是腾讯云中配置最低的服务器)再来学习本系列的网络知识。 1.网络发展简要 下面就是简单提及一些概念而已&…

JDK17在Windows安装以及环境变量配置(超详细的教程)

目录 一、JDK17的安装包下载 二、安装JDK17 第一步:运行JDK的EXE文件 第二步:选择下一步 第三步:选择安装目录 第四步:安装完成 三、配置JDK17的环境变量 第一步:打开系统属性界面 第二步:打开高级…

深度学习系列64:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入,主要流程包括: 1) 使用cv2获取视频中所有帧的列表,如下: 2)定义Croper。核心代码为69行:full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…

vue3引入element-plus

element-plus 是element-ui为适配vue3而开发element-ui的包。 vue3通过vite创建项目后, npm create vuelatest根据指令输入project信息。 1.完全引入 进入项目根目录执行 npm install element-plus在App.vue文件中引入安装element-plus import ./assets/main.…

服务注册与发现Eureka、Zookeeper、Consul 三个注册中心的异同点(CAP理论)

Eureka Eureka是由Netflix开源的一个服务注册和发现组件,它主要用于构建高可用、分布式系统的基础设施中。Eureka的服务器端被称为Eureka Server,客户端则是那些需要注册的服务。Eureka具有以下特点: 高可用性:Eureka支持多节点…

【代码】Python3|用Python PIL压缩图片至指定大小,并且不自动旋转

代码主体是GPT帮我写的,我觉得这个功能非常实用。 解决自动旋转问题参考:一行代码解决PIL/OpenCV读取图片出现自动旋转的问题,增加一行代码image ImageOps.exif_transpose(image) 即可恢复正常角度。 from PIL import Image, ImageOpsdef …

史上最全的四分之一、半车再到全车7自由度常规悬架建模与仿真之一

一、悬架建模的简化过程 汽车是一个复杂的振动系统,针对不同的需求进行不同的简化。在对悬架振动分析中,把汽车车身看做一个刚体,把驾驶员座椅和驾驶员拿掉;车身以下至车轮之间的橡胶垫,连接杆,弹簧等具有…

【已解决】电脑设置notepad++默认打开txt

1、以管理员的方式打开notepad 步骤:打开设置 -> 首选项 -> 文件关联 2、 设置Notepad默认打开 按照以下步骤将Notepad设置为默认打开.txt文件: 右键单击任何一个.txt文件。选择“属性”。在“常规”选项卡中,找到“打开方式”&#…

5.Eureka原理分析

消费者如何获取服务提供者具体信息? 1.服务提供者启动时向Eureka注册自己的信息。 2.Eureka保存这些信息。 3.消费者根据服务名称向Eureka拉取提供者信息。 如果有多个服务的提供者,消费者该如何选择? 1.服务消费者利用负载均衡算法&…

css-Echarts图表初始显示异常非完全显示

1.echarts图表初始加载异常 2.问题原因 初次加载时,由于外层使用%比 echarts dom元素没有完全加载完成,canvas绘画继承本身宽高,造成Echarts图表初始显示异常非完全显示。 3.使用echarts图表可参考以下代码(实现一定的自适应&am…

ccfcsp201312-2 ISBN号码

注意&#xff1a;50分 -- u10&#xff0c;最后一位为X 代码&#xff1a; #include <bits/stdc.h> using namespace std; string s; int a[12]; int main() {cin >> s;a[1] s[0] - 0;a[2] s[2] - 0;a[3] s[3] - 0;a[4] s[4] - 0;a[5] s[6] - 0;a[6] s[7] - …

英特尔直面AMD强势出击,新Xeon CPU 3D堆叠 288核

英特尔的新Xeon CPU直面AMD&#xff1a;3D堆叠 288核&#xff01; 英特尔加速其“四年五个节点”战略&#xff0c;计划在 2025 年推出搭载 3D 堆叠技术的 Clearwater Forest Xeon 数据中心 CPU。采用新的封装技术&#xff0c;该芯片将采用 tile-based CPU 设计&#xff0c;旨在…

Jackson 2.x 系列【29】Spring Boot 集成之 Redis 序列化/反序列化

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 本系列Spring Boot 版本 3.2.4 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 前言2. RedisTemplate3. RedisSerializer3.1 J…

Window中Jenkins部署asp/net core web主要配置

代码如下 D: cd D:\tempjenkins\src\ --git工作目录 dotnet restore -s "https://nuget.cdn.azure.cn/v3/index.json" --nuget dotnet build dotnet publish -c release -o %publishPath% --发布路径

LeetCode - 面试题 08.06. 汉诺塔问题

目录 题目链接 解题思路 解题代码 题目链接 LeetCode - 面试题 08.06. 汉诺塔问题 解题思路 假设 n 1,只有一个盘子&#xff0c;很简单&#xff0c;直接把它从 A 中拿出来&#xff0c;移到 C 上&#xff1b; 如果 n 2 呢&#xff1f;这时候我们就要借助 B 了&#xff0c;因…

【BUG】Hexo|GET _MG_0001.JPG 404 (Not Found),hexo博客搭建过程图片路径正确却找不到图片

我的问题 我查了好多资料&#xff0c;结果原因是图片名称开头是_则该文件会被忽略。。。我注意到网上并没有提到这个问题&#xff0c;遂补了一下这篇博客并且汇总了我找到的所有解决办法。 具体检查方式&#xff1a; hexo生成一下静态资源&#xff1a; hexo g会发现这张图片…