电话:18612337338
手机:18612337338
 
  网站首页 公司简介 产品展示 新闻动态 技术文章 资料下载 询价留言 联系方式
 
 
 请输入产品关键字:
 
瑞士-皮特PETER
西门子
PETER-HIRT/瑞士
FEINMESS-SUHL/德国
WESTERN-PEGASUS/英国
DIATEST德国
日本三菱化学
意大利哈纳
梅思安
BW
华瑞
霍尼韦尔
英思科
奥松电子
英国凯恩
德国格哈特
美国哈希
美国HYDRAFORCE海德福斯
教学设备
德国帕玛斯
生物工程设备
常用设备
日本ATAGO爱拓
瑞士BUCHER布赫
美国celesco
​美国Parr
弗莱克森
芬兰维萨拉
韩国微先锋
德国德图
英国仕富梅
科教实训台通信设备等系列
德国IKA/艾卡
瑞士Buchi步琦
法国IAC
法国阿尔卡特alcatel
英国Datapaq
美国MetOne
分析仪器
实验仪器
计量检测
水质检测
环境检测
实验箱
测试测量仪器
医疗器械
地址:北京市昌平区回龙观
电话: 18612337338
传真: 010-52571680
手机: 18612337338
邮编:
E-mail: 3468983094@qq.com
联系人: 田经理
 
计算机组成原理实验箱
发布日期:[2018/8/9 18:50:56] 共阅[2399]次
    

一章CPTH+实验系统简介

一、CPTH+实验系统组成……………………………………………………2

二、CPTH+实验系统使用………………………………………………………2

二章 十六位机(FPGA)扩展实验板简介…………………………………2

一、FPGA实验板主要功能…………………………………………………2

二、FPGA实验板组成………………………………………………………2

三、FPGA实验板软件简介……………………………………………………4

四、FPGA实验板使用…………………………………………………………5

三章 QuartusⅡ开发环境使用入门…………………………………………6

四章 十六位机扩展实验……………………………………………………13

   分部实验一、十六位ALU实验………………………………………………13

   分部实验二、十六位寄存器实验……………………………………………14

   分部实验三、十六位寄存器组实验…………………………………………14

   分部实验四、十六位指令计数器PC实验……………………………………15

   分部实验五、中断控制实验…………………………………………………17

   实验六、 十六位模型机的总体实验………………………………………18

 

 

一章CPTH+实验系统简介

一,CPTH+实验系统组成:

CPTH+是我公司新推出的八位机带十六位机接口的计算组成原理和系统结构实验仪。CPTH+在原CPTH主板的基础上增加十六位机接口,通过选配CPT16十六位机扩展实验板(也称FPGA实验板),完成十六位机计算机组成原理实验。

CPTH+主板以八位机模式,用TTL74系列器件+CPLD构建模型机部件,让学生以可视方式观察CPU内各部件工作过程和模型机的实现。CPT16_1C6实验板以十六位机模式,用15万门EP1C6Q240C8N FPGA芯片构建模型机所有部件,并配置64K×16位存储器,在对八位机了解的基础上,让学生对十六位计算机组成原理有更深刻的理解,实现质的飞跃,为FPGA设计CPU打下基础。

 

二,CPTH+实验系统使用

CPTH+有两种使用方式:八位机和十六位机两种实验方式。

1)八位机方式:

CPTH+主板是八位机模式,只需把通信选择开关“KT”拨向“CPTH”一侧,即可构成八位计算机组成原理和系统结构的实验系统。具体使用详见CPTH超强型计算机组成原理和系统结构实验指导书》。

2)十六位机方式:

把选配的CPT16十六位机扩展实验板,对应插入CPTH+主板”上的座,然后把通信选择开关“KT”拨向“CPT16”一侧,即可构成十六位计算机组成原理的实验系统。具体使用详见下面各章节的说明。

 

二章 十六位机(FPGA)扩展实验板简介

一、FPGA实验板主要功能

    FPGACPT16_1C6)实验板主要是基于EDA设计的计算机组成原理的实验板,它的核心器件是Altera公司的Cyclone 系列15万门EP1C6Q240C8NFPGA芯片。用该FPGA实验板,通过VHDL语言编程,可设计16位机的部件和模型机,学生将设计好的电路下载到FPGA芯片上,实现16位机的部件和模型机功能;也可完成其它设计性实验和课程设计实验。

 

二、FPGA实验板组成

  1AT89S52单片机,主要用于接收PC机命令,完成16位程序存储器读写,管理模型机运行、暂停等功能。

  2ispLSI 1032E是逻辑控制芯片,负责单片机和模型机总线切换。

  3EP1C6是模型机主控芯片,相应管脚已连好,JTAG (By.II)EP1C6芯片的标配下载接口,再配合FPGA实验板的PC机调试软件,可方便地进行各种实验。

  4IDT71V01664K×16位存储器,是模型机的程序存储器,能保存大容量程序。

  5)六位8段数码管,用于显示模型机内部寄存器、总线的值,在设计时可将需要观察的内部寄存器、总线值送A,再通过OUT指令送到数码管显示。三只GAL16V8是六位数码管16进制译码器。

  6)L7~L0是8个发光二极管,用于显示模型机内部状态,例如:进位标志、零标志、中断申请标志等。

  7)K0(7…0)~K4(7…0)是40个开关,用于输入外部信号,例如,在做单步实验时,这些开关可用来输入地址总线值、数据总线值、控制信号等。

   (8) EP1C6 右方的EX1座表示46 个扩展的IO 信号,当实验中需要另外的输入输出脚时可以使用这些扩展脚。

 

 

                             实验板框图

 

 

 

 

 

 

 

 

 

 

 

 

(9)EP1C6的管脚连接表

K0.0

118

K3.0

85

D0

43

A8

62

OUT0

225

LDE0

K0.1

117

K3.1

84

D1

46

A9

64

OUT1

224

K0.2

116

K3.2

83

D2

45

A10

63

OUT2

223

K0.3

115

K3.3

82

D3

48

A11

65

OUT3

222

K0.4

114

K3.4

81

D4

47

A12

53

OUT4

221

LDE1

K0.5

113

K3.5

80

D5

49

A13

50

OUT5

220

K0.6

108

K3.6

79

D6

59

A14

55

OUT6

219

K0.7

107

K3.7

78

D7

56

A15

54

OUT7

218

K1.0

106

K4.0

77

D8

61

CS

44

OUT8

217

LED2

K1.1

105

K4.1

76

D9

60

WR

57

OUT9

226

K1.2

104

K4.2

75

D10

58

RD

8

OUT10

227

K1.3

103

K4.3

74

D11

17

BH

11

OUT11

228

K1.4

102

K4.4

73

D12

16

BL

12

OUT12

233

LED3

K1.5

101

K4.5

68

D13

15

 

 

OUT13

234

K1.6

100

K4.6

67

D14

14

RST

21

OUT14

235

K1.7

99

K4.7

66

D15

13

CK

20

OUT15

236

K2.0

98

L0

216

A0

42

I-REQ

19

OUT16

237

LED4

 

 

K2.1

97

L1

215

A1

41

P10

18

OUT17

238

K2.2

96

L2

214

A2

38

 

 

OUT18

239

K2.3

95

L3

213

A3

39

 

 

OUT19

240

K2.4

94

L4

208

A4

204

 

 

OUT20

1

LED5

K2.5

93

L5

207

A5

5

 

 

OUT21

2

K2.6

87

L6

206

A6

6

 

 

OUT22

3

K2.7

86

L7

205

A7

7

 

 

OUT23

4

 

三、FPGA实验板软件简介

双击CPTH计算机组成原理快捷图标,在CPTH主界面上,按“打开FPGA扩展窗口”按钮,即可打FPGA扩展板界面,此界面给出了存储器窗口和功能按键,如下图。

    ①存储器窗口给出了64K×16位存储器内容,用鼠标左键单击存储单元,数据变兰色后,即可修改存储器中的数据。

②八个功能按键

·[连续脉冲],为模型机提供连续的高频脉冲信号。

·[单脉冲],为模型机提供单脉冲信号。

·[暂停],当模型机连续运行时,可暂停程序的运行。

·[复位],使模型机复位。

·[产生中断],为模型机提供中断信号源。

·[连接CPT16],使FPGA实验板和PC机CPTH调试软件联接。

·[保存文件],是将存储器窗口中的数据写到磁盘上。

·[调入文件],从磁盘上读入数据文件,在此窗口中显示。

·[FPGA编程],是将QuartusⅡ开发环境中生成的*.rbf格式文件下载到EP1C6的芯片中,在下载过程中有下载进度显示

·[打开编程文件],从磁盘上读入*.rbf格式文件

 

 

 

四、FPGA实验板使用

  1)用串口/USB通信线(出产配置为串口),连接CPTH+主板和PC机相应RS232接口,把选配的CPT16十六位机扩展实验板,对应插入CPTH+主板”上的座,然后把通信选择开关“KT”拨向“CPT16”一侧,接通CPTH+实验仪电源。

  2)在QuartusⅡ软件中,用VHDL语言设计模型机电路,然后编译、引脚锁定,再编译生成*.sof,再转化为*.rbf格式。如已有*.rbf,步骤(2)可省。

  3)双击CPTH计算机组成原理快捷图标,在CPTH主界面上,按“打开FPGA扩展窗口”按钮,单击按键“连接CPT16”,连机后其余按键字体变黑色可用,在CPTH主界面上点击打开文件图标,例如选择“EX6.asm”,点击编译下载,下载完毕后,把源文件生成的机器码自动下载到16位存储器中;然后点击“打开编程文件”,选择cpt16.rbf文件,再点击“FPGA编程”,把模型机电路的cpt16.rbf下载到EP1C6的芯片中。也可用《三章 QuartusⅡ开发环境使用入门》中器件编程方法下载。

  4)点击“连续脉冲”按键,程序连续运行,点击“产生中断”按键,看FPGA实验板数码管显示应加“1”变化,点击“暂停”按键,可使程序暂停运行。

三章 QuartusⅡ开发环境使用入门

十六位机FPGA 扩展实验板上用的15万门大规模可编程芯片EP1C6 altera 公司Cyclone产品altera 公司是世界上大的FPGA/CPLD 生产商 QuartusⅡ6.0 开发环境也是电子工程师常用的软件QuartusⅡ6.0 开发环境中可以完成设计输入(原理图VHDL)、设计编译设计编程下载等EDA 设计的所有步骤QuartusⅡ6.0为例我们来了解在开发环境下EDA 设计的流程

 

1建立设计项目

启动软件打开QuartusⅡ6.0 开发环境选择菜单[File]的[New Project]功能

 

 

 

 

 

 

 

 

点击“NEXT”出现如图对话框Name 框内填上项目名例如alu。

 

 

点击二次“NEXT”,选择器件,点击二次“NEXT”完成项目名创建。

2建立设计文件

输入VHDL 程序选择菜单[File]的[New]功能,选择“VHDL FILE”,点击“OK”。

         

 

在空的文本窗口中输入VHDL 语言,文件名保存为alu.vhdl。

 

 

3、把文件添加到项目

选择菜单[project]的[add/remove…]功能,选择文件“alu.vhdl”,把alu.vhdl文件添加到alu项目中。

 

4、项目编译

选择菜单[tools]的[compiler tool]功能, 点击 “start”开始编译当前alu项目,编译后如下图。

 

 

5、管脚锁定

选择菜单[assignments]的[pin planner]功能。例如把选中的信号名:A[0]拖拉到EP1C6引脚图相应引脚号上,以此类推进行锁定。锁完后重新编译。

 

 

6、器件编程

通过重新项目编译后生成的*.SOF文件用于下载。在我们例子中使用的是EP1C6为Cyclone系列,下面我们对其进行编程:

a、先关闭实验板电源,将下载电缆一端插入LPT1(并行口,打印机口),另一端插入CPT16位机(FPGA)实验板的JTAG(By.II)座,打开实验板电源;

b、从菜单“TOOLS”下选择“Programmer”,点击“Hardware serup”选择“ByteBlaster II(LPT1)”,编程模式Mode选择JTAG,添加要编程的文件*.SOF,然后点击“Start”开始编程。到目前为止,我们已完成一个完整的设计。

 

 

7,编程文件格式转换

点击file\convert prog...后,按下图设置, 设置完后点击“ok”,把*.sof*转换.rbf。

 

 

 

 

 

 

 

 

 

四章 十六位机扩展实验

分部实验一、十六位ALU 实验

 

实验要求: CPT16 的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL

语言编写程序,下载到EP1C6 FPGA 中,实现十六位模型机的ALU 功能。

实验目的 了解十六位模型机中算术、逻辑运算单元(ALU)的工作原理和实现方法学

习用VHDL 语言描述硬件逻辑。学习使用EDA 开发环境。

实验说明: 

ALU.VHD程序中,A 为累加器,W 为工作寄存器,均为十六位寄存器,W 的值由K1 K0 两组开关共十六位输入,A 的值由K2 K3 两组开关输入,S0S1S2 为运算控制位,接在K4开关组的012 个开关上,根据S0S1S2 的不同,ALU 实现的功能参见下表,D为运算结果输出显示在四位八段管LED0..LED3上,CIn 为进位输入,由K4 开关组的3 个开关输入,COut 为进位输出,用发光二极管L0 显示其状态。

 

S2

S1

S0

ALU 实现的功能

0

0

0

D = A+W         运算结果为A W

0

0

1

D = A-W          运算结果为A W

0

1

0

D = A|W          运算结果为A 逻辑或W

0

1

1

D = A&W         运算结果为A 逻辑与W

1

0

0

D = A+W+CIn     运算结果为A W 加进位

1

0

1

D = A-W-CIn      运算结果为A W 减进位

1

1

0

D = ~A           运算结果为A 取反

1

1

1

D = A            运算结果为A A 直接输出

 

实验步骤:

1打开Quartus EDA 开发环境,选择Open Project ... 打开EP1C6\ 下的ALU 项目(Quartus EDA 开发环境的使用可参见三章)。

2充分理解ALU.VHD(源程序见随机光盘)。了解模型机中ALU 的实现原理。

3ALU 项目进行综合/编译,生成ALU.SOF 文件,点击programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的FPGA编程”按钮下载ALU.rbf

4打开CPTH的开发环境,打开FPGA 扩展板的界面。

5连接CPT16”键,将实验板连接到计算机上。

6拨动K0 K1 输入W 的值,拨动K2 K3 输入A 的值,拨动K4 012 位设置运算方式,拨动K4 3 位,设置进位,观察八段管LED3-LED0 的运算结果,观察发光二极管L0 是否有进位输出。

 

 

分部实验二、十六位寄存器实验

 

实验要求: CPT16 的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL语言编写程序,下载到EP1C6 FPGA 中,实现十六位模型机的寄存器输入输出功能。

实验目的 了解十六位模型机中寄存器的工作原理和实现方法。学习用VHDL 语言描述硬

件逻辑。学习使用EDA 开发环境。

实验说明: 

REG.VHD程序中,D 为输入数据,R 为寄存器,均为十六位寄存器,D 的值由K1 K0 两组开关共十六位输入,R 为内部寄存器,用八段管LED3-LED0 显示,EN 为寄存器选通信号,接在K4开关组的0 个开关上,RST 为复位信号,接在开关组K4 7 个开关上,CLK 为时钟脉冲,由FPGA界面上单脉冲 按键提供。

 

实验步骤: 

1打开Quartus EDA 开发环境选择Open Project ... 打开EP1C6\ 下的REG 项目(Quartus EDA 开发环境的使用可参见三章)。

2充分理解REG.VHD(源程序见随机光盘)了解寄存器的实现原理。

3REG 项目进行综合/编译生成REG.sof 文件,点击programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的FPGA编程”按钮下载REG.rbf

4打开CPTH的开发环境,打开FPGA 扩展板的界面。

5连接CPT16”键将实验板连接到计算机。

6、拨动K4 7 位到1的位置,输出复位”信号,观察八段管LED3…LED0 R 寄存器的输出显示)是否清零,再将K4 7 位回到0 位时,拨动K0 K1 输入D 的值,拨动K4 0 位,设置寄存器选通信号EN为有效状态(0 有效),按动FPGA界面上单脉冲 按键,产生一个时钟信号,观察八段管LED3 LED0 看看是否将D 的值存入寄存器R 中并显示出来,拨动开关组K1 K0 改变D 的值,再将EN置于无效状态(1 位置),按单脉冲 产生时钟信号,观察八段管LED3 LED0 是否会随着改变。

 

分部实验三、十六位寄存器组实验

 

实验要求: CPT16 的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL语言编写程序,下载到EP1C6 FPGA 中,实现十六位模型机的多个寄存器输入输出功能。

实验目的: 了解十六位模型机中寄存器组的工作原理和实现方法。学习用VHDL 语言描述硬件逻辑。学习使用EDA 开发环境。

实验说明: 

REGS.VHD程序中,D 为输入数据,为十六位寄存器,D 的值由K1 K0 两组开关共十六位输入,R0..R3 为内部寄存器,R 用做内部寄存器显示输出,用八段管LED3..LED0 显示其值,SASB 为寄存器选择控制信号,接在K4 开关组的01 个开关上,RD 为寄存器读信号,接K42 个开关上,WR 为寄存器写信号,接在K4 3 个开关上, RST 为复位信号,接在开关组K4 7 个开关上,CLK 为时钟脉冲,由FPGA界面上单脉冲 按键提供。

 

实验步骤:

1打开Quartus EDA 开发环境,选择Open Project ... 打开EP1C6\ 下的REGS 项目(Quartus EDA 开发环境的使用可参见三章)。

2充分理解REGS.VHD(源程序见随机光盘)。了解模型中寄存器组的实现原理。

3REGS 项目进行综合/编译,生成REGS.SOF 文件,点击programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的FPGA编程”按钮下载REGS.rbf

4打开CPTH的开发环境,打开FPGA 扩展板的界面。

5连接CPT16”键将实验板连接到计算机。

6拨动K4 7 位到1 的位置,输出复位”信号,观察八段管LED3…LED0R 寄存器的输出显示)是否清零,然后将K42 RD 信号)、3WR 信号)位置成1状态,使读写信号都处于无效状态。

9寄存器组写实验:将K4 7 位回到时0位,拨动K0K1 输入D 的值,拨动K401位设成00”, 选择寄存器R0拨动K4 3 位,设置寄存器写信号WR 为有效状态(0有效),按动FPGA界面上单脉冲 按键,产生一个时钟信号,将D 写入寄存器R0 中。拨动K0K1 开关组,改变D 值,再改变K4 01 位设成01”, 选择寄存器R1 单脉冲给出时钟信号,将D 存入寄存器R1中,如此将不同的十六位数据分别存R0..R3 寄存器中。

10寄存器组读实验:将K4 3 位(WR 信号)设成1 使其无效,将K4 01两位拨成00”, 选择寄存器R0 再将K4 2 位(RD 信号)设成0”,读出R0中的数据,并输出到八段管LED3LED0 上显示。拨动K4 2 位,使RD 信号无效,改变K4 01 两位选择寄存器R1 再拨动K4 2 位使RD 信号有效,读出R1 的值并显示在八段管LED3LED0 上。如此,读出寄存器R2R3 的值,并观察与写入的数据是否相同。

 

 

分部实验四、十六位指令计数器PC 实验

 

实验要求: CPT16 的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL语言编写程序,下载到EP1C6 FPGA 中,实现十六位模型机的指令计数器功能。

实验目的: 了解十六位模型机中指令计数器(PC)的工作原理和实现方法。学习用VHDL语言描述硬件逻辑。学习使用EDA 开发环境。

实验说明: 下为十六位模型机中PC VHDL 语言:

PC.VHD程序中,D 为十六位输入数据,用于表示跳转条件满足时,跳转的目标地址。D 的值由K1K0 两组开关输入。PC 为指令计数器(PC),用八段数码管LED3LED0 显示其值。 CZ 接在K4 开关组的01 个开关上,用于模拟模型机中的进位标志和零标志信号,ELP K4 2 个开关上,为程序跳转控制信号,为1 时不允许预置PC 0 时,根据指令码的32 位和CZ 状态来控制程序是否跳转(见下表说明)。PC1 接在K4 3 个开关上,表示PC 1 控制信号。 IR2IR3 接在K4 45 个开关上,表示程序指令的2 位和3 位,在本模型机实验中,这两用于控制程序的跳转(见下表说明)。RST 为复位信号,接在开关组K4 7 个开关上,CLK 为时钟脉冲,由FPGA界面上单脉冲 按键提供。

 

ELP

IR3

IR2

C

Z

LDPC

1

X

X

X

X

1

0

0

0

1

X

0

0

0

0

0

X

1

0

0

1

X

1

0

0

0

1

X

0

1

0

1

X

X

X

0

 

上表中,LDPC 为内部信号,用于控制PC 是否能被预置。

ELP = 1 时,LDPC = 1 ,不允许PC 被预置。

ELP = 0 时,LDPC IR3 IR2 C Z 定。

IR3 IR2 = 1X 时,LDPC = 0 D 的值在CLK 上升沿打入PC,实现程序的JMP 直接跳转)功能。

IR3 IR2 = 00 时,LDPC = C 取反,当C = 1 时,D 的值在CLK 上升沿打入PC实现程序的JC(有进位跳转)功能。

IR3 IR2 = 01 时,LDPC = Z 取反,当Z = 1 时,D 的值在CLK 上升沿打入PC实现程序的JZ(累加器为零跳转)功能。

本实验中,RST = 1 时,指令计数器PC 被清0 LDPC = 0 时,在CLK 上升沿D 的值打入PC PC1 = 1 时,在CLK 上升沿PC 1

 

实验步骤:

1打开Quartus EDA 开发环境,选择Open Project ... 打开EP1C6\ 下的PC 项目(Quartus EDA 开发环境的使用可参见三章)。

2充分理解PC.VHD(源程序见随机光盘),了解模型机中指令计数器的实现原理。

3PC 项目进行综合/编译,生成PC.SOF 文件,点击programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的FPGA编程”按钮下载PC.rbf

4打开CPTH的开发环境,打开FPGA 扩展板的界面。

5连接CPT16”键将实验板连接到计算机。

6拨动K4 7 位到1 的位置输出复位”信号,使电路处于复位状态。观察八段管LED3LED0PC 输出显示)是否清零。

7PC+1 实验:将K4 2 ELP 信号)、3 PC1 信号)位置成1 状态,使跳转控制信号处于PC+1 状态。再将K4 7 位回到时0 位,退出复位”状态,按动FPGA界面上单脉冲 按键,产生一个时钟信号,观察八段管LED3 LED0 的显示,看看PC 是否加1 再给出单脉冲,观察PC 是否再次加1

8直接跳转实验:使拨动K0 K1 输入D 的值,设置跳转的目标地址,拨动K4 2位设成0”, 使ELP 信号为低,拨动K4 5 位,将其设成1 使IR3 为高,将跳转控制设成直接跳转”方式,按动FPGA界面上单脉冲 按键,产生一个时钟信号,将D 写入PC 中,观察八段管LED3LED0 看看PC 是否转到目标地址。

9条件跳转实验1拨动K4 45 位,使IR2 IR3 置成00”, 将跳转控制设置成判进位跳转”方式。将K4 0 位设置成1”, 表示有进位,按动FPGA界面上单脉冲 按键,产生一个时钟信号,观察八段管LED3LED0 看看PC 是否转到D 所指定的目标地址。再将K4 0 拨成0”, 表示无进位,给出一个单脉冲,观察LED3LED0 看看PC 是否加1

10条件跳转实验2 拨动K4 54 位,使IR3IR2 置成01”, 将跳转控制设置成判零跳转”方式。将K4 1 位设置成1”, 表示累加器为零,按动FPGA界面上单脉冲 按键,产生一个时钟信号,观察八段管LED3LED0 看看PC 是否转到D 所指定的目标地址。再将K4 1 拨成0”, 表示累加器不为零,给出一个单脉冲,观察LED3LED0 看看PC是否加1

 

 

分部实验五、中断控制实验

 

实验要求: CPT16 的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL语言编写程序,下载到EP1K1C6 FPGA 中,实现十六位模型机中断控制功能。

实验目的: 了解十六位模型机中中断控制的工作原理和实现方法。学习用VHDL 语言描述硬件逻辑。学习使用EDA 开发环境。

实验说明: 

INT.VHD程序中,IREN K4 0 位,表示程序执行过程中的取指令操作,中断请求信号只有在此信号有效时(取指令时)才会被响应。IENT K4 1 位,用于在中断返回时,清除中断请求寄存器和中断响应寄存器。ICEN 为输出信号接发光二极管L2 此信号用于控制读中断指令。ACK 接发光二极管L1 显示中断响应信号。REQ 接发光二极管L0,显示中断请求信号。RST 为复位信号,接在开关组K4 7 个开关上,I_REQ 为中断申请输入信号,由FPGA界面上产生中断按键输出到FPGA 扩展板上,CLK 为时钟脉冲,由FPGA界面上单脉冲 按键提供。

 

实验步骤:

1打开Quartus EDA 开发环境,选择Open Project ... 打开EP1C6\ 下的INT 项目(Quartus EDA 开发环境的使用可参见三章)。

2充分理解INT.VHD(源程序见随机光盘),了解寄存器的实现原理。

3INT 项目进行综合/编译生成INT.SOF 文件,点击programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的FPGA编程”按钮下载INT.rbf

4打开CPTH的开发环境,打开FPGA 扩展板的界面。

5连接CPT16”键将实验板连接到计算机。

6拨动K4 7 位到1 的位置输出复位”信号,将K4 01 位拨到1的位置,使IREN EINT 都处于无效状态,将内部的中断请求寄存器,中断响应寄存器都清零,使其能响应中断,此时只有L2发光二极管亮。

7中断申请:将K4 7 位回到时0 位,使电路正常工作。按下FPGA界面上产生中断按键申请中断,FPGA 扩展板上的L0 发光二极管变亮,表示有中断申请。

8中断响应:将K4 0 位拨成0”, 也就使IREN 有效,表示取指令操作,扩展板上的L2 发光二极管变熄灭,表示已经响应中断。

9中断处理:按动FPGA界面上单脉冲 按键,产生一个时钟信号,扩展板上L2L1、L0 发光二极管都亮,表示取指操作取出中断处理指令来执行。

10中断退出:将K4 0 位拨成1”, IREN 置成无效,将K4 1 位拨成0 EINT 置成有效,发光二极管L2 变亮、L1L0 变暗,中断申请寄存器和中断响应寄存器清零,表示可以接受下一次中断申请。

 

 

 

 

实验六 十六位模型机的总体实验

 

实验要求: CPT16 的扩展实验板上的开关做为输入、八段数码管做为输出,以上面介绍的分部实验为基础,用VHDL 语言编写程序,下载到EP1C6 FPGA 芯片中,实现一个十六位模型机,模型机要有完整的指令系统,中断处理系统、输入输出系统。

实验目的: 了解十六位模型机整机的工作原理和实现方法。用VHDL 语言描述硬件逻辑让FPGA 能实现复杂的运算、处理功能。

实验程序:MOV  A, #00H

LOOP:

    OUT

    JMP  LOOP

   ORG  0E0H

    ADD  A, #01

    RETI

    END

实验说明:CPT16.VHD ”为一个完整的十六位模型机的VHDL 程序,另见随机光盘。

在总体实验中,rst 为复位信号,接在开关组K4 7 个开关上。i_req 为中断申请输入信号,由FPGA界面上产生中断按键输出到FPGA 扩展板上。clk 为时钟脉冲,由FPGA界面上单脉冲 按键提供。keyin 输入端口,接在扩展板的K1K0 开关组上,用于输入外部信号。portout 为输出端口,接到LED3LED0 四个八段数码管上,用于显示输出信号。mem_d 为十六位存储器的数据线,mem_a 为十六位存储器的地址线,mem_rd为存储器读控制信号,mem_wr 为存储器写控制信号,mem_cs 为存储器片选信号,mem_bh 

存储器高8 位数据选择信号,mem_bl 为存储器低8 位数据选择信号。

 

实验步骤:

1打开Quartus EDA 开发环境,选择Open Project ... 打开EP1C6\ 下的CPT16 项目(Quartus EDA 开发环境的使用可参见三章)。

2充分理解CPT16.VHD(源程序见随机光盘)。 了解十六们模型机的实现原理。

3CPT16 项目进行综合/编译,生成CPT16.sof文件,点击programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的FPGA编程”按钮下载CPT16.rbf

4打开CPTH的开发环境,再打开FPGA 扩展板的界面,按连接CPT16”键将实验板连接到计算机,在开发环境的主界面中,打开“\DJCPTH\ASM\ 目录下EX6.ASM 程序,编译下载EX6. ASM下载完毕后,把源文件生成的机器码自动下载到16位存储器中。

5FPGA 扩展板的界面,点击“连续脉冲”按键,程序连续运行,点击“产生中断”按键,产生中断请示信号让模型机中断,在中断处理程序中,我们将累加器A 1中断。返回后输出累加器中的内容。重复点击产生中断 按键,产生多个中断请示信号,让模型机多次中断,累加器多次加1送数码管显示,观察LED3…LED0输出,是否满足设计要求。点击“暂停”按键,可使程序暂停运行,点击“复位”按键,可使模型机复位。

原创作者:北京爱欧德仪器设备有限公司

相关产品
英国凯恩AUTO650 便携式柴油车尾气分析仪
AUTO650英国凯恩AUTO650 便携式柴油车尾气分析仪
英国凯恩AUTO-600不透光烟度计
AUTO-600英国凯恩AUTO-600不透光烟度计
数字电视实验系统
AODTV-2数字电视实验系统
北京爱欧德仪器设备有限公司 专业提供:电子天平,粘度计,显微镜,气体检测仪,测厚仪,影像仪,探伤仪,硬度计,酸度计,电导率仪,浊度仪,碳氢氮检测仪 等产品
首 页 关于我们 | 产品展示 | 新闻中心 | 荣誉资质 | 技术服务 | 资料下载 | 在线留言 | 联系我们
公司名称:北京爱欧德仪器设备有限公司 公司地址:北京市昌平区回龙观 邮政编码: 邮箱:3468983094@qq.com
联系人:田经理 联系电话:18612337338 ICP备案号:京ICP备16002404号 技术支持:阿仪网总访问量:2083706  
展开

客服团队

QQ在线客服

  • 18612337338

8

阿仪网推荐收藏该企业网站