eda课程设计数字秒表40有扩展.doc_第1页
eda课程设计数字秒表40有扩展.doc_第2页
eda课程设计数字秒表40有扩展.doc_第3页
eda课程设计数字秒表40有扩展.doc_第4页
eda课程设计数字秒表40有扩展.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Xxxxxxxx 大 学 课 程 设 计 2013 年 7 月 12 日 课 程 硬件课程设计 题 目 电子秒表设计 院 系 计算机与信息技术学院 专业班级 计算机科学与技术 11-1 班 学生姓名 学生学号 指导教师 东北石油大学课程设计任务书 课程 硬件课程设计 题目 电子秒表设计 专业 姓名 学号 主要内容、基本要求等 一、主要内容: 利用 KX_DN 教学实验箱、微机和 Quartus软件系统,使用 VHDL 语言输入方法设计数 字秒表。它主要由显示译码器、分频器、十进制计数器、报警器和计数器组成。秒共有 6 个 输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有 6 个计数器与 之相对应,6 个计数器的输出全都为 BCD 码输出,这样便于同显示译码器的连接。要求可以 利用层次设计方法和 VHDL 语言,完成硬件设计设计和仿真。最后在 KX_DN 教学实验箱中实 现。 二、基本要求: 1.四个 10 进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数; 2.两个 6 进制计数器:用来分别对十秒和十分进行计数; 3.显示译码器:完成对显示的控制; 4. 能任意启动和归零。 三、扩展要求 1.随意停止及启动 2.可以多次记录数据并且可以读出各次对数据 按照规范写出论文,要求字数在 4000 字以上,并进行答辩。论文内容包括概述(学习、 调研、分析、设计的内容摘要)、EDA 技术的现状和发展趋势、对 KX_DN 教学实验箱和 Quartus软件的掌握程度、数字钟的设计过程(包括原理图或程序设计、编译、仿真分析、 硬件测试的全过程),论文中含有原理图、程序、仿真波形图及其分析报告。 完成期限 第 1920 周 指导教师 专业负责人 2013 年 6 月 25 日 摘 要 EDA 技术是在电子 CAD 技术基础上发展起来的计算机软件系统,是指以计算机为工作 平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产 品的自动设计。 本文通过硬件语言 VHDL 的描述,完成可以记录两次的秒表的设计和实现,先设计秒表 的各个底层模块,运用底层各个模块产生的进位将各个模块连接起来实现一个普通秒表。然 后再将两个普通秒表用选择电路连接在一起,完成可以记录两次的秒表。本次设计的目的就 是在掌握 EDA 初步使用的基础上,运用 VHDL 语言对数字秒表进行设计,将理论和实践相 结合,提高与计算机硬件有关设计能力,提高分析、解决计算机技术实际问题的能力。通过 课程设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。 关键词:电子秒表;电子设计自动化;硬件描述语言;Quartus 目 录 第 1 章 概 述1 1.1 EDA 的概念1 1.2 硬件描述语言VHDL.4 1.3 Quartus II 概述.6 第 2 章 实验原理8 第 3 章 电子秒表设计.9 3.1 分频电路设计.9 3.2 10 位计数器设计10 3.3 6 位计数器设计.11 3.4 电子秒表设计13 3.5 扩展功能15 3.6 电子秒表下载实现.18 结 论.20 参考文献21 第 1 章 概 述 1.1 EDA 的概念 EDA 技术是在 20 世纪 60 年代中期从计算机辅助设计(CAD) 、计算机辅助 制造(CAM) 、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展 而来的。EDA 是电子设计自动化(Electronic Design Automation)的缩写。 EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语 言 HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、 优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程 下载等工作。EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻 了设计者的劳动强度。 EDA 是电子技术设计自动化,也就是能够帮助人们设计电子电路或系统的软 件工具。该工具可以在电子产品的各个设计阶段发挥作用,使设计更复杂的电路 和系统成为可能。在原理图设计阶段,可以使用 EDA 中的仿真工具论证设计的 正确性;在芯片设计阶段,可以使用 EDA 中的芯片设计工具设计制作芯片的版 图;在电路板设计阶段,可以使用 EDA 中电路板设计工具设计多层电路板。特 别是支持硬件描述语言的 EDA 工具的出现,使复杂数字系统设计自动化成为可 能,只要用硬件描述语言将数字系统的行为描述正确,就可以进行该数字系统的 芯片设计与制造。21 世纪将是 EDA 技术的高速发展期,EDA 技术将是对 21 世 纪产生重大影响的十大技术之一。 利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统, 大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计 出 IC 版图或 PCB 版图的整个过程的计算机上自动处理完成。 硬件描述语言 : 硬件描述语言(HDL)是一种用于进行电子系统硬件设计的计 算机高级语言,它采用软件的设计方法来描述电子系统的逻辑功能、电路结构和 连接形式。 常用硬件描述语言有 HDL、Verilog 和 VHDL 语言。 1.1.1 EDA 技术及应用 现在对 EDA 的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、 化工、矿产、生物、医学、军事等各个领域,都有 EDA 的应用。目前 EDA 技术 已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中, 从设计、性能测试及特性分析直到飞行模拟,都可能涉及到 EDA 技术。 在教学方面:几乎所有理工科的高校都开设了 EDA 课程。主要是让学生了 解 EDA 的基本原理和基本概念、硬件描述系统逻辑的方法、使用 EDA 工具进行 电子电路课程的模拟仿真实验并在作毕业设计时从事简单电子系统的设计,为今 后工作打下基础。在科研方面:主要利用电路仿真工具进行电路设计与仿真;利 用虚拟仪器进行产品调试;将 FPGA 器件的开发应用到仪器设备中。在产品设计 与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩 具电路等,EDA 技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在 后期的制作、电子设备的研制与生产、电路板的焊接、器件的制作过程等有重要 作用。 1.1.2 EDA 技术发展趋势 过去的几年里,可编程器件市场的增长主要来自大容量的可编程逻辑器件 CPLD 和 FPGA,其未来的发展趋势如下: (1)向高密度、高速度、宽频带方向发展 设计方法和设计效率的飞跃,带来了器件的巨大需求,这种需求又促使器件 生产工艺的不断进步,而每次工艺的改进,可编程逻辑器件的规模都将有很大扩 展。 (2)向在系统可编程方向发展 采用在系统可编程技术,可以像对待软件那样通过编程来配置系统内硬件的 功能,从而在电子系统中引入“软硬件”的全新概念。它不仅使电子系统的设计 和产品性能的改进和扩充变得十分简便,还使新一代电子系统具有极强的灵活性 和适应性,为许多复杂信号的处理和信息加工的实现提供了新的思路和方法。 (3)向可预测延时方向发展 为了适应未来复杂高速电子系统的要求,可编程逻辑器件的高速可预测延时 是非常必要的。 (4)向混合可编程技术方向发展 已有多家公司开展了这方面的研究,并且推出了各自的模拟与数字混合型的 可编程器件,相信在未来几年里,模拟电路及数模混合电路可编程技术将得到更 大的发展。 (5)向低电压、低功耗方面发展 集成技术的飞速发展,工艺水平的不断提高,节能潮流在全世界的兴起,也 为半导体工业提出了向降低工作电压、降低功耗的方向发展。 1.1.3 开发工具的发展趋势 (1)具有混合信号处理能力 由于数字电路和模拟电路的不同特性,模拟集成电路 EDA 工具的发展远远 落后于数字电路 EDA 开发工具。 (2)高效的仿真工具 一方面是要建立合理的仿真算法;另一方面是要更好地解决系统级仿真中, 系统模型的建模和电路级仿真中电路模型的建模技术。 (3)理想的逻辑综合、优化工具 逻辑综合、优化工具就是要把设计者的算法完整高效地生成电路网表。 1.1.4 系统描述方式的发展趋势 (1)描述方式简便化 图形化的描述方式具有简单直观、容易掌握的优点,是未来主要的发展趋势。 (2)描述方式高效化和统一化 随着 EDA 技术的不断成熟,软件和硬件的概念将日益模糊,使用单一的高 级语言直接设计整个系统将是一个统一化的发展趋势。 随着科技的进步,电子产品的更新日新月异,EDA 技术作为电子产品开发研 制的源动力,已成为现代电子设计的核心。特别是 EDA 技术在我国尚未普及, 掌握和普及这一全新的技术,将对我国电子技术的发展具有深远的意义。 1.2 硬件描述语言VHDL 1.2.1 VHDL 的简介 VHDL 语言是一种用于电路设计的高级语言。它在 80 年代的后期出现。最初 是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使 用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求, 于是他在 1987 年成为 A I/IEEE 的标准(IEEE STD 1076-1987) 。1993 年更进一 步修订,变得更加完备,成为 A I/IEEE 的 A I/IEEE STD 1076-1993 标准。目前, 大多数的 CAD 厂商出品的 EDA 软件都兼容了这种标准。自 IEEE 公布了 VHDL 的标 准版本,IEEE-1076(简称 87 版)之后,各 EDA 公司相继推出了自己的 VHDL 设计 环境,或宣布自己的设计工具可以和 VHDL 接口。此后 VHDL 在电子设计领域得到 了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布 了新版本的 VHDL,即 IEEE 标准的 1076-1993 版本, (简称 93 版) 。现在,VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持, 在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪 中,VHDL 于 Verilog 语言将承担起大部分的数字系统设计任务。 1.2.2 VHDL 语言的特点 VHDL 的程序结构特点是将一项工程设计,关于用 VHDL 和原理图输入进行 CPLD/FPGA 设计的粗略比较:在设计中,如果采用原理图输入的设计方式是比较 直观的。你要设计的是什么,你就直接从库中调出来用就行了。这样比较符合人 们的习惯。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他 的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。应用 VHDL 进行工程设计的优点是多方面的。 (1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决 定了成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的 器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验 设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分 解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须 有多人甚至多个代发组共同并行工作才能实现。 (4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合 和优化,并自动的把 VHDL 描述设计转变成门级网表。 (5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不 必管理最终设计实现的目标器件是什么,而进行独立的设计。 1.2.3 VHDL 的设计流程 它主要包括以下几个步骤: 1.文本编辑: 用任何文本编辑器都可以进行,也可以用专用的 HDL 编辑环境。通常 VHDL 文件保存为.vhd 文件,Verilog 文件保存为.v 文件 2.功能仿真: 将文件调入 HDL 仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前 仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真) 3.逻辑综合: 将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。 逻辑综合软件会生成.edf 或.edif 的 EDA 工业标准文件。 4.布局布线: 将.edf 文件调入 PLD 厂家提供的软件中进行布线,即把设计好的逻辑安放 CPLD/FPGA 内。 5.时序仿真: 需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。 (也 叫后仿真) 通常以上过程可以都在 CPLD/FPGA 厂家提供的开发工具。 1.3 Quartus II 概述 Quartus II 是 Altera 公司的综合性 PLD 开发软件,支持原理图、 VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Language)等多种 设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置 的完整 PLD 设计流程。 Quartus II 可以在 XP、Linux 以及 Unix 上使用,除了可以使用 Tcl 脚本完成 设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一, 功能集中,易学易用等特点。 Quartus II 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模块库, 使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第 三方 EDA 工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三 方 EDA 工具。 此外,Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以 方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统(SOPC)开发, 集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发 平台。 Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到 了广泛的应用。目前 Altera 已经停止了对 Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera 在 Quartus II 中包含了许多诸如 SignalTap II、Chip Editor 和 RTL Viewer 的设计辅助工具,集 成了 SOPC 和 HardCopy 设计流程,并且继承了 Maxplus II 友好的图形界面及简 便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和 直观易用的接口,越来越受到数字系统设计者的欢迎。 1.3.1 软件的启动方式 方法一、直接双击桌面上的图标 ,可以打开 Quartus II 7.2 软件; 方法二、执行:【开始】【程序】【Altera】【Quartus II 7.2】 【Quartus II 7.2 TalkBack Install】菜单命令,可以打开软件。 启动软件后,若你的电脑没有连接到 Internet 互联网,会出现如下图所示的 提示,提示你没有连接到 Altera 的官方网站,将无法获得更新的资源。点击 确定继续,因为这不影响软件的正常使用。 图 1-1 打开页面 第 2 章 实验原理 根据实验对要求本次的设计是运用 VHDL 语言在 Quartus II 7.2 TalkBack Install 环境下设计并运行一个电子秒表。该秒表可以精确到百分之一秒并且记 录对范围是 00 分 00 秒 00 毫秒59 分 59 秒 99 毫秒。在设计的过程中需要运用分 层的结构进行,运用例化语句在顶层实体中队各个部件进行例化,使之达到电子 秒表的要求。 在设计时运用 10 进制计数器和 6 进制计数器对秒表的各个位置进行计数和显 示,在百分之一秒和十分之一秒对位置各用一个带进位对 10 进制计数器来对其 计数和显示。秒和分的位置也运用一个带进位的 10 进制计数器对其进行计数, 十秒的位置着需要一个带进位的 6 进制计数器对其进行计数,而十分的位置需要 一个不带进位对 6 进制计数器对其进行计数。将前一个位置的进位接到下一个位 置的时钟信号以完成各个位置计数情况和前面位置计数情况的链接。完成位置之 间的链接在顶层实体的例化语句中完成。 本系统设计采用自顶向下的设计方案,系统的整体组装设计原理图如图 2-1 所示,它主要由控制模块、时基分频模块,计时模块和显示模块四部分组成。各 模块分别完成计时过程的控制功能、计时功能与显示功能。 数字秒表 计时控制电路 控制状态机 计时电路显示电路 时基分频电路计数器 六进制计数器十制计数器 图 2-1 系统设计原理框图 第 3 章 电子秒表设计 根据实验内容和实验原理,写出各个电路的 VHDL 语言,并且对各个电路进行 仿真,并根据时序仿真图观察设计的电路是否正确。各个电路设计完成之后根据 实验内容和实验对扩展的要求设计出合适对顶层实体其中包括可以多次记录的秒 表需要的硬件电路的 VHDL 语言顶层实体描述。 3.1 分频电路设计 将输入的时钟信号频率改变为我们需要的时钟频率 libraby ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity counter is port ( clk: in std_logic ; 输入的时钟信号 5MHz co: buffer std_logic); 输出的时钟信号 100Hz end counter; architecture bhv of counter is begin process(clk) variable coutinterger:=0; begin if clkevent and clk=1 then cout:=cout+1; if cout 0); elsif clk10event and clk10=1 then if en10=1 then if cqi 0); end if; end if; end if; if cqi=9 then cout10 0); elsif clk6event and clk6=1 then if en6=1 then if cqi 0); end if; end if; end if; if cqi=5 then cout6clkk,co=clk1); 例化语句 u2:cnt10 port map(clk10=clk1,rst10=rstt,en10=enn,cq10=sett(3downto0),cout10=clk2); u3:cnt10 port map(clk10=clk2,rst10=rstt,en10=enn,cq10=sett(7downto 4),cout10=clk3); u4:cnt10portmap(clk10=clk3,rst10=rstt,en10=enn,cq10=sett(11downto 8),cout10=clk4); u5: cnt6 port map(clk6=clk4,rst6=rstt,en6=enn,cq6=sett(15 downto 12),cout6=clk5); u6:cnt10portmap(clk10=clk5,rst10=rstt,en10=enn,cq10=sett(19downto16),cout10=clk6); u7:cnt6 port map(clk6=clk6,rst6=rstt,en6=enn,cq6=sett(23 downto 20); setclk1,enn=enn1,rstt=rst1,set=a); u3: clock port map (clkk=clk1,enn=enn2,rstt=rst1,set=c); u5: choose port map (lk=rea, s1=a,s2=c,o=set1); end architecture one; 图 3-10 可多次记录秒表 RTL 图 图 3-11 可多次记录秒表时序仿真图 3.6 电子秒表下载实现 新建一个工程,工程名为 clocks,在工程中建立多个 VHDL 文件包括 :cnt10.vhd、cnt6.vhd、counter.vhd、clock.vhd 和 clocks.vhd。 编译顶层文件,对编译的结果进行仿真,引脚分配,下载到硬件中等等。 1.编译程序并且验证 VHDL 语言是否正确无误 ,采用功能仿真。 2.建立波形图文件,并对输入端进行赋值 ,并运行得到如图 3-11 的波形图。 3.进行引脚分配,如图 3-12 所示。 4.下载到实验室的芯片(KX_DN 系列)中并运行,如图 3-13 所示。 图 3-12 引脚分配图 图 3-13 程序下载到芯片效果图 结 论 通过此次课程设计,让我对 EDA 这门技术有了更深的体会,并更好的学会了 使用 Quartus软件进行硬件设计。 在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不 足。通过与同学探讨和请教老师,终于把问题都解决了,并加深了对数字时钟原 理和设计思路的了解。同时我也掌握了做课程设计的一般流程,为以后的电子设 计这块积累了一定的经验,为以后从事相关工作有一些帮助。最终解决了问题, 攥写成报告。 通过对设计对实现和对报告对撰写,深深体会到了 VHDL 语言和 EDA 技术的一 些技巧和设计思想,在完成设计的过程中,应该具有很清晰地思路,才可以使电 路更完美和简便,要敢想敢做但是不应该有投机取巧的心理。在完成每一步的时 候都有意想不到的收获也有可能导致错误,所以在设计对过程中要集中精神。在 写报告的过程中,更加凸显了细心二字。不可自认为完美,必须按照格式要求来 撰写自己的报告,所以必须做到足够的精确。 利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统, 大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计 版图的整个过程的计算机上自动处理完成。在进行设计时并不束缚设计者的想象 力,这使得自学、扩展也可以很容易实现。在设计中充分的认识到 EDA 课程对硬 件设计的重要性,若把本门课程学好、学精,对硬件设计将有很大对帮助。以后 若

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论