编码器和译码器的设计.doc_第1页
编码器和译码器的设计.doc_第2页
编码器和译码器的设计.doc_第3页
编码器和译码器的设计.doc_第4页
编码器和译码器的设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

长沙理工大学计算机组成原理课程设计报告编码器和译码器的设计 刘 宝学 院 计算机与通信工程 专 业 计算机科学与技术 班 级 085010502 学 号 200550080229 学生姓名 刘宝 指导教师 肖晓丽 课程成绩 完成日期 2007年1月18日 课程设计任务书计算机与通信工程学院 计算机科学与技术专业 课程名称计算机组成原理课程设计时间20072008学年第一学期1920周学生姓名刘宝指导老师 肖晓丽题 目编码器和译码器的设计主要内容:本课程设计要求利用硬件描述语言vhdl的设计思想,设计计算机电路中编码器和译码器的各个模块,系统设计要求采用自顶向下的设计方法,系统采用vhdl语言编程实现,并对各模块进行仿真验证和分析。要求:(1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。(3)学生按要求编写课程设计报告书,能正确阐述设计和实验结果。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课程设计报告。(2)课程设计附件(主要是源程序)。课程设计成绩评定学 院 计算机通信工程 专 业 计算机科学与技术 班 级 计05-02 班 学 号 200550080229 学生姓名 刘宝 指导教师 肖晓丽 课程成绩 完成日期 2008年1月18日 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日编码器和译码器的设计 学生姓名:刘宝 指导老师:肖晓丽摘 要 编码器与译码器是计算机电路中基本的器件,本课程设计采用eda技术设计编码和译码器。编码器由八-三优先编码器作为实例代表,而译码器则包含三-八译码器和二-四译码器两个实例模块组成。课程设计采用硬件描述语言vhdl把电路按模块化方式进行设计,然后进行编程、时序仿真和分析等。课程设计结构简单,使用方便,具有一定的应用价值。关键字 计算机电路;eda;编码器;译码器目录1引 言11.1 设计的目的11.2 设计的基本内容12 eda、vhdl简介12.1 eda技术12.1.1 eda技术的概念12.1.2 eda技术的特点22.2 硬件描述语言vhdl22.2.1 vhdl的简介22.2.2 vhdl语言的特点22.2.3 vhdl的设计流程33 设计规划过程43.1编码器的工作原理43.2译码器的工作原理43.3课程设计中各部分的设计43.3.1八-三优先编码器的设计43.3.2三-八译码器的设计53.3.3二-四译码器的设计64 系统仿真74.1八-三优先编码器仿真及分析74.2三-八译码器仿真及分析84.3二-四译码器仿真及分析8结束语10致谢11参考文献12附录13 刘宝 编码器和译码器的设计 第16页 共16页1引 言 随着社会的发展,科学技术也在不断的进步。计算机从先前的采用半导体技术实现的计算器到现在广泛应用的采用高集成度芯片实现的多功能计算器。计算机电路是计算机的重要组成部分,了解计算机电路的知识是促进计算机的发展的先决条件。而编码器和译码器是计算机电路中的基本器件,对它们的了解可以为以后的进一步深化研究打下一个良好的基础。本设计主要介绍的是一个基于超高速硬件描述语言vhdl对计算机电路中编码器和译码器进行编程实现。1.1 设计的目的本次设计的目的就是通过实践掌握计算机组成原理的分析方法和设计方法,了解eda技术并掌握vhdl硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过学习的vhdl语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高ic设计能力,提高分析、解决计算机技术实际问题的独立工作能力。1.2 设计的基本内容根据计算机组成原理中组合逻辑电路设计的原理,利用vhdl设计计算机电路中编码器和译码器的各个模块,并使用eda 工具对各模块进行仿真验证和分析。编码器由八-三优先编码器作为实例代表,而译码器则包含三-八译码器和二-四译码器两个实例模块组成。2 eda、vhdl简介2.1 eda技术2.1.1 eda技术的概念eda是电子设计自动化(e1echonicsdes5pamtom60n)的缩写。由于它是一门刚刚发展起来的新技术,涉及面广,内容丰富,理解各异。从eda技术的几个主要方面的内容来看,可以理解为:eda技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计电子系统到硬件系统的一门新技术。2.1.2 eda技术的特点采用可编程器件,通过设计芯片来实现系统功能。采用硬件描述语言作为设计输入和库(libraly)的引入,由设计者定义器件的内部逻辑和管脚,将原来由电路板设计完成的大部分工作故在芯片的设计中进行。由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,有效增强了设计的灵活性,提高了工作效率。并且可减少芯片的数量,缩小系统体积,降低能源消耗,提高了系统的性能和可靠性。能全方位地利用计算机自动设计、仿真和调试。2.2 硬件描述语言vhdl2.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软件都兼容了这种标准。vhdl的英文全写是:vhsic(very high eed integrated circuit)hardware descriptiong language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。2.2.2 vhdl语言的特点vhdl是一种用普通文本形式设计数字系统的硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口,可以在任何文字处理软件环境中编辑。除了含有许多具有硬件特征的语句外,其形式、描述风格及语法十分类似于计算机高级语言。vhdl程序将一项工程设计项目(或称设计实体)分成描述外部端口信号的可视部分和描述端口信号之间逻辑关系的内部不可视部分,这种将设计项目分成内、外两个部分的概念是硬件描述语言(hdl)的基本特征。当一个设计项目定义了外部界面(端口),在其内部设计完成后,其他的设计就可以利用外部端口直接调用这个项目。vhdl的主要特点如下:1. 作为hdl的第一个国际标准,vhdl具有很强的可移植性。2. 具有丰富的模拟仿真语句和库函数,随时可对设计进行仿真模拟,因而能将设计中的错误消除在电路系统装配之前,在设计早期就能检查设计系统功能的可行性,有很强的预测能力。3. vhdl有良好的可读性,接近高级语言,容易理解。4. 系统设计与硬件结构无关,方便了工艺的转换,也不会因工艺变化而使描述过时。5. 支持模块化设计,可将大规模设计项目分解成若干个小项目,还可以把已有的设计项目作为一个模块调用。6. 对于用vhdl完成的一个确定设计,可以利用eda工具进行逻辑综合和优化,并能自动地把vhdl描述转变成门电路级网表文件。7. 设计灵活,修改方便,同时也便于设计结果的交流、保存和重用,产品开发速度快,成本低。2.2.3 vhdl的设计流程它主要包括以下几个步骤:1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的hdl编辑环境。通常vhdl文件保存为.vhd文件,verilog文件保存为.v文件。2.使用编译工具编译源文件。3.功能仿真:将文件调入hdl仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)4.逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf或.edif 的eda工业标准文件。5.布局布线:将.edf文件调入pld厂家提供的软件中进行布线,即把设计好的逻辑安放pld/fpga内。6.时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫后仿真) 通常以上过程可以都在pld/fpga厂家提供的开发工具。7.烧写器件3 设计规划过程3.1编码器的工作原理八-三优先编码器输入信号为i0,i1,i2,i3,i4,i5,i6和i7,输出信号为a2、a1、a0。输入信号中i0的优先级别最低,依次类推,i7的优先级别最高。也就是说若i7输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若i7输入为0(即为低电平)则看优先级仅次于i7的i6状态决定,依次类推。因为i0到i7共8中状态,可以用3位二进制编码来表示。例如:i7为1对应输出的二进制编码111。3.2译码器的工作原理二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应的高、低电平信号。对于三-八译码器来说,3位二进制共有8种状态,所以对应的输出有8种状态。例如:对于二进制代码111来说,输出为10000000。对于二-四译码器来说,2位二进制共有4种状态,所以对应的输出有4种状态。例如:对于二进制代码11来说,输出为1000。3.3课程设计中各部分的设计课程设计各个部分由vhdl实现后,利用eda工具对各部分进行了时序仿真(timing simulation),其目的是通过时序可以更清楚的了解程序的工作过程。3.3.1八-三优先编码器的设计整个八-三优先编码器的工作框图如图3.1所示。i7.0 a2.0 gspriority1 图3.1 八-三优先编码器的工作框图八-三优先编码器由vhdl程序来实现,下面是其中一段vhdl关键代码: process(i) begin gs=1; a=100; if i(7)=1then a=111; elsif i(6)=1then a=110; elsif i(5)=1then a=101; elsif i(4)=1then a=100; elsif i(3)=1then a=011; elsif i(2)=1then a=010; elsif i(1)=1then a=001; elsif i(0)=1then a=000; else gsdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutooooo=xxxx; end case;end process;4 系统仿真4.1八-三优先编码器仿真及分析八-三优先编码器由vhdl程序实现后,其仿真图如图4.1所示。图4.1 八-三优先编码器功能时序仿真图对其仿真图进行仿真分析:gs为编码输出标志,i为输入信号组,它由i7-i0八个输入信号组成。a为输出信号组, 它由a2-a0三个二进制代码输出信号组成。gs为1时候表示输出。当i7为1时,即输入为:1*时,输出111,当i7为0时,输出由优先级仅次于i7的i6决定,即输入为:01*时,输出110,紧接着依次类推,分别得出输入为:001*时,输出101,输入为:0001*时,输出100,输入为00001*时,输出为011,输入为000001*时,输出010,输入为0000001*时,输出001,输入为00000001时,输出为000。八-三优先编码器的引脚分配如表4.1表4.1八-三优先编码器器下载板芯片引脚对照表gsi0i1i2i3i4i5i6i7epf8282p72p01p02p03p04p06p07p08p09epf10k10p73p03p05p06p07p08p09p10p11a0a1a2epf8282p55p56p57epf10k10p53p54p584.2三-八译码器仿真及分析三-八译码器由vhdl程序实现后,其仿真图如图4.2所示: 图4.2三-八译码器功能时序仿真图对其仿真图进行仿真分析:cs译码输出标志,datain为输入信号组,它由datain2-datain0三个二进制代码输入信号组成。dataout为输出信号组, 它由dataout7-dataout0八个输出信号组成。cs为1时候表示输出。当输入为:111时,译码后为指定的状态,即输出10000000,紧接着依次类推,当输入为:110时,输出输出01000000,当输入为101时,输出00100000,当输入为100时,输出00010000,输入011时,输出为00001000,输入为010时,输出00000100,输入为001时,输出00000010,输入为000时,输出为00000001。4.3二-四译码器仿真及分析二-四译码器由vhdl程序实现后,其仿真图如图4.3所示:图4.3二-四译码器功能时序仿真图对其仿真图进行仿真分析: i为输入信号组,它由i1-i0两个二进制代码输入信号组成。o为输出信号组, 它由o3-o0四个输出信号组成。当输入为:11时,译码后为指定的状态,即输出1000,紧接着依次类推,当输入为:10时,输出输出0100,当输入为01时,输出0010,当输入为00时,输出0001。二-四译码器的引脚分配如表4.2所示:表4.2二-四译码器下载板芯片引脚对照表i0i1o0o1o2o3epf8282p01p02p55p56p57p58epf10k10p03p05p53p54p58p59结束语通过两星期的紧张工作,最后完成了我的设计任务基于vhdl编码器和译码器的设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用vhdl的过程中让我真正领会到了其在电路设计上的优越性。用vhdl硬件描述语言的形式来进行数字系统的设计方便灵活,利用eda软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。致谢本设计是在肖晓丽老师的精心指导和严格要求下完成的,从课题选择到具体设计和调试,都得到肖老师的悉心指导,无不凝聚着肖老师的心血和汗水,她多次为我指点迷津,帮助我开拓设计思路,精心点拨、热忱鼓励。她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。通过这次课程设计我从肖老师那学到不少有用的知识,也积累了一定的电路设计的经验。最后非常感谢肖晓丽老师对我的指导与大力的帮助。参考文献1 杨刚,龙海燕.现代电子技术-vhdl与数据系统设计.北京:电子工业出版社,20042黄仁欣.eda技术实用教程.北京:清华大学出版社,20063潘松.vhdl实用教程m.成都:电子科技大学出版社,2000 附录1.八-三优先编码器的vhdl程序代码:-程序名:priority.vhdlibrary ieee;use ieee.std_logic_1164.all;entity priority is port(i:in bit_vector(7 downto 0); a:out bit_vector(2 downto 0); gs:out bit);-编码输出标志end priority;architecture a of priority isb

温馨提示

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

评论

0/150

提交评论