当前位置: 首页 > article >正文

EDA实验设计-led灯管动态显示;VHDL;Quartus编程

EDA实验设计-led灯管动态显示;VHDL;Quartus编程

  • 引脚配置
  • 实现代码
  • RTL引脚展示
  • 现象记录
  • 效果展示

引脚配置

#------------------GLOBAL--------------------#
set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"
set_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFF

set_location_assignment PIN_28  -to CLOCK

set_location_assignment	PIN_50	-to	DIG[0]
set_location_assignment	PIN_53	-to	DIG[1]
set_location_assignment	PIN_54	-to	DIG[2]
set_location_assignment	PIN_55	-to	DIG[3]
set_location_assignment	PIN_176	-to	DIG[4]
set_location_assignment	PIN_47	-to	DIG[5]
set_location_assignment	PIN_48	-to	DIG[6]
set_location_assignment	PIN_49	-to	DIG[7]

set_location_assignment	PIN_156	-to	SEG[0]
set_location_assignment	PIN_158	-to	SEG[1]
set_location_assignment	PIN_141	-to	SEG[2]
set_location_assignment	PIN_143	-to	SEG[3]
set_location_assignment	PIN_124	-to	SEG[4]
set_location_assignment	PIN_123	-to	SEG[5]
set_location_assignment	PIN_122	-to	SEG[6]
set_location_assignment	PIN_121	-to	SEG[7]
#------------------END-----------------------#

实现代码

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
--USE WORK.ZXQPALC.ALL;
ENTITY LED_8 IS 
    generic( M: integer  :=48000 ; N: integer  :=8  ) ; 
             
	PORT(    CLOCK :	IN STD_LOGIC;
	         
	         SEG : OUT STD_LOGIC_VECTOR(7 downto 0);
	         DIG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );
END LED_8;

ARCHITECTURE BHV OF LED_8 IS

 BEGIN
	PROCESS(CLOCK)
		VARIABLE CQI_1:integer range 0 to M;
		VARIABLE CQI_2:integer range 0 to N;

	BEGIN
		
		IF CLOCK'EVENT AND CLOCK='1' THEN
			
				IF CQI_1<(M-1) THEN  
					 CQI_1:=CQI_1+1; 
				 ELSE CQI_1:=0;
					IF CQI_2<(N-1) THEN CQI_2:=CQI_2+1;    
					ELSE CQI_2:=0;
					END IF ;
				END IF ;	
		
			CASE CQI_2 IS
				WHEN 0      =>  SEG<=B"1100_0000"; DIG<=B"0111_1111";
				WHEN 1      =>  SEG<=B"1111_1001"; DIG<=B"1011_1111";
				WHEN 2      =>  SEG<=B"1010_0100"; DIG<=B"1101_1111";
				WHEN 3      =>  SEG<=B"1011_0000"; DIG<=B"1110_1111";
				WHEN 4      =>  SEG<=B"1001_1001"; DIG<=B"1111_0111";
				WHEN 5      =>  SEG<=B"1001_0010"; DIG<=B"1111_1011";
				WHEN 6      =>  SEG<=B"1000_0010"; DIG<=B"1111_1101";
				WHEN 7      =>  SEG<=B"1111_1000"; DIG<=B"1111_1110";
				WHEN OTHERS   =>  SEG<=B"1111_1111"; DIG<=B"1111_1111";
			END CASE;
		END IF;
		
	END PROCESS ;
END BHV;

RTL引脚展示

在这里插入图片描述

现象记录

• 数码管能够从左到右依次显示数字 0 到 7,并且按预期循环显示。
• 仿真与硬件运行结果一致,显示逻辑和计数器的控制符合设计要求。
• 实验目标完成,数码管显示控制系统功能正常。

效果展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/403014.html

相关文章:

  • Rocky Linux 系统安装/部署 Docker
  • 汽车加油行驶问题-动态规划算法(已在洛谷AC)
  • python之开发笔记
  • flex布局 昵图网【案例】
  • 深度学习笔记24_天气预测
  • 从复合字符串中分割并解析多个JSON字符串
  • Ubuntu24.04LTS设置root用户可远程登录
  • Flutter踩坑记录(一)debug运行生成的项目,不能手动点击运行
  • Qt5-雷达项目
  • C++零基础入门:趣味学信息学奥赛从“Hello World”开始
  • 数字排序的多种方法与实现:从基础到优化
  • 【MyBatis 源码阅读与笔记】Mapper 接口的动态代理实现
  • Python实现随机分布式延迟PSO优化算法(RODDPSO)优化CNN分类模型项目实战
  • 2024.11|云计算行业的商业模式创新方法及实践
  • 【Python】selenium获取定位元素大小、电脑屏幕的像素、屏幕尺寸信息、以及网页尺寸的方法
  • Java EE 【知识改变命运】01计算机的一些知识点
  • 异常检测作业
  • ubuntu.24安装cuda
  • 导入JUnit测试类jar包
  • Java面试之多线程并发篇(6)
  • el-cascader 使用笔记
  • 探索Linux软件包管理的进化之路:从源码编译到Snap包的飞跃
  • Python实现图片定位与自动输入文字
  • 七、利用CSS和多媒体美化页面的习题
  • OLED透明屏在零售行业有什么应用场景
  • SpringBoot项目升级到3.*,并由JDK8升级到JDK21