论文部分内容阅读
【摘要】阐述了EDA的常用工具、设计流程,以及计算机组成原理的课程特点,讨论了采用EDA工具进行计算机组成原理部件实验的可行性,并采用Altera公司的MAX+PlusII作为工具进行了运算器部件的设计和仿真,证明了该方案的实施效果。
【关键词】EDA 计算机组成原理 运算器部件
【中图分类号】TP302.4 【文献标识码】A 【文章编号】1009-9646(2008)08(b)-0142-01
“计算机组成原理”是计算机科学与技术及其相关专业的核心必修课程,主要涉及单处理机系统的组成和工作原理[1],教学环节比较多。与同专业其他课程相比,该课程的实验学时非常多,这也是课程本身非常强的实践性特征所决定的。在2005年以前,我们学院以纯硬件连线的方式进行计算机组成原理的部件和整机实验以及课程设计,每个实验需要6~8个学时,过程冗长、操作复杂、容易出错是大家的共同烦恼,后来学院配置了新的实验设备,实验采用软件和硬件相结合的方式,实验过程简化,操作简洁,容易检错和纠错,实验效果得到极大改善。
1 EDA概述
EDA是电子设计自动化的英文缩写,它以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言(HDL)为设计语言,以课编程器件为实验载体,以电子系统设计为应用方向的电子产品自动化设计过程[2]。
软件开发工具是利用EDA技術进行电子产品设计的高度自动化和智能化的工具。目前比较流行的主要有三种工具:Altera公司的MAX+PlusII、Lattice公司的ispEXPERT、Xilinx公司的Foundation Series。
EDA软件工具很多,且各具特色,但是无论选用什么样的EDA工具进行系统设计,都要经过下面几个流程:
(1)设计输入:包括使用原理图输入、硬件描述语言(HDL)输入、状态图输入、波形图输入等几种方式。
原理图输入是与传统的电子设计方法类似的原理图编辑输入方式,可在EDA工具的图形编辑界面上绘制能够完成特定功能的电路原理图。原理图由逻辑器件(包括一些能独立实现一些小功能的芯片)和连接线构成。利用原理图进行输入,设计者不需要理解HDL语言,设计过程形象直观,电路的结构与实际电路十分相似,设计者容易把握电路全局。但是,随着电路规模变大,图形这种方式易读性降低,排错更加困难,产品升级也更困难。因此原理图输入方式适合于初学者。
状态图输入方式就是根据对电路的描述,把电路的控制条件和转换方式在EDA工具的状态图编辑器上绘制出来,然后由EDA工具自动生成电路网表。
波形图输入则是将电路所需要的输入波信号用波形表示并利用EDA工具进行输入,进而得到电路的初始状态。
HDL输入方式是设计大规模电路的最佳形式。用HDL输入设计的产品容易修改,产品易于更新。
(2)设计综合:这是电路设计的核心环节。该环节中,EDA系统工具的编译器对设计输入文件进行逻辑化简、综合、优化和适配,最后得到一个硬件电路的实现方案。
(3)设计仿真:是指用软件包将已经设计好的电路结果模拟出来。模拟时需要按照实际的工作环境设计适当的输入条件,根据输入与仿真的结果,分析所设计电路的功能是否满足要求,在满足功能要求的基本上,根据硬件特性(如延时特性等),进一步分析设计结果是否符合设计精度,若不符合,则需要返回输入文件进行修改。
(4)下载验证:经过编译、综合与仿真之后,若没有发现问题,则可以生成可下载文件,并下载到目标芯片中,然后连接好目标芯片的外围电路,即可直接在硬件上运行程序。如果程序运行结果正确,还可以将这个程序烧制成专用芯片。
在从事“计算机组成原理”的实验教学过程中,我们试图利用EDA工程的思想,采用适当的EDA工具进行计算机系统部件实验,经过多次教学过程验证,收到很好的效果。
2 用MAX+PlusII进行计算机部件设计
2.1 MAX+PlusII简介
MAX+PlusII是以Altera公司产品为主要应用对象的EDA平台,主要支持Altera公司的MAX系统和FLEX系统的可编程逻辑器件,它能够在各种平台上运行,并且允许设计人员选择各种设计输入方法。MAX+PlusII是一个集成化的可编程逻辑器件开发环境,设计者能在这个环境中进行设计工作。由于设计方法灵活,设计者可以有多种选择,这样能使设计者根据自己的技术水平快速完成所需设计。
2.2 计算机组成原理实验特点
在我们学校2005年修订的计算机科学与技术专业本科教学计划中,计算机组成原理有24学时的实验环节,内容主要涉及计算机系统的主要组成部件,如运算器、存储器、控制器、计算机接口等等。如果采用硬连线的方式进行实验,那么每个实验需要6~8学时才能完成。采用EDA软件工具进行仿真实验之后,每个实验只需4个学时就可以完成,在这个过程中,教师可以将大部分时间放在答疑和检查仿真结果上,而不用花大量时间帮助学生检查接线错误。不仅如此,实验内容也可以由原来的3~4个实验增加到5~6个,这样更加有效的补充了课堂教学内容。
在计算机系统中,运算器是关键部件之一,因此在计算机组成原理实验教学中,运算器必定是最重要实验内容之一。下面以运算器的组成为例,讨论采用MAX+PlusII进行设计与仿真的过程。
2.3 用MAX+PlusII进行运算器部件设计及仿真
运算器部件组成框图如图1所示,它主要由ALU(算术逻辑运算单元)、源操作数暂存器(SR)、结果暂存器(DR)及三态门等组成。
用MAX+PlusII设计运算器的时候,首先新建工程文件,输入设计内容,可以采用原理图输入或者硬件描述语言输入。对于初学者来说,采用原理图输入是非常直观的,而且容易理解部件内容的连接关系以及控制方式,基于教学的目的,我们采用原理图输入方式形成了一个4位运算器部件的原理图文件yunsu anqi.gdf,并生成一个独立的器件yunsuanqi便于跟后面的部件实验连接形成完整的4位机数据通路。图2是运算器构成的独立器件的工作原理图,其中yunsuanqi是核心运算器部件,部件左边为输入数据及控制信号,右边为输出数据信号。
当运算器原理图经过编译之后,即可通过波形仿真输出运行结果,通过检查该结果可以判断设计运算器电路是否正确,此次实验所得波形如图3所示。波形仿真实现了输入3和4;计算3+4;计算7-3;计算7+4;计算7-4。观察波形图可知结果正确。
使用波形仿真不仅可以清楚、直观地观察结果,而且可以帮助学生正确理解信号之间的时序关系。这在以往的教学和实验环节中都是难点。
3 结论
利用EDA工具进行计算机组成原理实验教学是一种新的尝试,在此过程中,我们发现这种方式虽然完全脱离了硬件连线,对于学生的布线操作能力可能会造成一定的影响,但是从学科发展的角度来看,以软件方式进行计算机硬件系统的设计是大势所趋,这种方式不仅提高了设计效率,降低了出错率,而且有利于为学生将来从事大型复杂数字系统的设计提供锻炼。
参考文献
[1] 白中英.计算机组成原理(第三版).北京:科学出版社,2000
[2] 曾繁泰,李冰等.EDA工程概论.北京:清华大学出版社,2002.
【关键词】EDA 计算机组成原理 运算器部件
【中图分类号】TP302.4 【文献标识码】A 【文章编号】1009-9646(2008)08(b)-0142-01
“计算机组成原理”是计算机科学与技术及其相关专业的核心必修课程,主要涉及单处理机系统的组成和工作原理[1],教学环节比较多。与同专业其他课程相比,该课程的实验学时非常多,这也是课程本身非常强的实践性特征所决定的。在2005年以前,我们学院以纯硬件连线的方式进行计算机组成原理的部件和整机实验以及课程设计,每个实验需要6~8个学时,过程冗长、操作复杂、容易出错是大家的共同烦恼,后来学院配置了新的实验设备,实验采用软件和硬件相结合的方式,实验过程简化,操作简洁,容易检错和纠错,实验效果得到极大改善。
1 EDA概述
EDA是电子设计自动化的英文缩写,它以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言(HDL)为设计语言,以课编程器件为实验载体,以电子系统设计为应用方向的电子产品自动化设计过程[2]。
软件开发工具是利用EDA技術进行电子产品设计的高度自动化和智能化的工具。目前比较流行的主要有三种工具:Altera公司的MAX+PlusII、Lattice公司的ispEXPERT、Xilinx公司的Foundation Series。
EDA软件工具很多,且各具特色,但是无论选用什么样的EDA工具进行系统设计,都要经过下面几个流程:
(1)设计输入:包括使用原理图输入、硬件描述语言(HDL)输入、状态图输入、波形图输入等几种方式。
原理图输入是与传统的电子设计方法类似的原理图编辑输入方式,可在EDA工具的图形编辑界面上绘制能够完成特定功能的电路原理图。原理图由逻辑器件(包括一些能独立实现一些小功能的芯片)和连接线构成。利用原理图进行输入,设计者不需要理解HDL语言,设计过程形象直观,电路的结构与实际电路十分相似,设计者容易把握电路全局。但是,随着电路规模变大,图形这种方式易读性降低,排错更加困难,产品升级也更困难。因此原理图输入方式适合于初学者。
状态图输入方式就是根据对电路的描述,把电路的控制条件和转换方式在EDA工具的状态图编辑器上绘制出来,然后由EDA工具自动生成电路网表。
波形图输入则是将电路所需要的输入波信号用波形表示并利用EDA工具进行输入,进而得到电路的初始状态。
HDL输入方式是设计大规模电路的最佳形式。用HDL输入设计的产品容易修改,产品易于更新。
(2)设计综合:这是电路设计的核心环节。该环节中,EDA系统工具的编译器对设计输入文件进行逻辑化简、综合、优化和适配,最后得到一个硬件电路的实现方案。
(3)设计仿真:是指用软件包将已经设计好的电路结果模拟出来。模拟时需要按照实际的工作环境设计适当的输入条件,根据输入与仿真的结果,分析所设计电路的功能是否满足要求,在满足功能要求的基本上,根据硬件特性(如延时特性等),进一步分析设计结果是否符合设计精度,若不符合,则需要返回输入文件进行修改。
(4)下载验证:经过编译、综合与仿真之后,若没有发现问题,则可以生成可下载文件,并下载到目标芯片中,然后连接好目标芯片的外围电路,即可直接在硬件上运行程序。如果程序运行结果正确,还可以将这个程序烧制成专用芯片。
在从事“计算机组成原理”的实验教学过程中,我们试图利用EDA工程的思想,采用适当的EDA工具进行计算机系统部件实验,经过多次教学过程验证,收到很好的效果。
2 用MAX+PlusII进行计算机部件设计
2.1 MAX+PlusII简介
MAX+PlusII是以Altera公司产品为主要应用对象的EDA平台,主要支持Altera公司的MAX系统和FLEX系统的可编程逻辑器件,它能够在各种平台上运行,并且允许设计人员选择各种设计输入方法。MAX+PlusII是一个集成化的可编程逻辑器件开发环境,设计者能在这个环境中进行设计工作。由于设计方法灵活,设计者可以有多种选择,这样能使设计者根据自己的技术水平快速完成所需设计。
2.2 计算机组成原理实验特点
在我们学校2005年修订的计算机科学与技术专业本科教学计划中,计算机组成原理有24学时的实验环节,内容主要涉及计算机系统的主要组成部件,如运算器、存储器、控制器、计算机接口等等。如果采用硬连线的方式进行实验,那么每个实验需要6~8学时才能完成。采用EDA软件工具进行仿真实验之后,每个实验只需4个学时就可以完成,在这个过程中,教师可以将大部分时间放在答疑和检查仿真结果上,而不用花大量时间帮助学生检查接线错误。不仅如此,实验内容也可以由原来的3~4个实验增加到5~6个,这样更加有效的补充了课堂教学内容。
在计算机系统中,运算器是关键部件之一,因此在计算机组成原理实验教学中,运算器必定是最重要实验内容之一。下面以运算器的组成为例,讨论采用MAX+PlusII进行设计与仿真的过程。
2.3 用MAX+PlusII进行运算器部件设计及仿真
运算器部件组成框图如图1所示,它主要由ALU(算术逻辑运算单元)、源操作数暂存器(SR)、结果暂存器(DR)及三态门等组成。
用MAX+PlusII设计运算器的时候,首先新建工程文件,输入设计内容,可以采用原理图输入或者硬件描述语言输入。对于初学者来说,采用原理图输入是非常直观的,而且容易理解部件内容的连接关系以及控制方式,基于教学的目的,我们采用原理图输入方式形成了一个4位运算器部件的原理图文件yunsu anqi.gdf,并生成一个独立的器件yunsuanqi便于跟后面的部件实验连接形成完整的4位机数据通路。图2是运算器构成的独立器件的工作原理图,其中yunsuanqi是核心运算器部件,部件左边为输入数据及控制信号,右边为输出数据信号。
当运算器原理图经过编译之后,即可通过波形仿真输出运行结果,通过检查该结果可以判断设计运算器电路是否正确,此次实验所得波形如图3所示。波形仿真实现了输入3和4;计算3+4;计算7-3;计算7+4;计算7-4。观察波形图可知结果正确。
使用波形仿真不仅可以清楚、直观地观察结果,而且可以帮助学生正确理解信号之间的时序关系。这在以往的教学和实验环节中都是难点。
3 结论
利用EDA工具进行计算机组成原理实验教学是一种新的尝试,在此过程中,我们发现这种方式虽然完全脱离了硬件连线,对于学生的布线操作能力可能会造成一定的影响,但是从学科发展的角度来看,以软件方式进行计算机硬件系统的设计是大势所趋,这种方式不仅提高了设计效率,降低了出错率,而且有利于为学生将来从事大型复杂数字系统的设计提供锻炼。
参考文献
[1] 白中英.计算机组成原理(第三版).北京:科学出版社,2000
[2] 曾繁泰,李冰等.EDA工程概论.北京:清华大学出版社,2002.