目 录

一   课程设计的目的及意义... 1

1.0设计目的... 1

1.1设计意义... 2

1.2设计要求... 2

二   设计流程:... 2

2.0  万年历原理... 2

2.1 原理框图... 2

2.2原理框图中各子模块的VHDL语言表述及生成模块框图... 3

2.3 VHDL设计流程.................................................................................................... 3

三 VHDL程序... 3

3.0  60进制计数器... 4

3.1  24进制计数器... 4

3.2  天计数模块... 5

3.3  月计数模块... 6

3.4  年计数模块... 7

3.5  秒分时和日月年分组输出控制模块... 8

3.6秒分时和日月年分两种模式切换和调整模块... 8

3.7下载到试验箱上实现其功能... 8

四   总结... 10

4.0. 10

一   课程设计的目的及意义

1.0设计目的

本次设计的目的就是在掌握计算机组成原理理论的基础上,了解EDA技术,掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,例如本课程设计就是基于所学的计算机原理中的数控分频器基础之上的,通过本课程设计,达到巩固和综合运用计算机原理中的知识,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算机实际问题的能力。进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤

1.1设计意义

  巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机工作组成原理与系统结构,深入学习EDA技术,用VHDL技术,用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。熟悉QUARUS II软件的应用。熟悉EDA实验开发系统的基本使用。学习用VHDL基本单元电路的时间应用。进一步掌握EDA的多层次设计方法

1.2 设计要求

  1. 在Quartus中编写VHDL程序实现年、月、日、时、分、秒各模块的功能。

(2) 将各模块在原理图中连接起来实现百年历计时功能。

(3) 将年、月、日和时、分、秒两种模式分别在试验箱模式7下显示,并设置键8为模式的切换键,键3 为调整数键,键6为在当前模式下切换调整位键。将各端口引脚绑定好并下载到实验箱实现其功能,观察是否能实现相应功能效果,如是否可以进位,是否能判断闰年等等。

二   设计流程:

2.0  万年历原理

秒、分是60进制,时是24进制,日31天由月1.3.5.7.8.10.12控制,日28/29由2月和润年控制,日30由月4.6.9.11控制。原理如下图:

2.1 原理框图

根据实验要求,截得实验原理框图如下:

2.2 原理框图中各子模块的VHDL语言表述及生成模块框图:

2.3 VHDL设计流程

(1)设计输入根据电路设计所提出的要求,将程序输入到VHDL编辑器中区编辑。

(2)功能及模拟用VHDL,模拟器对编辑后的程序进行模拟,如果达不到设计要求,则可以重新修改程序,直到通过功能模拟。

(3)逻辑综合与优化,将通过功能模拟的程序放到VHDL编译器中,进行逻辑、综合与优化。

三 部分VHDL程序

3.0  60进制计数器

library ieee;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT60 IS

PORT(CLK:IN STD_LOGIC;

CQ1,CQ2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);

COUT:OUT STD_LOGIC);

END CNT60;

ARCHITECTURE behav OF CNT60 IS

BEGIN

PROCESS(CLK)

VARIABLE Q1,Q2: STD_LOGIC_VECTOR (3 DOWNTO 0);

BEGIN

IF CLK'EVENT AND CLK='1' THEN

Q1:=Q1+1;

IF Q1>9 THEN Q1:="0000";Q2:=Q2+1;

END;

3.1   24进制计数器

library ieee;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY cnt24 IS

PORT(CLK:IN STD_LOGIC;

CQ1,CQ2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);

PROCESS(CLK)

VARIABLE Q1,Q2: STD_LOGIC_VECTOR (3 DOWNTO 0);

BEGIN

IF CLK'EVENT AND CLK='1' THEN

Q1:=Q1+1;

IF Q1>9 THEN Q1:="0000";Q2:=Q2+1;

END IF;

IF Q2=2  AND Q1=4 THEN Q1:="0000";Q2:="0000";COUT<='1';

ELSE COUT<='0';

END IF;

END IF;

CQ1<=Q1;CQ2<=Q2;

END PROCESS;

END;

3.2 天计数模块

Library ieee;

USE IEEE.STD_LOGIC _UNSIGNED.ALL;

USE IEEE.STD_LOGIC _1164.all;

Entity day is

Port( clk : in std_logic;

a,b : in std_logic;

T1,T2 : out std_logic_vector(3 downto 0);

PROCESS(clk,a,b)

begin

IF CLK'EVENT AND CLK='1' THEN

Q1<=Q1+1;

IF Q1=9 THEN Q1<="0000";Q2<=Q2+1;

end if;

ab<=a&b;

case ab is

when"00"=>

if Q2=3 AND Q1=1 THEN

资料包括:

需要完整的资料可在我的资源里下载,也可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。

EDA程序设计--万年历设计相关推荐

  1. EDA程序设计--计时器设计

    实训题目:计时器的设计 1  系统设计 1.1设计要求 1.1.1 设计任务 设计并制作一台计时器. 1.1.2 性能指标要求 ① 用EDA实训仪的I/O设备和PLD芯片实现计时器的设计. ② 计时器 ...

  2. 基于AT89C52单片机的万年历设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87777668?spm=1001.20 ...

  3. c语言程序设计万年历的显示,C语言程序设计万年历

    <C语言程序设计万年历>由会员分享,可在线阅读,更多相关<C语言程序设计万年历(35页珍藏版)>请在人人文库网上搜索. 1.综合性程序设计报告设计题目: 万年历 指导教师: 班 ...

  4. 基于C51单片机的万年历设计(LCD1602显示)

    C51单片机万年历设计 注:该程序基于普中科技C51 V2.2开发板设计,库函数和硬件资料均来自普中科技,侵删.main.c大部分为原创,如有雷同,纯属巧合. 名称:C51万年历. 硬件:以C51芯片 ...

  5. EDA程序设计--数字日历电路

    题目:数字日历电路   1  系统设计 1.1 设计要求 1.1.1 设计任务 设计并制作一台数字日历. 1.1.2 性能指标要求 ① 用EDA实训仪的I/O设备和PLD芯片实现数字日历的设计. ② ...

  6. c语言程序设计实践万年历,c语言程序设计万年历-20210408030342.docx-原创力文档

    集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN] 集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN] C语言程序设计万年历 存档资料 成绩: ...

  7. 画出c语言流程图 万年历,基于ARM7的电子万年历设计

    基于ARM7的电子万年历设计 成 绩 评 定 表 学生姓名 匡克新 班级学号 专 业 通信工程 课程设计题目 基于ARM7的电子万年历设计 评 语 组长签字: 成绩 日期 2015 年 7 月19 日 ...

  8. c语言程序设计迷宫,C语言程序设计课程设计-迷宫.doc

    C语言程序设计课程设计-迷宫 大 学 C语言程序设计 课程设计(论文) 题目: 迷宫问题 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 讲 师 起止时间: 2009.12.14 ...

  9. 基于verilog的万年历设计

    万年历设计如下:(使用verilog语言) 适用于quartusII 或者 vivado 一 digital_clock设计需求 本设计采用FPGA,实现核心控制.利用独立按键当作输入,利用六位一体的 ...

最新文章

  1. 大数据+人工智能正以八种方式撼动商界
  2. 计算机等级考试二级c语言笔试,全国计算机等级考试二级C语言笔试试题和答案.doc...
  3. Python-基础知识-字典dict和集合set
  4. git pull 报错:Untracked Fles Preventing Merge
  5. TensorFlow 教程 --教程--2.3MNIST机器学习入门
  6. HDU-1994-利息计算
  7. 关于 Mythware 极域电子教室
  8. java web背景颜色表,更改表行背景颜色
  9. Python--绘制点
  10. 【嵌入式 · 单片机】一文带你搞懂电机驱动模块
  11. 全国全量企业工商数据分析报告1
  12. ZooKeeper作为注册中心
  13. JAVA使用wkhtmltopdf 将Html 导出PDF
  14. 注册表中如何查找计算机名,怎么进行注册表搜索
  15. 爬虫-豆瓣书籍排行榜及用户信息-2021.7.23-使用Scrapy框架-用MongoDB存储数据
  16. IOS下使用GSOAP(客户端)
  17. 第一篇博客(不足之处还请多说教于我,感谢大家)关于STM32-TIM14定时器
  18. AT指令返回错误代码: CMS errors CME errors 的区别!
  19. 解决中兴U880手机IMEI串号丢失的方法
  20. 无名创新TIVA LaunchPad V2版本飞控代码阶段性更新日志

热门文章

  1. 1950-2021《中国统计年鉴》超长时间跨度动态面板数据 (70w+)实际统计年份1949-2020
  2. 收银系统源码演示-适合超市便利店零售等行业
  3. 方舟(ARK)物品指令代码!
  4. 181216 MacOs上如何将多页PDF文件合成打印在一张PDF表单上面
  5. MyBatis-Plus调用插入Insert()方法报错
  6. Halcon OCR字符识别
  7. STM32的USB例程JoyStickMouse改成自定义HID设备
  8. 协助 MongoDB 计算之本地化排序
  9. 怎么在电脑上查看我们保存的CAD图纸文件呢?
  10. 华为数通HCIA认证800分速成指南(考前6大板块突破,含题库解析)