计算机组成原理.docx

上传人:b****3 文档编号:27097951 上传时间:2023-06-27 格式:DOCX 页数:12 大小:19.54KB
下载 相关 举报
计算机组成原理.docx_第1页
第1页 / 共12页
计算机组成原理.docx_第2页
第2页 / 共12页
计算机组成原理.docx_第3页
第3页 / 共12页
计算机组成原理.docx_第4页
第4页 / 共12页
计算机组成原理.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

计算机组成原理.docx

《计算机组成原理.docx》由会员分享,可在线阅读,更多相关《计算机组成原理.docx(12页珍藏版)》请在冰豆网上搜索。

计算机组成原理.docx

计算机组成原理

并行加法器设计实验

 

实验目的:

1.掌握并行加法器的原理及其设计方法。

2.熟悉CPLD应用设计及EDA软件的使用。

 

实验原理:

本节实验使用大规模可编程逻辑器件CPLD来设计实现一个4位的并行进位加法器。

传统的数字系统设计只能是通过设计电路板来实现系统功能,而采用可编程逻辑器件,则可以通过设计芯片来实现系统功能。

从而有效地增强了设计的灵活性,提高了工作效率。

并能够缩小系统体积,降低能耗,提高系统的性能和可靠性。

实验系统中采用的器件是Lattice公司的ispLSI1032芯片,isp是指芯片具有“在系统可编程功能”,这种功能可随时对系统进行逻辑重构和修改,而且只需要一条简单的编程电缆和一台PC计算机就可以完成器件的编程。

ispLSI1032芯片的等效逻辑门为6000门,具有128个宏单元,192个触发器和64个锁存器,其共有84个引脚,其中64个为I/O引脚。

ispLSI1032芯片的结构图如图1所示。

 

图1

 

对该器件的逻辑系统设计是通过使用硬件描述语言或原理图输入来实现的,硬件描述语言有ABEL、VHDL等多种语言,本节实验是使用原理图输入来进行编程的。

下面是一个用原理图输入设计一个四位并行加法器加法器的例子。

该加法器采用并行进位,有两组四位加数A3~A0、B3~B0输入,四位本地和F3~F0输出,一个低位进位C0输入及一个本地进位CY输出。

系统采用ispDesignEXPERT软件来对可编程逻辑器件ispLSI1032进行编程设计实验。

ispDesignEXPERT可采用原理图或硬件描述语言或这两种方法的混合输入共三种方式来进行设计输入,并能对所设计的数字电子系统进行功能仿真和时序仿真。

其编译器是此软件的核心,它能进行逻辑优化,并将逻辑映射到器件中去,自动完成布局与布线并生成编程所需要的熔丝图文件。

该软件支持所有Lattice公司的ispLSI器件。

 

实验步骤:

1.安装EDA软件

打开计算机电源,进入Windows系统,安装上述ispDesignEXPERT软件。

安装完成后,桌面和开始菜单中则建有ispDesignEXPERT软件图标。

 

2.建立新项目

用鼠标双击该软件图标,则出现其操作界面ispDesignEXPERTProjectNavigator。

在界面左上角File菜单中点NewProject...或点击左上角“新建”图标,则出现界面CreateNewProject,在其中Project栏中输入ALU1.syn,在Projecttype栏中选Schematic/ABEL,并点保存,则在SourcesinProject栏中建立了新的项目。

双击第一行Untitled对该项目命名,在名称栏中填入ALU_EX并点OK。

双击第二行选择器件。

根据实验系统中所使用的器件型号,例如对ispLSI1032-70LJ这一器件,在Family栏中选ispLSI1KDevice,在Device栏中选ispLSI1032,在SpeedGrade栏中选70,在Package栏中选84PLCC,点OK,再用Yes确定,则选定器件为ispLSI1032-70LJ84。

 

3.输入编辑原理图

单击界面左下角的按钮New...,则出现界面NewSource:

(Schematic/ABEL),在其中选择Schematic,并点击按钮OK,则出现原理图编辑界面Schematicedit,输入模块名称ALU并点OK,则就可在原理图编辑界面中输入电路原理图了。

输入逻辑图完成后,将其存盘并退出编辑界面。

输入设计加法器原理图如图2。

 

图2

 

4.对源程序进行编译

在左方SourcesinProject栏中选中第二行ispLSI1032-70LJ84,在右方ProcessesforCurrentSource栏中双击第七行JEDECFile,则开始编译。

如果编译正确,则生成可下载的文件JEDECFile,即使出现警告提示,也表明成功生成了可下载文件。

如果提示错误,则需修改程序,然后重新编译。

 

5.连接下载电缆

在打开PC计算机和实验系统的电源之前,将下载电缆的一端与PC计算机的打印机口相连接,另一端与实验系统中的ispLSI1032器件编程接口相连。

 

6.将JEDEC文件下载到ispLSI1032

首先打开实验系统的电源。

在以上界面菜单Tools中点击ispDCD,则进入文件下载界面。

在下载界面中,点击菜单Configuration中的ScanBoard项或SCAN图标,则出现扫描界面,其下方的信息显示已检测到ISP芯片电路。

然后点按钮BROWSE,在其中选择要下载的文件ALU.JED。

并在Command菜单中,点RunOperationinSequentialMode项或RunOperation图标,则进入文件下载过程。

在进行下载时,实验系统下载电路的指示灯闪烁。

下载完成后,界面下方显示下载过程是否正确的有关信息。

 

7.连接实验电路

按图3连接实验电路,其中ispLSI1032的输入输出引脚已在程序中定义。

 

图3

 

8.验证所设计器件的逻辑功能

本实验所设计的是一个4位并行进位加法器,实验中用INPUTDEVICE单元的高4位为B3~B0,低4位为A3~A0,以总线单元的低4位B3~B0发光二极管来显示运算结果。

B7位来显示进位输出。

而低位进位输入由一个开关AR来给出。

使SWITCHUNIT单元中的开关SW-B=0(打开数据输出三态门),拨动INPUTDEVICE单元的输入开关置A和B的值,然后从总线单元的显示灯来观察运算结果。

 

9.以上所设计的并行加法器在应用ispDesignEXPERT软件时是以原理图输入形式来编程的,目的是为了让学生能更好的理解并行进位加法器的实现原理。

为了学生学习以硬件描述语言来进行编程,描写器件功能,下面用ABEL语言编程来实现上述加法器,步骤如下:

①建立新工程

打开ispDesignEXPERT软件,建立一个新的目录来创建一个新的工程文件。

在界面左上角File菜单中点NewProject...或点击左上角“新建”图标,则出现界面CreateNewProject,在其中Project栏中输入ALU2.syn,在Projecttype栏中选Schematic/ABEL,并点保存,则在SourcesinProject栏中建立了新的项目。

器件型号还是选ispLSI1032-70LJ84。

②编辑源程序

单击界面左下角的按钮New...,则出现界面NewSource:

(Schematic/ABEL),在其中选择ABEL-HDLModule,点击按钮OK,则出newABLE-HDLsource窗口,输入模块名称和文件名并点OK,就可在出现的源程序编辑界面中输入源程序了。

输入完成后,将其存盘并退出编辑界面。

上述并行加法器设计用ABEL语言来描述程序如下:

 

 

③对源程序进行编译

④将生成的JED文件下载至1032芯片中。

⑤实验连线及实验操作步骤同上。

阵列乘法器设计实验

 

实验目的:

1.掌握乘法器的原理及其设计方法。

2.熟练应用CPLD设计及EDA操作软件。

 

实验原理:

本实验用CPLD来设计一个4×4位乘法器,相对于画电路图输入,用ABEL语言描述是比较方便的。

其算式如下(其中括号中的数字表示在ABEL源程序描述中的功能块调用编号):

 

 

实验步骤:

1.根据上述乘法的逻辑原理用ABEL语言编写功能描述程序。

其在1032芯片中对应的管脚如图1:

 

图1

 

2.编辑、编译和下载

使用ispDesignEXPERT软件编辑源程序并进行编译,然后打开实验系统电源,将生成的JEDEC文件下载到ispLSI1032中去。

3.连接实验电路

按图2连接实验电路。

 

图2

 

4.给定操作数,观察乘法器输出

将SWITCHUNIT单元中的SW-B、AR开关置为低电平状态。

在INPUTDEVICE单元中的8个开关的高4位为乘数A,低四位为被乘数B,而相乘的结果将在OUTPUTDEVICE单元中的数码管中以十六进制形式显示。

给A和B置不同的数,观察相乘的结果。

 

算术逻辑运算实验

 

实验目的:

1.了解运算器的组成结构。

2.掌握运算器的工作原理。

3.学习运算器的设计方法。

4.掌握简单运算器的数据传送通路。

5.验证运算功能发生器74LS181的组合功能。

 

实验原理:

实验中所用的运算器数据通路图如图1。

图1

 

图中所示的是由两片74LS181芯片以并/串形式构成的8位字长的运算器。

右方为低4位运算芯片,左方为高4位运算芯片。

低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,使低4位运算产生的进位送进高4位运算中。

低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出引至外部。

两个芯片的控制端S0~S3和M各自相连,其控制电平按表1。

 

表1

 

为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273实现)来锁存数据。

要将内总线上的数据锁存到DR1或DR2中,则锁存器74LS273的控制端LDDR1或LDDR2须为高电平。

当T4脉冲来到的时候,总线上的数据就被锁存进DR1或DR2中了。

为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245实现)。

若要将运算结果输出到总线上,则要将三态门74LS245的控制端ALU-B置低电平。

否则输出高阻态。

数据输入单元(实验板上印有INPUTDEVICE)用以给出参与运算的数据。

其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。

总线数据显示灯(在BUSUNIT单元中)已与内总线相连,用来显示内总线上的数据。

控制信号中除T4为脉冲信号,其它均为电平信号。

由于实验电路中的时序信号均已连至“W/RUNIT”单元中的相应时序信号引出端,因此,需要将“W/RUNIT”单元中的T4接至“STATEUNIT”单元中的微动开关KK2的输出端。

在进行实验时,按动微动开关,即可获得实验所需的单脉冲。

S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B各电平控制信号则使用“SWITCHUNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDR1、LDDR2为高电平有效。

对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态。

 

实验步骤:

1.按图2连接实验电路并检查无误。

图中将用户需要连接的信号线用小圆圈标明(其它实验相同,不再说明)。

图2

 

2.开电源开关。

3.用输入开关向暂存器DR1置数。

①拨动输入开关形成二进制数01100101(或其它数值)。

(数据显示灯亮为0,灭为1)。

②使SWITCHUNIT单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭ALU输出三态门)、LDDR1=1、LDDR2=0。

③按动微动开关KK2,则将二进制数01100101置入DR1中。

4.用输入开关向暂存器DR2置数。

①拨动输入开关形成二进制数10100111(或其它数值)。

LDDR2,使LDDR1=0、LDDR2=1。

③按动微动开关KK2,则将二进制数10100111置入DR2中。

5.检验DR1和DR2中存的数是否正确。

①关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器。

②置S3、S2、S1、S0、M为11111,总线显示灯则显示DR1中的数。

③置S3、S2、S1、S0、M为10101,总线显示灯则显示DR2中的数。

6.改变运算器的功能设置,观察运算器的输出。

①SW-B=1、ALU-B=0保持不变。

②按表2-2置S3、S2、S1、S0、M、Cn的数值,并观察总线显示灯显示的结果。

例如:

置S3、S2、S1、S0、M、Cn为100101,运算器作加法运算。

置S3、S2、S1、S0、M、Cn为011000,运算器作减法运算。

7.验证74LS181的算术运算和逻辑运算功能(采用正逻辑)

在给定DR1=65、DR2=A7的情况下,改变运算器的功能设置,观察运算器的输出,填入下表中,并和理论分析进行比较、验证。

 

 

 

进位控制实验

 

实验目的:

1.了解带进位控制的运算器的组成结构。

2.验证带进位控制的运算器的功能。

 

实验原理:

图1所示为进位锁存及其显示电路。

运算器最高位进位输出Cn+4连接到一个锁存器(用74LS74实现)的输入端D,锁存器控制端的控制信号AR必须置为低电平,当T4脉冲来到时,进位结果就被锁存到进位锁存器中了,发光二极管这时显示为“灭”。

同时也将本次的进位输出结果带进了下次的运算中,作为下次运算的进位输入。

图1

 

实验步骤:

1.按图2连接实验电路并检查无误。

 

图2

 

2.打开电源开关。

3.用输入开关向暂存器DR1和DR2置数,方法同前。

4.关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器打入控制门。

5.对进位标志清零。

实验板上“SWITCHUNIT”单元中的CLR开关为标志CY、ZI的清零开关,它为零状态时是清零状态,所以将此开关做1->0->1操作,即可使标志位清零。

 

注意:

进位标志指示灯CY亮时表示进位标志为“0”,无进位;标志指示灯CY灭时表示进位为“1”,有进位。

 

6.验证带进位运算及进位锁存功能。

使Cn=1,AR=0,进行带进位算术运算。

例如做加法运算,使ALU-B=0,S3S2S1S0M状态为10010,此时数据总线上显示的数据为DR1加DR2加当前进位标志的和,但这时的进位状态位还没有打入进位锁存器中,它是要靠T4节拍来打入的。

这个结果是否有进位产生,则要按动微动开关KK2,若进位标灯亮,则无进位,反之则有进位。

因做加法运算时数据总线一直显示的数据为DR1+DR2+CY,所以当有进位输入到进位锁存器后,总线显示的数据将为加上当前进位锁存器中锁存的进位位的结果。

移位运算实验

 

实验目的:

1.了解移位发生器74LS299的功能。

2.验证移位控制电路的组合功能。

 

实验原理:

图1所示为移位器及其控制电路。

其中使用了一片74LS299作为移位发生器,其八位输入/输出端可连接至内总线。

74LS299移位器的片选控制信号为299-B,低电平有效。

T4为其控制脉冲信号,由“W/RUNIT”单元中的T4接至“STATEUNIT”单元中的单脉冲发生器KK2上而产生,。

S0、S1、M作为移位控制信号,此移位控制逻辑功能如表1所示。

图1

表1

 

实验步骤:

1.按图2连接实验电路并检查无误。

2.打开电源开关。

3.向移位寄存器置数。

①拨动输入开关形成二进制数01101011(或其它数值)。

②使SWITCHUNIT单元中的开关SW-B=0,打开数据输入三态门。

③使S0=1、S1=1,并按动微动开关KK2,则将二进制数01101011置入了移位寄存器。

④使SW-B=1,关闭数据输入三态门。

4.移位运算操作。

参照表1中的内容,先将S1、S0置为0、0,检查移位寄存器单元装入的数是否正确,然后通过改变S0、S1、M、299-B的状态,并按动微动开关KK2,观察移位结果。

 

图2

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1