农业工程学院课程设计说明书
第一章 绪论
1.1引言
近年来,EDA技术获得了飞速发展。传统电路设计应用分立元件或通用数字电路芯片设计周期长,花费大,而且往往局部功能优化,而整体功能较差。而EDA以计算机为平台,根据硬件描述语言能自动地完成逻辑编译、化简分割、综合及优化,布局布线,仿真直至对特定目标芯片的适配编译,逻辑映射和编程下载等工作。以自顶向下的设计方法,使硬件设计软件化,摆脱了传统手工设计的众多缺点。随着EDA技术的深入发展,基于硬件描述语言的方法将有取代传统手工设计方法的趋势。
VHDL或VerilogHDL是当前最流行并已成为IEEE标准的硬件描述语言。VHDL具有强大的功能,覆盖面广,描述能力强;有良好的可读性;具有良好的可移植性;可以延长设计的生命周期;支持对大规模设计的分解和已有设计的在利用等等。采用VerilogHDL进行电路设计的最大优点是设计与工艺无关,不必考虑工艺实现时的具体细节,只需根据系统要求来设计实际的电路。本次课程设计就是采用VHDL设计了8选1数据选择器和奇偶校验器。
1.2课程设计目的
在计算机常要求对输入的数据进行选择,且为了能及时可靠地把数据传输给对方并有效地检测错误,在传输时必须要进行校验,而奇偶校验是比较常用的一种检错码。因此对数据选择器和奇偶校验器的掌握是必须的。
通过本次课程设计加深对计算机组成原理中数据选择器和奇偶校验器的相关知识和功能了解。了解EDA技术,并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合计算机组成原理中的相关知识理论联系实际,掌握所学的课程知识。通过对数据选择器和奇偶校验器的设计,巩固综合运用所学知识,提高对计算机组成原理的理解。
1.2课程设计的内容
- 1 -
农业工程学院课程设计说明书
(1)设计一个8选1的数据选择器,有8位数据输入端,1位数据输出端,通过3位地址输入信号寻址,并具有输出使能功能。
(2)设计一个奇偶检验器,要求模拟串行数据输入,并可对其进行奇偶校验。例如对于1位开始位、8位数据位和1位奇偶校验位的10位串行数据,由1个按键根据时序逐个输入,数码管应实时提示当前应输入的数据序号;奇校验或偶校验模式应能设置,odd代表奇校验,eve表示偶校验。显示格式例子:显示odd-9表示当前模式为奇校验,当前应输入第9位(即数据位的第8位)数据;显示odd-PASS则表示奇校验通过;显示odd-FFFF则表示奇校验失败。
- 2 -
农业工程学院课程设计说明书
第二章 EDA,VHDL简介
2.1 EDA简介
EDA是电子设计自动化,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度
2.2 VHDL简介及设计流程
1.VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEE STD1076-1993标准。
2.设计流程 1.设计规范的定义
明确设计的目的,进行设计的总体规划。分析设计要求,以及自己要达到设计目的。
2.采用VHDL进行设计描述 3:VHDL程序仿真
任何设计最好都进行仿真,以保证设计的可靠性,另外,对于作为一个独立的设计项目而言,仿真文件的提供足以可以证明设计的完整性。
这部分包括设计规划和程序编写,设计规划主要包括设计方式的选择及是否
- 3 -
农业工程学院课程设计说明书
进行模块划分。设计方式一般包括直接设计,自顶向下,自底向上设计,
3,综合,优化和布局布线
综合是指将设计描述转化成底层电路的表示,形式,其结果是一个网表或是一组逻辑;优化,主要是为了提高程序的执行效率及减少资源的利用;布局布线是指将逻辑关系转化成电路连接的方式。
5:仿真
这一步主要是为了确定你的设计在经过布局布线之后,是否满足设计要求。
- 4 -
农业工程学院课程设计说明书
第三章 总体设计
3,1数据选择器的工作原理
8选1数据选择器的元件符号如图所示,G是使能输入端,当G=1时,电路不能工作,输出Y=0,G=0时,电路处于工作状态,D[7..0]是数据输入端,C.B.A是数据选择控制端,当电路处于工作状态时,若CBA=000时,D[0]被选中,输出Y=D[0]。
3.2数据选择器的设计
数据选择器由VHDL程序实现,以下所示:
Library ieee;
Use ieee.std_logic_1164.all; Entity mux8_1 is
Port (a,b,c,g:in std_logic;
d:in std_logic_vector(7 downto 0); y:out std_logic); end mux8_1;
architecture one of mux8_1 is
signal s:std_logic_vector(2 downto 0); begin
s<=a&b&c; process(a,b,c,ena) begin
- 5 -