资源描述:
《基于eda技术的教学型cpu的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中国科技论文实验技术与管理Vol.22No.92005统计源期刊41基于EDA技术的教学型CPU的设计与实现方恺晴,徐成,刘峰(湖南大学计算机与通信学院实验中心,长沙410082)摘要:本文介绍了将EDA技术应用于计算机组成原理的实验教学:教学型CPU的设计与实现。关键词:EDA;FPGA;可编程逻辑器件;实验教学;教学型CPU中图分类号:G434文献标识码:B文章编号:100224956(2005)09200412031概述现代EDA(ElectronicDesignAutomation,电子设计自动化)技术使传统的硬件设计发生了
2、根本变化,EDA的技术基础,一是EDA软件设计工具,二是可编程逻辑器件。前者使传统的硬件设计与调试问题变为了一个由各种EDA软件实现的“软件”问题。FP2GA(FieldProgrammableGatesArray,现场可编程门阵列)属后者,它是由掩膜可编程门阵列和可编程逻辑器件二者演变而来,既有门阵列的高逻辑度和通用度,又有可编程逻辑器件的可编程性。二者结合采用硬件描述语言(VHDL,VerilogHDL等)或电气原理图等方法来描述硬件的行为、功能,通过综合形成FPGA内部阵列间的连接关系,再对芯片现场编程形成专用集成电路(ASI
3、C)。EDA软件提高了设计与调试的工作效率,节约了硬件调试成本,缩短了设计周期。FPGA设计灵活,并可重复编程使用,适合于教学用。EDA技术应用于计算机硬件类实验教学是当前国内各大专院校硬件类课程实验教学改革的一个重要内容。我院教师经两年的实践摸索,成功研发出一套简捷适用的FP2GA教学实验台,并开发出较为完善的数字逻辑实验、计算机组成原理实验,编写出配套教材,并已成功地应用于2000、2001、2002级实验教学,学生反映效果非常好。2FPGA教学实验台FPGA教学实验台的整体布局如图1所示。该平台以MAXPLUSII为软件开发环
4、境,以ALTERA公司的FLEX10K系列的FPGA为基本配置。平台上为用户提供了2万个(FLEX10K20)可用逻辑门,12288BIT的RAM/ROM,24个电平指示灯,8个七段数码管,16个带状态显示的电平开关/电平指示,10个脉冲按键开关,4个频率从0.5—16MHZ的可选时钟信号,另外还有32个可扩充的I/O资源。JTGA标准的下载装置。收稿日期:2004212215作者简介:方恺晴(1969—),女,湖南长沙人,本科,工程师142实验技术与管理图1EPGA教学实验台该实验仪设计简捷明了,每个资源旁都标注了与FLEX10K
5、20相对应的管脚号,使用户很快就能掌握它的使用方法。我院用此实验仪和MAXPLUSII软件,成功地在本院计算机专业、通信专业5届本科学生,共计60余个学生班中成功地开设了“数字逻辑实验”、“数字电路与数字系统”课程设计“、计算机组成原理实验”“、ASIC集成电路设计”课程设计,完成了部分本科生和研究生的毕业设计和研究工作,还在大学生课外开放性实验和科技作品制作等环节中得到成功应用。利用仿真平台完成硬件实验和设计,是当今数字电路系统设计的发展方向,其应用前景不可估量。3基于EDA和FPGA的教学型CPU的设计与实现基于EDA和FPGA
6、下的CPU设计灵活性很大,可根据需要设计不同结构的CPU。为教学需要教师自己先设计出一个教学用的8位模型机,然后将这模型机分解设计出一套适合计算机组成原理实验教学的实验。这些实验相互关联形成一个系统,让学生逐步了解CPU各个功能部件如何工作以及相互之间如何配合完成指令的执行。这对学生巩固计算机组成原理课程的理论、促进感性认识、培养计算机应用能力和创新能力等方面起了积极的作用。该CPU中shutong模块是由总线,运算器,存储器模块组成,这3个模块是3个独立的实验;kongzhi模块为微程序控制器;jiepai模块为时序电路的组成控制
7、器;xianshi6模块为运行结果的数码管显示电路。下面就这个教学型的CPU分解出的7个实验做简单介绍。(1)总线传输实验这是实验的基础,此实验通过数据如何存入寄存器,以及寄存器中数据通过总线相互转换来让学生掌握总线传输信息的原理。(2)8位运算器的组成及复合运算实验此实验设计了一系列的运算,输入输出的数据利用了数码管和电平指示灯,通过这些运算,学生能够直观的了解数据在运算器这个模块的通路上是如何送数、存数、取数、运算,最终输出结果的。(3)存储器实验此实验教学生如何产生地址,如何将数据存入相应地址,最后将地址中的数据读出来,从而理
8、解存储器的工作原理及工作过程。(4)数据通路实验此实验是将运算器和存储器连起来形成一个数据通路,在这个通路上,数据通过运算器算出结果,并存入存储器的相应单元,以及存储器单元的数相运算存入指定地址单元,并读出结果。通过这个实验学生能够进