课程设计任务书
学生姓名: 黄思羽
专业班级:
自动化 0607
指导教师: 李向舜
工作单位:
自动化学院
题 目:
10 进制计数器
初始条件:
1. Quartus4.1 以上版本软件;
2. 课程设计辅导资料:“ 数字电路 EDA 入门 ”、“VHDL 程序实例集”、“EDA 技术
与 VHDL”、“EDA 与数字系统 设计 ”等;
3. 先修课程:电路、电子设计 EDA、电子技术基础等。
4. 主要涉及的知识点:
门电路、组合逻辑电路、时序逻辑电路等。
要求完成的主要任务: ( 包 括 课 程 设 计 工 作 量 及 其 技 术 要 求 ,以 及 说 明 书 撰 写 等
具 体 要 求 )
1. 课程设计时间:1 周;
2. 课程设计内容:根据指导老师给定的题目,按规定选择其中 1 套完成 ;
3. 本课程 设计统一 技术要求 :研 读 辅导资 料对应章 节, 对选定 的设计题 目进 行理
论分析 ,针对具 体设计部 分的 原理分析、 建模、必 要的推导 和可行性 分析 ,画
出程序设计框图,编写程序代码( 含注释),上机调试运行程序,记录实验结果
(仿真结果),并对实验结果进行分析 和总结。具体设计要求包括:
1 复习 EDA 的相关技术与方法;
2 掌握 VHDL 或者 Verilog 语言,并要求能编写程序 。
3 Quartus 软件的使用:掌握程序编辑、编译、调试、仿真方法。
4 设计相关简单的电路,完成既定的功能。
4. 课程设 计说明书 按学校“ 课程 设 计工作规 范 ”中的 “ 统一书 写格式 ” 撰写, 具
体包括:
1 目录;
2 计数器相关的理论分析、归纳和总结;
3 10 进制计数器 的结构组成及原理 分析。
4 程序设计框图、程序代码(含注释 );
5 给出程序中主要函数或者语句的功能说明和使用说明;
6 给出程序仿真运行结果和图表、以及 实验结果分析和总结;
7 课程设计的心得体会(至少 500 字 );
8 参考文献;
9 其 它 必 要 内 容 等 。
时间安排:
具体 时间 设计内容
8 月 3 日 指导老师就课程设计内容 、 设计要求、进度安排 、评分标
准等做具体介绍。学生确定选题,明确设计要求
8 月 4 日 开始查阅资料,完成相关电路原理分析、 代码或原理图设
计。
8 月 5 日 采用 VHDL 或 Verilog 语言编程,上机调试,得出实验结果
8 月 6 日 撰写课程设计说明书
8 月 7 日 上交课程设计说明书,并进行答辩
指导教师签名:
系主任(或责任教师)签名:
年
年
月
月
日
日
摘 要
本次能力拓展训练是作出一个 十进制加法计数器,递增计数 ,有进位 、清零、
保持功能。需要按要求编写出十进制计数器的 VHDL 程序,调试、编译程序并 绘制
出仿真波形图,结果应能实现计数功能。
本 次 能 力 拓 展 训 练 意 义 在 于 复 习 EDA 的 相 关 技 术 与 方 法 ; 掌 握 VHDL 或 者
Verilog 语言,并要求能编写程序。 Quartus 软件的使用 : 掌握程序编辑、编译、
调试、仿真方法。
关键 词 :十进制计数器 VHDL
Quartus II 9.0
目 录
1 设计内容与要求 .......................................................................................................................1
2 VHDL 语言介绍 .........................................................................................................................2
3 计数器设计 .............................................................................................................................. 4
3.1 设计原理 ...................................................................................................................... 4
3.2 程序设计框图 ..............................................................................................................4
3.3 程序代码设计 ..............................................................................................................5
4 程序仿真 ...................................................................................................................................9
4.1 仿真软件介绍 ..............................................................................................................9
4.2 仿真结果 ...................................................................................................................... 9
4.3 仿真结果分析 ............................................................................................................11
5 心得体会 ................................................................................................................................ 12
参考文献 .....................................................................................................................................13
武汉理工大学《能力拓展训练》课程设计说明书
十进制计数器
1 设计内容与要求
设计一个 10 进制计数器 ,对计数器相关的理论进行分析、归纳和总结;10 进
制计数器的结构组成及原理分析 。程序设计框图 、程序代码(含注释);给出程序
中 主 要 函 数 或 者 语 句 的 功 能 说 明 和 使 用 说 明 ; 给 出 程 序 仿 真 运 行 结 果 和 图 表 、 以
及实验结果分析和总结。
具体设计要求包括:
复习 EDA 的相关技术与方法;
掌握 VHDL 或者 Verilog 语言,并要求能编写程序。
Quartus 软 件的使用:掌握程序编辑、编译、调试、仿真方法。
设计相关简单的电路,完成既定的功能。
1
武汉理工大学《能力拓展训练》课程设计说明书
2 VHDL 语言介绍
VHDL 的 英 文 全 名 是 Very-High-Speed Integrated
Circuit
Hardware
Description Language,诞生于 1982 年 。1987 年底,VHDL 被 IEEE 和美国国防 部确
认为标准硬件描述语言 。自 IEEE 公布了 VHDL 的标准版本, IEEE-1076(简称 87
版 )之 后 , 各 EDA 公 司 相 继 推 出 了 自 己 的 VHDL 设 计 环 境 , 或 宣 布 自 己 的 设 计 工 具
可 以 和 VHDL 接 口 。 此 后 VHDL 在 电 子 设 计 领 域 得 到 了 广 泛 的 接 受 , 并 逐 步 取 代 了
原 有 的 非 标 准 的 硬 件 描 述 语 言 。 1993 年 , IEEE 对 VHDL 进 行 了 修 订 , 从 更 高 的 抽
象 层 次和 系 统 描述 能 力 上扩 展 VHDL 的 内 容, 公 布 了新 版 本 的 VHDL, 即 IEEE 标 准
的 1076-1993 版 本 , ( 简 称 93 版 ) 。 现 在 , VHDL 和 Verilog 作 为 IEEE 的 工 业 标
准 硬 件 描 述 语 言 , 又 得 到 众 多 EDA 公 司 的 支 持 , 在 电 子 工 程 领 域 , 已 成 为 事 实 上
的 通 用硬 件 描 述语 言 。 有专 家 认 为 ,在 新 的 世纪 中 , VHDL 于 Verilog 语 言 将承 担
起大部分的数字系统设计任务。
VHDL 语言是一种用于电路设计的高级语言 。它在 80 年代的后期出现 。最初是
由 美 国 国 防 部 开 发 出 来 供 美 军 用 来 提 高 设 计 的 可 靠 性 和 缩 减 开 发 周 期 的 一 种 使 用
范围较小的设计语言 。
VHDL 的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware
Descriptiong Language.翻 译 成 中 文 就 是 超 高 速 集 成 电 路 硬 件 描 述 语 言 。 因 此 它
的 应 用 主 要 是 应 用 在 数 字 电 路 的 设 计 中 。 目 前 , 它 在 中 国 的 应 用 多 数 是 用 在
FPGA/CPLD/EPLD 的 设 计 中 。 当 然 在 一 些 实 力 较 为 雄 厚 的 单 位 , 它 也 被 用 来 设 计
ASIC。
VHDL 主 要用 于 描 述数 字 系统 的 结构 , 行 为, 功 能和 接 口。 除 了 含有 许 多 具 有
硬 件特 征 的语 句 外, VHDL 的 语言 形 式和 描 述风 格 与句 法 是十 分类 似 于一 般 的 计 算
机 高级 语 言。 VHDL 的 程序 结 构特 点 是将 一 项工 程 设计 ,或 称 设计 实 体( 可 以 是 一
个元件,一个电路模块或一个系统 )分成外部( 或称可是部分,及端口 )和内部(或
称 不 可 视 部 分 ) , 既 涉 及 实 体 的 内 部 功 能 和 算 法 完 成 部 分 。 在 对 一 个 设 计 实 体 定
义了外部界面后,一旦其内部开发 完成后 ,其他的设计就可以直接调用这个实体 。
这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点
2
武汉理工大学《能力拓展训练》课程设计说明书
与其他硬件描述语言相比, VHDL 具有以下特点:
功 能强 大 、 设计 灵 活。 VHDL 具 有功 能 强 大的 语 言结 构 ,可 以 用 简洁 明 确的 源
代 码 来 描 述 复 杂 的 逻 辑 控 制 。 它 具 有 多 层 次 的 设 计 描 述 功 能 , 层 层 细 化 , 最 后 可
直 接生 成 电路 级 描述 。 VHDL 支 持同 步 电路 、 异步 电 路和 随 机电 路的 设 计, 这 是其
他 硬件 描 述语 言 虽不 能 比拟 的 。 VHDL 还 支持 各 种设 计 方法 , 既支 持 自底 向上 的 设
计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。
支持广泛、易于修改 。由于 VHDL 已经成为 IEEE 标准所规范的硬件描述语言 ,
目前大多数 EDA 工具几乎都支持 VHDL,这为 VHDL 的进一步推广和广泛应用奠 定了
基础。在硬件电路设计过程中 ,主要的设计文件是用 VHDL 编写的源代码,因为 VHDL
易读和结构化,所以易于修改设计。
强 大的 系 统 硬件 描 述能 力 。 VHDL 具 有多 层 次 的设 计 描述 功 能, 既 可 以描 述 系
统 级 电 路 , 又 可 以 描 述 门 级 电 路 。 而 描 述 既 可 以 采 用 行 为 描 述 、 寄 存 器 传 输 描 述
或 结构 描 述, 也 可以 采 用三 者 混合 的混 合 级描 述 。另 外 , VHDL 支 持惯 性 延迟 和 传
输 延迟 , 还可 以 准确 地 建立 硬 件电 路模 型 。 VHDL 支 持预 定 义的 和 自定 义 的数 据 类
型 , 给 硬 件 描 述 带 来 较 大 的 自 由 度 , 使 设 计 人 员 能 够 方 便 地 创 建 高 层 次 的 系 统 模
型。
独立于器件的设计、与工艺无关。设计人员用 VHDL 进行设计时 ,不需要首先
考虑选择完成设计的器件 ,就可以集中精力进行设计的优化 。当设计描述完成后,
可以用多种不同的器件结构来实现其功能。
很 强的 移 植 能力 。 VHDL 是 一种 标 准 化的 硬 件描 述 语言 , 同 一个 设 计描 述 可以
被不同的工具所支持,使得设计描述的移植成为可能。
易于共享和复用。VHDL 采用 基于库( Library)的设计方法 ,可以建立各 种可
再 次 利 用 的 模 块 。 这 些 模 块 可 以 预 先 设 计 或 使 用 以 前 设 计 中 的 存 档 模 块 , 将 这 些
模 块 存 放 到 库 中 , 就 可 以 在 以 后 的 设 计 中 进 行 复 用 , 可 以 使 设 计 成 果 在 设 计 人 员
之间进行交流和共享,减少硬件电路设计。
3
武汉理工大学《能力拓展训练》课程设计说明书
3 计数器设计
3.1 设计原理
计数器的输入信号是计数信号(Clk),门控信号是手动清零信号( Rest)、手
动 允 许 计 数 ( En)。 清 零 信 号 Rest 为 1 时 , 保 持 在 异 步 清 零 状 态 , 计 数 脉 冲 上 升
沿 无 效 ; 允 许 计 数 端 为 0 时 , 为 保 持 状 态 , 这 时 保 持 至 最 后 一 个 计 数 , 计 数 脉 冲
上升沿无效;清零信号为 0,允许计数信号为 1 时,计数器上升沿脉冲计数。计数
器的逻辑功能表如表 3-1 所示:
表 3-1 计 数 器 的 逻 辑 功 能 表
控制端
Clk(计数脉冲 ) En(允许计 数信号) Rest(清零信号 )
X
上 升沿
X
X
1
0
1
0
0
工作状态
异步清零
计数
保持
输出总线信号是二进制 — BCD 码输出( Dout)一个进位输出端 Cy。当计数器
输出 0000~1000 时 ,Cy=0,只有当计数器输出 1001 时 ,Cy=1。
以上分析可知,可以完全完成 10 进制计数功能。
3.2 程序设计框图
10 进 制计 数 器程 序 的流 程 可 以 这 样 叙述 : 首先 判 断是 否 处于 异 步清 零 状 态 ,
若是,则计数位和进位信号都是 0;若不是,则继续判断计数脉冲是否达到上升沿 ,
并判断手动允许计数信号是否为 1,若是,则可开始计数,计数信号达到 9 之前,
连续累加 1,达到 9 之后,清零并进位 1。接着继续进入程序进行运算。
10 进制计数器程序的流程图如图 3-1 所示:
4