基于EDA的计算机组成原理与结构课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于EDA的计算机组成原理与结构课程设计
杨维钧;黄忠保
【摘要】计算机组成原理与结构是计算机科学与技术、软件工程等相关专业的核心基础课程,而计算机组成原理与结构课程设计是计算机组成原理与结构的一门后续课程。

阐述了开设这门课程的重要性和必要性。

并从EDA角度对这门课程的教学方法进行了改进,目的是使本课程跟上时代的步伐,能提高学生专业硬件设计的技能,为以后各门专业课程打下坚实基础。

%Computer Organization and Architecture is one of the fundamental core curriculums in Computer science and tech- nology, software engineering etc. Curriculum Design of Computer Organization and Architecture is the follow - up curriculum of computer organization and Architecture. First, this paper described the importance and necessity of this course, and then gave the improved teaching methods from EDA perspective. The purpose of this paper is making the curriculum keep pace with the time, improving students'hardware design skills and laying a solid foundation for subsequent major curriculum.
【期刊名称】《湖北师范学院学报(自然科学版)》
【年(卷),期】2012(032)002
【总页数】4页(P68-71)
【关键词】课程设计;EDA;VHDL;FPGA
【作者】杨维钧;黄忠保
【作者单位】湖北师范学院计算机科学与技术学院,湖北黄石435002;湖北师范学
院计算机科学与技术学院,湖北黄石435002
【正文语种】中文
【中图分类】TP39
0 前言
计算机组成原理与结构是计算机科学与技术、软件工程等相关专业的核心基础课程,也是硕士研究生入学专业基础课程的全国统一考试科目。

这门课程是学生必须掌握的基础知识,学习的好坏关系到以后其他课程掌握的程度。

计算机组成原理课程设计是计算机组成原理与结构一门后续课程,开设这门课程的目的是巩固和补充计算机组成原理课堂教学所学习知识,检验学生掌握程度,增加学生对整机概念的理解,掌握各个功能部件工作原理和结构,了解计算机内部的运行机制,通过本课程的学习,培养学生综合运用计算机组成原理知识,分析和解决工程技术问题能力。

训练学生提高查阅资料,运用计算机辅助设计工具绘制原理图、阅读理解原理图及进行功能模拟和设计的能力,培养学生正确的设计思想,增强学生的实际动手能力,提
高专业素质水平。

我们学院对计算机组成原理与结构课程设计这门课程开设得比较早,主要以传统的设计方法来完成,通过这门课程的开设,积累了一定的教学经验和方法。

学生通过计算机组成原理与结构课程学习后,融会贯通该课程的知识,进行自主设计选题。

通过在面包板布线来完成设计制作。

并在调试通过后提交设计报告。

这种设计方法主要存在的问题是:
1)设计时间周期长、从设计、准备器件、布线、调试到完成需要较长时间。

2)通常遇到的问题是比较复杂的基本部件,如(CPU、微程序设计、模型机、16位
以上的加法器、内存、计算机接口等)就显得非常复杂,设计制作工作量大。

在布
线过程中,由于线路复杂,很容易出现错误。

3)加上面包板上的节点多,各种故障增多,调试难度增大,还有元器件和器材的限制。

所以学生在设计选题和制作时感觉非常困难。

随着我国经济建设发展和科学技术的不断进步,传统的“固定功能模块+连线”的设计方法正在逐步退出历史舞台,可编程逻辑器件和EDA设计技术的结合大大的
改变了传统的系统设计方法,正在为广大硬件设计人员所接受,它必将取代人工设计方法成为主要的设计手段,也从教学体系上提供一个与理论结合的更加广阔的实验平台。

鉴于以上所述的一些问题,我们需要改变传统的设计方法,将EDA、VHDL、FPGA等比较流行的设计方法应用到计算机组成与结构课程设计中来,改变原来计算机组成与结构课程设计的教学模式。

学生通过实验完成一个计算机部件的设计,必然印象深刻,从而调动学生学习计算机硬件设计的兴趣、增强动手设计能力,在硬件设计方面有一定的技术特长,对今后就业提供一个方向。

1 EDA设计工具简单介绍
1.1 EDA电子设计自动化(Electronic design automation)
EDA设计技术作为现代电子设计技术的核心,它以计算机硬件和系统软件为操作
平台,用硬件描述语言为系统逻辑手段设计文件,自动完成逻辑编译、逻辑化简、逻辑综合、布局布线和仿真测试,完成系统设计。

Quartus II是Altera提供的FPGA/CPLD开发集成环境,是EDA下的电子设计的非常好的工具,功能强大并
且完全支持VHDL。

1.2 VHDL(Hardware Decription Language)
硬件描述语言是EDA的重要组成部分,它是我们深入了解计算机组成原理设计和
大规模数字系统的设计、建模最重要的工具和基本方法。

具有很强的电路描述能力,能从多个层次对数字系统进行建模和描述,从而大大的简化了硬件设计任务,提高
了设计效率和可靠性。

同时VHDL支持各种模式的设计方法,自顶向下与自底向
上或混合方法。

1.3 FPGA(Field Programmable Gate Array)
现场可编程逻辑器件,我们知道,任何组合电路都可以用与门-或门二级电路来实现,任何时序电路都可以组合电路加上存储元件(锁存器、触发器、RAM)等来构成,于是,人们提出乘积项逻辑可编程结构。

那就是SRAM 查找表的逻辑形成方法。

它的逻辑函数采用RAM“数据”查找方式。

并使用每个查找表构成了一个查找表阵列,称为可编程门阵列。

2 利用EDA工具Quartus II完成计算机组成与结构课程设计
Quartus II软件功能比较强大,主要包括编译器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等。

我们可以通过选择Start Compiation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。

下面是利用Quartus II计算机组成与结构课程设计的简单流程。

设计流程如下:
1)设计题目。

根据以前所学的计算机组成原理知识为基础,构思设计计算机组成的各个功能部件,即硬件设计项目。

2)创建工程项目(选择目标器件等设置)。

3)设计输入原理图或者VHDL文本编辑(两种都可以)。

4)分析与综合,主要完成对输入的文件进行编译、综合、分析、产生网表文件和激励波形文件。

5)时序与功能仿真(全程编译,通过后对其功能和时序进行仿真,以了解设计结果
是否满足设计要求)。

6)适配将图表文件配置指定的目标器件中,如给目标器件指定引脚分配。

7)器件编程下载,是将配置文件下载到目标器件FPGA中,使成为符合要求的芯
片。

下面将以设计一个带清除、时钟RS触发器实例来说明设计过程。

首先我们用VHDL描述设计一个带清除、时钟RS触发器VHDL代码,在QuartusII软件中选择Tools→Compiler tool→Analysis & Synthesis进行编译,
编译通过后,再使用命令File→Create/Update→Create Symbol for Current File,为RS触发器创建一个符号,可作为以后的设计子元件调用。

再进行设计项目仿真验证,仿真分为时序仿真(使用包含时序信息的编译网表)和功能仿真(仅测试
项目的逻辑功能)。

带清除、时钟RS触发器的功能仿真波行如图1所示。

例如我
们还可以将以上设计的RS触发器当作子元件调用来设计计数器和寄存器,既在原理图编辑器中实现层次化设计等等。

如图2是8位并行输出串行移位寄存器电路,特点是有门控串行输入端及异步清除端。

A和B可完全控制到来的数据,当两个
输入端的任何一个或两个是低电平时,则禁止新数据输入,并在下个时钟到来时将第一级复位到低电平。

高电平允许输入并且决定一级的状态。

画出原理图,编译通过后,然后进行仿真得到我们想要的波行。

Quartus II设计流程的最后一个环节是对目标器件编程,实现所需要的集成电路芯片。

通过以上实例,和传统的设计方法相比较起来,具有以下优点:
1)设计制作时间缩短,效率提高了许多,设计结果正确与否可以通过仿真来验证。

2)特别在CPU、微程序设计、模型机、16位以上的加法器、内存、计算机接口等功能部件设计就不会感到很困难,提高了可靠性。

从另一方面来讲学生的注意力可以集中于对计算机及部件的深刻理解和精确描述、深刻理解各功能部件的相互联系,完成在手工设计难以完成的复杂电路设计。

3)完全不受元器件和器材限制,不需要按每个不同实验设备所规定方法来完成课程设计项目。

RS触发器VHDL代码
IBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY rsdff0 IS
PORT
(R : IN STD_LOGIC;
S : IN STD_LOGIC;
CLK : IN STD_LOGIC;
reset : IN STD_LOGIC;
Q : OUT STD_LOGIC;
Qb : OUT STD_LOGIC);
END rsdff0;
ARCHITECTURE rsdff0_architecture OF rsdff0 IS signal q_tmp,qb_tmp : std_logic;
BEGIN
process (clk,reset)
begin
if(reset=′0′)then
q_tmp <=′0′;
qb_tmp <=′1′;
elsif(clk'event and clk=′1′)then
if(s=′0′and r=′0′)then
q_tmp<=q_tmp;
qb_tmp<=qb_tmp;
elsif(s=′1′and r=′0′)then
q_tmp <=′1′;
qb_tmp <=′0′;
e lsif(s=′0′and r=′1′)then
q_tmp <=′0′;
qb_tmp <=′1′;
end if;
end if,
q <=q_tmp;
qb <=qb_tmp;
end process;
END rsdff0_architecture;
图1 带清除、时钟RS触发器功能仿真波行
图2 8位并行输出串行移位寄存器
3 结束语
现代计算机技术发展非常快,新的技术不断涌现,我们的教学面临越来越大的挑战,计算机组成原理与结构课程设计怎样适应新的形势,淘汰落后的技术。

从教学改革的角度看这种实践是学校教育和产业接轨的一种途径。

从教学来讲,怎样做到有效的发挥学生自主创新能力、动手能力、科学素质的培养,是我们必须努力的方向。

参考文献:
[1]潘松,潘明.现代计算机组成原理[M]. 北京:科学出版社, 2007.
[2]薛宏熙,胡秀珠.计算机组成与设计[M]. 北京:清华出版社,2007.。

相关文档
最新文档