资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
TEC-5计算机组成原理实验系统
学生实验指导书
3月
目 录
第一章 TEC-5计算机组成和数字逻辑实验系统介绍 2
第二章 ISPEXPERT编程软件入门 13
2.1 ispEXPERT使用概述 13
2.2 建立由ABEL-HDL源文件组成的设计 16
2.3 建立由原理图源文件组成的设计 20
2.4 混合设计及层次导航 28
2.5 编译、 模拟与器件适配 29
2.6 下载 32
第3章 计算机组成原理实验 35
3.1 运算器组成实验 35
3.2 双端口存储器原理实验 38
3.3 数据通路组成实验 40
3.4 常规型微程序控制器组成实验 43
3.5 CPU组成与机器指令执行周期实验 53
3.6 硬连线控制器的设计与调试( 课程设计) 55
第一章 TEC-5计算机组成和数字逻辑实验系统介绍
一、 TEC-5实验系统的特点
1. 采用单板式结构、 计算机模型采用8位, 简单、 实用。计算机模型分为数据通路、 控制器、 时序电路、 控制台、 数字逻辑实验区五部分。各部分之间采用可插、 拔的导线连接。
2.指令系统采用4位操作码, 容纳16条指令, 已实现了加、 减、 逻辑与、 存数、 取数、 条件转移、 IO输出和停机8条指令, 指令功能非常典型。其它8条指令备用。
3.数据通路采用双端口存储器作为主存, 实现了数据总线和指令总线双总线体制, 体现了当代CPU的设计思想。
4.运算器中ALU由2片74181实现。4个通用寄存器由1片ispLSI1016组成, 设计新颖。
5.控制器采用微程序控制器和硬连线控制器两种类型, 体现了当代计算机控制器设计技术的完备性。
6.控制存储器中的微代码能够经过PC机下载, 省去插、 拔EEPROM芯片。
7.实验台上提供了一片在系统编程器件ispLSI1032,学生在PC机设计好组合逻辑控制器方案后下载到ispLSI1032中, ispLSI1032就构成了新的控制器。控制器的设计并实现对提高计算机综合设计能力会有很大帮助。ispLSI1032也可用于数字逻辑和数字系统的设计。
8.控制台包含8个数据开关, 用于置数功能; 16个双位开关, 用于置信号电平; 控制台有复位和启动二个单脉冲发生器, 有单拍、 单步二个开关。控制台有5种操作: 写存储器, 读存储器, 读寄存器, 写寄存器, 启动程序运行。
9.微程序控制器中的微代码输出、 微地址总线、 程序地址总线、 数据总线、 存储器地址总线、 进位、 双端口存储器的读、 写冲突位BUSYL#和BUSYR#等都有指示灯, 便于查看指令的执行过程。
10.数字逻辑和数字系统实验部分除上述可用的一片ISP1032、 16个电平开关和2个单脉冲按钮( 复位和启动) 外, 还有12个指示灯, 11个双列直插插座, 5个8432编码驱动的数码管, 1个直接驱动的数码管, 1个喇叭。时钟信号源有500KHz,50KHz, 5KHz。
11.电源部分具有抗电源对地短路能力。
二、 TEC-5实验系统的组成
TEC-5实验系统由以下几个部分组成:
控制台
数据通路
控制器
时序电路
数字逻辑实验区
电源模块
下面分别对各组成部分予以介绍。
三、 电源
电源部分由一个电源、 一个电源插座、 一个电源开关和一个红色电源指示灯组成。电源经过四个螺钉安装在实验箱底部, 它输出+5V电压, 最大负载电流3A, 具有抗+5V对地短路功能。电源插座用于接交流220V, 插座内装有保险丝。电源开关接通时, 模块电源输出+5V, 红色指示灯点亮。
四、 时序发生器
时序发生器产生计算机模型所需的时序和数字逻辑实验所需的时钟。时序电路由一个500KHz晶振、 2片GAL22V10(U64、 U66)、 一片74LS390(U65)组成。根据本机设计, 执行一条微指令需要4个节拍脉冲T1、 T2、 T3、 T4, 执行一条机器指令需要三个节拍电位W1、 W2、 W3, 因此本机的基本时序如下:
图中, MF是晶振产生的500KHz基本时钟, T1、 T2、 T3、 T4是数据通路和控制器中各寄存器的节拍脉冲信号, 印制板上已将它们和相关的寄存器相连。T1、 T2、 T3、 T4既供微程序控制器使用, 也供硬连线控制器使用。W1、 W2、 W3只供硬连线控制器做节拍电位信号使用。另外, 供数字逻辑实验使用的时钟50KHz和5KHz由MF经一片74LS390分频后产生。
五、 数据通路
TEC-5的数据通路采用了数据总线和指令总线双总线形式。它还使用了大规模在系统编程器件作为寄存器堆, 使得设计简单明了, 可修改性强。
图1.2是数据通路总体图, 下面介绍图中各个主要部件的作用。
1.运算器ALU
运算器ALU由两片74LS181(U55和U60)组成, 其中U60进行低4位运算, U55进行高4位运算。在选择端M和S0-S3控制下, ALU对数据A、 B进行各种算术、 逻辑运算。有关74181运算的具体操作, 请看74181的资料和教科书。当LDRi=1时, 在T3的上升沿寄存器C( U57A) 保存运算产生的进位标志信号。
2.运算操作数寄存器DR1和DR2( U47、 U48)
DR1( U47) 和DR2(U48)是运算操作数寄存器, DR1和ALU的A口相连, DR2和ALU的B口相连。DR1和DR2各由一片74LS273构成。当LDDR1/LDDR2=1时, 在T2上升沿, DR1/DR2接收来自通用寄存器堆A/B端口的数据。
3.双端口通用寄存器堆RF( U30)
双端口通用寄存器堆RF由一片ispLSI1016( U30) 构成, 其中包含4个8位寄存器( R0、 R1、 R2、 R3) , 有三个控制端口: 两个控制读操作, 一个控制写操作, 三个端口能够同时操作。由RD1、 RD0选中的寄存器的数据从A端口读出, 由RS1、 RS0选中的寄存器的数据从B端口读出; WR1、 WR0选择要写入的寄存器。LDRi控制写操作, 当LDRi=1时, 在T3上升沿将数据总线DBUS上的数据写入由WR1、 WR0选中的寄存器。
从RF的A端口读出的数据直接送DR1。由B端口读出的数据直接送DR2之外, 还能够送数据总线DBUS。当RS_BUS#=0时, 允许B端口数据送DBUS。
4.双端口存储器RAM
双端口存储器RAM由一片IDT7132(U44)及少量控制电路构成。IDT7132是2048字节的双端口静态随机存储器, 本实验系统实际使用256字节。IDT7132的两个端口能够同时进行读、 写操作。在本实验系统中, RAM左端口连接数据总线DBUS, 可进行读、 写操作; 右端口连接指令总线IBUS, 输出到指令寄存器IR, 作为只读端口使用。IDT7132有6个控制引脚, CEL#、 LR/W#、 OEL#控制左端口读、 写操作; CER#、 RR/W#、 OER#控制右端口的读写操作。CEL#为左端口选择引脚, 低电平有效; 当CEL#=1时, 禁止对左端口的读、 写操作。LR/W#控制对左端口的读写, 当CEL#=0且LR/W#=1时, 左端口进行读操作; 当CEL#=0且LR/W#=0且T2为高时, 左端口进行写操作。OEL#的作用等同于三态门, 当CEL#=0且OEL#=0时, 允许左端口读出的数据送到数据总线DBUS上; 当OEL#=1时, 禁止左端口的数据放到DBUS。为便于理解, 在以后的实验中, 我们将OEL#引脚称为RAM_BUS#。控制右端口的三个引脚与左端口的三个完全类似, 不过只使用了读操作, 在实验板上已将RR/W#固定接高电平, OER#固定接地。当CER#=0时, 右端口读出的数据( 更确切的说法是指令) 放到指令总线IBUS上, 然后当LDIR=1时在T3的上升沿打入指令寄存器IR。所有数据/指令的写入都使用左端口, 右端口作为指令端口, 不需要进行数据的写入。
左端口读出的数据放在数据总线DBUS上, 由数据总线指示灯DBUS7-DBUS0显示。右端口读出的指令放在指令总线IBUS上, 由指令总线指示灯IBUS7-IBUS0显示。
5.地址寄存器AR和程序计数器PC
存储器左端口的地址寄存器AR(U53、 U59)和右端口的地址寄存器PC(U52、 U45)都使用2片74LS163, 具有地址递增的功能。PC是程序计数器, 提供双端口寄存器右端口地址, U52是低4位, U45是高4位, 具有加载数据和加1功能。AR是地址寄存器, 提供双端口存储器左端口地址, U53是低4位, U59是高4位, 具有加载数据和加1功能。AR中的地址用地址AR指示灯AR7-AR0显示, PC中的地址用程序计数器PC指示灯PC7-PC0显示。
当LDAR#=0时, AR在T2时从DBUS接收来自SW7-SW0的地址; 当AR+1=1时, 在T2的上升沿存储器地址加1。注意: LDAR#和AR+1两个控制信号不能同时有效。在下一个时钟周期, 令CEL#=0, LR/W#=0, 则在T2节拍进行写操作, 将SW7-SW0设置的数据经DBUS写入存储器。
当LDPC#=0时, PC在T2时从DBUS接收来自SW7-SW0的地址, 作为程序的启动地址; 当一条机器指令开始执行时, 取指以后, PC+1=1, 程序计数器给出下一条指令的地址。注意: LDPC#和PC+1两个控制信号不能同时有效。
6.指令寄存器IR
指令寄存器IR是一片74LS273( U46) 。当LDIR=1时, 在T3的上升沿, 它从双端口存储器的右端口接收指令。指令的操作码部分IR7—IR4送往控制器译码, 产生数据通路的控制信号。指令的操作数部分送往寄存器堆RF, 选择参与运算的寄存器。IR1、 IR0与RD1、 RD0连接, 选择目标操作数寄存器; IR3、 IR2与RS1、 RS0连接, 选择源操作数寄存器。IR1、 IR0也与WR1、 WR0连接, 以便将运算结果送往目标操作数寄存器。
表1 机器指令系统
名称
助记符
功能
指令格式
IR7 IR6 IR5 IR4
IR3 IR2
IR1 IR0
加法
ADD Rd, Rs
Rd + Rs→Rd
0 0 0 0
Rs1 Rs0
Rd1 Rd0
减法
SUB Rd, Rs
Rd - Rs→Rd
0 0 0 1
Rs1 Rs0
Rd1 Rd0
逻辑与
AND Rd, Rs
Rd & Rs→Rd
0 0 1 0
Rs1 Rs0
Rd1 Rd0
存数
STA Rd, [Rs]
Rd→[Rs]
0 0 1 1
Rs1 Rs0
Rd1 Rd0
取数
LDA Rd, [Rs]
[Rs]→Rd
0 1 0 0
Rs1 Rs0
Rd1 Rd0
条件转移
JC R3
若C=1 则R3→PC
0 1 0 1
1 1
× ×
停机
STP
暂停执行
0 1 1 0
× ×
× ×
输出
OUT Rs
Rs→DBUS
0 1 1 1
Rs1 Rs0
× ×
本实验系统设计了8条机器指令, 均为单字长( 8位) 指令。指令功能及格式如表1所示。其中的×代表随意值; RS1、 RS0是寄存器堆B端口读出的源选择信号; RD1、 RD0是寄存器堆A端口读出的目标选择信号, WR1、 WR0是写入的寄存器的选择信号。在实验中, 需要将IR3-IR0这些操作数选择信号与RF对应引脚连接好。
六、 控制器
控制器用来产生数据通路操作所需的控制信号。TEC-5提供了一个微程序控制器, 以便能进行计算机组成原理基本实验。在进行课程设计时, 学生可设计自己的控制器。图1.2是控制器框图。
1.控制存储器
控制存储器由4片HN58C65( U35、 U36、 U37、 U38) 构成。HN58C65是E2PROM, 存储容量为8K字节, 本实验系统只使用了64字节。微指令格式采用水平型, 微指令字长32位, 其中顺序控制部分9位: 判别字段3位, 后继微地址6位。操作控制字段23位, 各位进行直接控制。
判别标志位P0和控制台操作开关SWC、 SWB、 SWA一起确定控制台指令微程序的分支, 完成不同的控制台操作; P1与指令操作码( IR的高4位) 一起确定机器指令微程序的分支, 转向各种指令的不同微程序流程。P2与进位标志C一起确定条件转移指令。
操作控制字段23位( 其中1位备用) , 采用直接表示法, 控制数据通路的操作。信号名带#者为低电平有效。
表1.2 控制信号表
S3, S2, S1, S0
选择运算器的运算类型。
M
选择运算器的运算模式: M=0, 算术运算; M=1, 逻辑运算。
Cn#
运算器最低位的 +1信号。为0时, 运算器最低位有进位。
LR/W#
当LR/W#=1且CEL#=0时, 对双端口存储器左端口进行读操作; 当LR/W#=0且CEL#=0时, 在T2节拍对左端口进行写操作。
CEL#
双端口存储器左端口使能信号。为0时允许对左端口读、 写。
CER#
双端口存储器右端口使能信号。为0时将指令送往指令总线IBUS。
RAM_BUS#
存储器数据送数据总线DBUS信号, 为0时将双端口存储器左端口数据送DBUS。
ALU_BUS#
ALU输出三态门使能信号, 为0时将ALU运算结果送DBUS。
RS_BUS#
通用寄存器右端口三态门使能信号, 为0时将RF的B端口数据送DBUS。
SW_BUS#
控制台输出三态门使能信号, 为0时将控制台开关SW7-SW0数据送DBUS。
LDRi
双端口寄存器堆写入信号, 为1时将数据总线上的数据在T3的上升沿写入由WR1、 WR0指定的个寄存器。
LDDR2
对操作数寄存器DR2进行加载的控制信号, 为1时在T2的上升沿将由RS1、 RS0指定的寄存器中的数据打入DR2。
LDDR1
对操作数寄存器DR1进行加载的控制信号, 为1时在T2的上升沿将由RD1、 RD0指定的寄存器中的数据打入DR1。
LDAR#
对地址寄存器AR进行加载的控制信号。为0时在T2的上升沿将数据总线上的数据打入地址寄存器AR。
AR+1
对AR进行加1操作的电位控制信号。为1时在T2的上升沿使AR的值加1。
LDPC#
对程序计数器PC进行加载的控制信号。为0时在T2的上升沿将数据总线上的数据打入程序计数器PC。
PC+1
对PC进行加1操作的电位控制信号。为1时在T2的上升沿使PC的值加1。
LDIR
对指令寄存器进行加载的控制信号。为1时在T3的上升沿将指令总线IBUS上的数据打入指令寄存器IR。
TJ
停机指令, 暂停微程序运行。
2.微地址寄存器μAR( U32)
微地址寄存器μAR是1片74LS174, 对控制存储器提供微程序地址。当CLR#=0时, 将异步清零, 使微程序从000000B开始执行。在每一个T1的上升沿, 新的微指令地址打入微地址寄存器中。微地址由指示灯uA5-uA0显示。
3.微地址转移逻辑( U20、 U21、 U24、 U26)
微地址转移逻辑产生后继微程序地址, 它由两片74LS32和两片74LS08构成。微地址转移逻辑的信号来源是: 控制存储器产生的后继微指令地址μA0-μA5, 判别标志位P0、 P1、 P2, 指令操作码IR4-IR7, 进位标志C, 还有控制台操作码SWC、 SWB、 SWA。
七、 控存EEPROM的改写
TEC-5中的4片EEPROM( CM0-CM3, U35-U38) 是控存, 里面装有TEC-5微程序的微代码。由于它是电可擦除和编程的EEPROM, 因此能够实现不用将CM0-CM3从插座上取出就能实现对其编程的目的。为此我们在TEC-5上用1片单片机芯片89S52(U58)和一些附加电路实现了不用拔出CM0-CM3就能对其编程, 从而改写这些EEPROM中微代码的目的。89S52中包含一个监控程序, 它负责经过串行口和PC机通讯, 向PC机发出提示信息、 接收命令和数据, 并根据接收到的命令( 0, 1, 2, 3) 决定将随后收到的64个数据写入指定的EEPROM。命令0、 1、 2、 3指定写那个器件, 0对应CM0,1对应CM1,2对应CM2,3对应CM3。64个字节的数据将写入指定EEPROM的前64个单元( 地址00H-3FH) 。
1. TEC-5的两种工作方式
TEC-5的计算机组成原理实验部分有两种工作方式, 一种叫正常工作方式, 一种叫编程工作方式。当编程开关( 在U58 89S52的下面) 拨到正常位置时, TEC-5的计算机部分能够正常做实验, CM0-CM3只受控制器的控制, 它里面的微代码正常读出, 供数据通路使用。当编程开关拨到编程位置时, CM0-CM3只受单片机89S52的控制, 用来对4片EEPROM编程。在编程状态下, 不能做计算机组成原理的实验。出厂时编程开关处于正常状态。
注意: 做计算机组成原理实验时编程开关一定要处于正常位置。
2. 编程软件—串口调试助手2.2简介
在PC机上运行的和TEC-5通讯的编程软件是串口调试助手。下面对该软件做一些简单介绍。经过双击出厂时提供的该软件的图标, 即出现该软件的界面。图1.3是该软件的界面。
此软件很简单, 一看就知道怎么用, 在这里简单说一下需要注意的地方。
首先, 串口需要设置。如果你的机器就一个串口, 那就不用管了, 要是有1个以上的串口, 那就看看你此时通讯用的是哪一个了。串口的设置要和PC机上使用的编程下载串口一致。
其次, 波特率等参数要保证和89S52里的下载软件中的一致。即波特率为1200波特, 数据位8位, 无校验位, 停止位1位。这些参数设置不正确将无法通讯。
再次, 窗口下部空白区为PC数据发送窗口, 其上面较大的空白区为PC数据接收窗口。
最后, 需要时刻注意按钮‘关闭串口’的状态。
图1.3 串口调试助手界面
3. CM0-CM3的下载步骤:
① 在TEC-5关闭电源的情况下, 用出厂时提供的RS232串口线将TEC-5实验仪的串口与主机的串口连接起来。TEC-5上的编程开关拨到编程位置, 将串口调试助手程序打开, 设置好参数, 打开电源, 按一下复位键RESET。
② 软件的接收区此时会显示‘WAITING FOR COMMAND ...’, 请在数据发送区写入‘0’, 按‘手动发送’按钮, 将命令‘0’发送给89S52, 表示通知它要写CM0文件了。
③ 数据接收区会出现‘PLEASE CHOOSE A CM FILE’, 请经过按钮‘选择发送文件’选择要写入CM0的二进制文件, 文件必须是”BIN”格式, 长度为64字节。然后点击‘发送文件’按钮将文件发往89S52。89S52接收数据并对CM0编程, 然后它读出CM0的数据和从PC机接收到数据比较, 不论正确与否, 89S52都向PC机发出结果信息, 在串口调试助手软件数据接收窗口显示出来。
④等待文件发送完毕的提示( 注意看软件的最底下的状态行和数据接收区) , 请注意看数据接收区的命令提示, 重复②-③步骤, 分别输入命令‘1’、 ‘2’、 ‘3’, 同时, 应分别选择CM1、 CM2、 CM3文件, 对相应的EEPROM编程。CM1、 CM2、 CM3全部编程完后, 按RESET按钮结束编程。最后将TEC-5上的编程开关拨到正常位置。
注意: 对CM0、 CM1、 CM2、 CM3的编程顺序无规定, 只要在发出器件号后紧跟着发送该器件的编程数据( 文件) 即可。例如, 能够按CM3、 CM2、 CM0、 CM1的顺序编程。编程也能够只对一个或者几个EEPROM编程, 不一定对4个EEPROM全部编程, 只要编程结束后按RESET按钮结束编程, 最后将TEC-5上的编程开关拨到正常位置即可。
八、 控制台
控制台由若干拨动开关和指示灯组成, 用于设置控制台指令、 人工控制数据通路、 设置数据代码信号和显示相关数据组成等。
1.数据开关SW7-SW0
八位数据开关, 经过U49( 74LS244) 接到数据通路部分的数据总线DBUS上, 用于向数据通路中的寄存器和存储器置数。当SW_BUS#=0时, SW7-SW0的数据送往数据总线DBUS。开关拨到上面位置时输出1, 开关拨到下面位置时输出0。SW7对应DBUS最高位, SW0对应DBUS最低位。
2.模拟数据通路控制信号开关K15-K0
拨动开关, 拨到上面位置输出1, 拨到下面位置输出0。实验中用于模拟数据通路部分所需的电平控制信号。例如, 将K1与LDDR1相连, 则K1拨到上面位置时, 表示LDDR1为1。这些开关在数字逻辑与数字系统实验时也作为电平输入开关。
3.数据总线指示灯DBUS
八个发光二极管( 高四位为红, 低四位为绿) , 指示DBUS上数据。灯亮表示1。
4.指令总线指示灯IBUS
八个发光二极管( 高四位为红, 低四位为绿) , 指示IBUS上数据。灯亮表示1。
5.地址指示灯AR
八个发光二极管( 高四位为红, 低四位为绿) , 指示双端口存储器的左端口地址寄存器内容。灯亮表示1。
6.程序计数器指示灯PC
八个发光二极管( 高四位为红, 低四位为绿) , 指示双端口存储器右端口地址。灯亮表示1。
7.32位微命令指示灯CM3-CM0
32个红色发光二极管, 显示从控制存储器读出的微命令的内容。
8.其它指示灯C、 BUSYL#、 BUSYR#
C是进位标志指示灯。BUSYL#、 BUSYR#分别是RAM左右端口忙指示灯。
9.微动开关CLR#、 QD
按一次CLR# 开关, 产生一个负的单脉冲CLR#, 正的单脉冲CLR。CLR#对全机进行复位。CLR#到时序和控制器的连接已经在印制板上实现, 控制存储器和数据通路部分不使用CLR#。按一次QD按钮, 产生一个正的启动脉冲QD和负的单脉冲QD#。QD使机器运行。QD到时序电路的连接已在印制板上实现。
10.单拍、 单步开关DP、 DB
DP( 单拍) 、 DB( 单步) 是两种特殊的非连续工作方式。当DP=1时, 计算机处于单拍工作方式, 按一次QD按钮, 只发送一组时序信号T1-T4, 执行一条微指令。DB方式只对硬连线控制器适用, 当DB=1时, 按一次QD按钮, 发送一组W1-W3, 执行一条机器指令。注意: 这两个开关任何时刻只能有一个置1。当DP=0且DB=0时, TEC-5处于连续工作方式, 按QD按钮, TEC-5连续执行双端口RAM中存储的程序。
11.控制台操作开关SWC、 SWB、 SWA
三个专用开关SWC、 SWB、 SWA定义了TEC-5实验系统的五个控制台指令的功能。控制台操作开关SWC、 SWB、 SWA主要用于CPU组成与机器指令执行实验。开关主要五个控制台指令的定义如下:
表1.3 控制台工作方式
SWC
SWB
SWA
操作
0
0
0
启动程序( PR)
0
0
1
写存储器( WRM)
0
1
0
读存储器( RRM)
0
1
1
写寄存器( WRF)
1
0
0
读寄存器( RRF)
在按复位按钮CLR#后, TEC-5复位, 根据SWC、 SWB、 SWA状态来选择工作方式。在控制台工作方式, 必须使DP=0, DB=0。
启动程序( PR) : 按下复位按钮CLR#后, 微地址寄存器清零。这时, 置SWC=0、 SWB=0、 SWA=0, 用数据开关SW7-SW0设置RAM中的程序首地址, 按QD按钮后, 启动程序执行。
写存储器( WRM) : 按下复位按钮CLR#, 置SWC=0、 SWB=0、 SWA=1。①在SW7-SW0中置好存储器地址, 按QD按钮将此地址打入AR。②在SW7-SW0置好数据, 按QD, 将数据写入AR指定的存储器单元, 这时AR加1。③返回②。依次进行下去, 直到按复位键CLR#为止。这样就实现了对RAM的连续手动写入。这个控制台操作的主要作用是向RAM中写入自己编写的程序和数据。
读存储器( RRM) : 按下复位按钮CLR#, 置SWC=0、 SWB=1、 SWA=0。①在SW7-SW0中置好存储器地址, 按QD按钮将此地址打入AR, RAM此地址单元的内容读至DBUS显示。②按QD按钮, 这时AR加1, RAM新地址单元的内容读至DBUS显示。③返回②。依次进行下去, 直到按复位键CLR#为止。这样就实现了对RAM的连续读出显示。这个控制台操作的主要作用是检查写入RAM的程序和数据是否正确。在程序执行后检查程序执行的结果( 在存储器中的部分) 是否正确。
寄存器写操作( WRF) : 按下复位按钮CLR#, 置SWC=0、 SWB=1、 SWA=1。①首先在SW7—SW0置好存储器地址, 按QD按钮, 则将此地址打入AR寄存器和PC寄存器。②在SW1、 SW0置好寄存器选择信号WR1、 WR0, 按QD按钮, 经过双端口存储器的右端口将WR1、 WR0( 即SW1、 SW0) 送到指令寄存器IR的低2位。③在SW7-SW0中置好要写入寄存器的数据; 按QD按钮, 将数据写入由WR1、 WR0指定的寄存器。④返回②继续执行, 直到按复位按钮CLR#。这个控制台操作主要在程序运行前, 向相关的通用寄存器中置入初始数据。
寄存器读操作( RRF) : 按下复位按钮CLR#, 置SWC=1、 SWB=0、 SWA=0。①首先在SW7—SW0置好存储器地址, 按QD按钮, 则将此地址打入AR寄存器和PC寄存器。②在SW3、 SW2置好寄存器选择信号RS1、 RS0, 按QD按钮, 经过双端口存储器的右端口将RS1、 RS0( 即SW3、 SW2) 送到指令寄存器IR的第3、 2位。RS1、 RS0选中的寄存器的数据读出到DBUS上显示出来。③返回②继续下去, 直到按复位键CLR#为止。这个控制台操作的主要作用是在程序执行前检查写入寄存器堆中的数据是否正确, 在程序执行后检查程序执行的结果( 在寄存器堆中的部分) 是否正确。
九、 硬连线控制器ispLSI1032
ispLSI1032是Lattice公司的1个在系统可编程器件, 包含有6000个门, 适用于设计大规模的数字逻辑与数字系统电路。在计算机模型实验中, 它用作设计并实现硬连线控制器, 代替出厂时提供的微程序控制器。它有1个下载插座, 下载时下载电缆的一端插在下载插座上, 另一端插在PC机并行口上, 下载电缆将PC机和ispLSI1032连在一起。在PC机上运行ispEXPERT工具软件, 输入控制器的设计方案, 进行编译、 连接和适配, 然后下载到ispLSI1032中去, 就构成了1个硬连线控制器。硬连线控制器和数据通路部分采用可插、 拔的导线连接。
十、 数字逻辑和数字系统试验区
这部分为用户提供了通用的数字逻辑和数字系统实验平台。它主要包括下列部分: 实验台左半部的11个双列直插插座, ISP1032在系统编程芯片及下载插座, 6个数码管及其驱动电路, 12个数据指示灯, 小喇叭及其驱动电路, 12个拨动开关, 2个单脉冲按钮。
1. 11个双列直插插座
这一部分在实验台的左上部, 实验时用于插中、 小规模数字逻辑器件。注意: 插座的电源和地都没有连接。
2. ispLSI1032
它位于实验台的左下部, 用于设计并实现复杂的数字逻辑或数字系统电路。它有1个下载插座, 下载时下载电缆的一端插在下载插座上, 另一端插在PC机并行口上, 下载电缆将PC机和ispLSI1032连在一起。在PC机上运行ispEXPERT工具软件, 输入数字逻辑或数字系统的设计方案, 进行编译、 连接和适配, 然后下载到ispLSI1032中去, 就构成了1个新的能实现设计功能的器件。数字逻辑和数字系统中的综合实验, 就是用ispLSI1032实现的。
3. 六个数码管及其驱动电路。
为了能做较复杂的实验, 比如电子时钟和数字频率计等实验, 实验台上安装了6个共阳极数码管。六个数码管位于实验台的上部中间。右边5个数码管各由一片BCD七段译码器/驱动器74LS47驱动。只需在各数码管的4个输入插孔( D为最高位, A为最低位) 接入BCD码, 数码管就显示出相应数字。当测试端Test接低电平时, 这5个数码管都将显示”8”, 小数点也同时点亮。最左边的一个数码管由1片74LS240驱动, 可按段进行控制。它的控制端为a、 b、 c、 d、 e、 f、 g、 h。当控制端接高电平时, 则相应的发光二极管段点亮; 当控制端接低电平时, 相应的发光二极管熄灭。
4.小喇叭及驱动电路
这部分由可控振荡电路, 喇叭及其驱动电路组成。电路如图1.4所示。
图1.4 小喇叭及驱动电路
当DZ1用短路片短路时, 它是一个可控声源, 可做报警或者报时使用。如果”控制”插孔接高电平, 则振荡电路输出频率为2KHz左右的方波, 驱动喇叭鸣叫。当控制插孔接为低电平时, 振荡电路输出低电平, 喇叭不鸣叫。
当短路子DZ1开路时, 可从”输入”插孔向喇叭的驱动三极管基极送控制信号。直接控制喇叭按希望的频率变化发声, 做音乐实验用。
5.单脉冲按钮
计算机组成原理实验中使用的启动按钮QD和复位按钮CLR#, 在数字逻辑和数字系统实验中作为单脉冲按钮使用。每个按钮按下后都能输出1个正脉冲和1个负脉冲。不过由于在计算机组成原理中, QD按钮使用的是正脉冲, CLR#按钮使用的是负脉冲, 因此在数字逻辑和数字系统实验中, 最好使用QD按钮产生的负脉冲和CLR#按钮产生的正脉冲。
6.电平开关K0-K15
在计算机组成原理实验中使用的模拟数据通路控制信号开关K15-K0在数字逻辑和数字系统实验中作为普通的电平开关使用。
7.12个发光二极管
12个发光二极管位于TEC-5的下部中间位置, 用于指示信号的高低电平, 信号输入孔L0—L11接入高电平时, 相应的二极管点亮, 信号输入孔L0—L11接入低电平时, 相应的二极管熄灭。
第二章 ispEXPERT编程软件入门
一种PLD器件能否得到广泛的应用, 能否受到用户的欢迎, 除了器件本身的性能价格比之外, 在很大程度上取决于它的开发环境。无论是CPLD器件, 还是FPGA器件, 都要用软件工具进行设计。ispEXPERT是由Lattice公司提供的一种通用电子设计软件。它支持ABEL-HDL语言、 VHDL语言、 原理图三种电子设计方式, 以及这些设计方式的混合使用, 从而使电子设计变得灵活简便。它能对所设计的数字电子系统进行功能模拟和时序模拟, 能对设计进行逻辑优化, 并将逻辑映射到器件中去, 自动完成布局预布线, 生成编程所需的熔丝图文件, 经过下载电缆下载到器件中。ispEXPERT支持Lattice公司的所有ispLSI器件。
ispEXPERT在Windows平台上运行, 它支持层次设计, 具有十分友好的人机界面。ispEXPERT中的项目导航器引导设计一步步进行, 最终生成器件编程所需的JEDEC文件, 并下载到ISP器件中。项目导航器是一个很好的设计工具, 便于用户跟踪软件的运行流程, 许多新的电子设计软件都采用它。经过ispEXPERT软件的使用, 读者对此方法会逐步熟悉和喜欢。
2.1 ispEXPERT使用概述
用ispEXPERT对可编程器件进行设计, 除了确定设计思想等必须的准备工作外,大部分可在计算机上进行。整个设计工作流程大致可分为创立新设计项目、 选择器件、 输入源文件或者原理图、 编译与优化、 逻辑模拟、 连接和器件适配等若干过程。这些过程在项目导航器引导下进行。
2.1.1 项目导航器
ispEXPERT使用了项目(project)的概念。一个项目代表一个设计。一个项目所用的全部文件( 源文件、 中间的数据文件和结果文件) 应放进一个单独的目录中。项目导航器保存设计中每一部分的过程及状态, 因此用户能够省去思考操作步骤的时间, 而把精力放在设计上。图2.1展示了一个名为demo的项目在项目导航器中的概貌。
1. 源文件窗口
源文件窗口位于项目导航器左半部分, 上边标有”Source in Project”字样。源文件窗口显示与项目有关的所有设计文件名。每个文件名前都有图标, 以图形方式直观表示文件的类型。例如图标中有”A”字样的是ABEL文件, 图标中包含一个”与”门的是原理图文件。源文件窗口最上边一行( 行中有demo字样) 是项目记录本, 图标象书的样子。使用滚动条能够观察项目中的所有条目。源文件窗口中按缩进方式排列文件名, 清楚地表示出项目中各模块的层次。
(1) 项目记录本
项目记录本又称项目标题, 它指出了项目的名称。在项目导航器源文件窗口中, 项目的组织是经过将项目的全部文件收集到项目记录本中实现的。项目记录本列出了用户在设计、 测试和器件选择过程中的全部原理图和行为描述源文件。项目记录本也能够包括设计中需要保存的其它文件, 如设计说明等附加文件。
图2.1 项目导航器概貌
(2) 项目源文件
用户能够用不同方式描述设计, 这些描述就是源文件。每个源文件是设计中的一个部件。例如, 一个原理图文件就是一个设计部件。源文件不但包括原理图、 状态图、 以及硬件描述语言描述的电路, 也可能包括模拟、 与其它项目的接口以及设计文档等用户做的其它工作, 这些都是设计的组成部件。项目导航器支持层次设计, 故设计中必有一个文件为顶层源文件。顶层源文件定义了整个可编程器件的输入、 输出及对下一层源文件中逻辑描述的引用。对另一个源文件的引用称为例化。较低层源文件也能够含有例化, 以构成描述逻辑的多层次结构。如果项目只包含一个源文件, 则自动成为顶层源文件。
2. 进程窗口
项目导航器右边是进程窗口, 上边标有”Processes for current source:”字样( 见图2.1) 。它显示源文件窗口中所选中文件能进行的所有操作。这些操作包括生成网表、 编译、 逻辑化简、 逻辑综合、 布线和生成测试模块等。总之一句话, 从设计输入到下载的每一步骤。
由于项目导航器是结构敏感的, 因此ispEXPERT具有一个非常强大的功能, 即它知道对不同的结构应采取不同的处理过程。在进程窗口中, 所有步骤都是结构敏感的, 这意味着, 进程会因源文件窗口中选中不同的源文件而改变, 已选中的源文件的进程因选择不同目标器件也会改变。例如一个目标器件为A( A是一个CPLD器件型号) 和目标器件为B( B是另一个CPLD器件型号) 的同一个原理图会有不同的流程。一个可编程器件设计, 从总的方面而言, 可分为项目级进程和源文件级进程。
源文件级进程
源文件级进程包括源文件输入、 编译、 优化等。在源文件窗口单击一个源文件, 进程窗口中将出现指示处理此源文件的源文件级进程。
项目级进程
项目级进程包括连接、 器件适配、 编译时序报告、 下载等。在源文件窗口中单击
展开阅读全文