十六位计算机组成原理实验箱
企业档案
会员类型:会员
已获得易推广信誉 等级评定
(0 -40)基础信誉积累,可浏览访问
(41-90)良好信誉积累,可接洽商谈
(91+ )优质信誉积累,可持续信赖
易推广会员:8年
最后认证时间:
注册号: 【已认证】
法人代表: 【已认证】
企业类型:生产商 【已认证】
注册资金:人民币10000万 【已认证】
产品数:1631
参观次数:2208497
瑞士-皮特PETER
- T852位移传感器
- T521L位移传感器
- T521F位移传感器
- T401位移传感器
- T300VS位移传感器
- T202V位移传感器
- T162V位移传感器
- 位移传感器
- 瑞士 peterhirt T101F 位移传感器
西门子
PETER-HIRT/瑞士
FEINMESS-SUHL/德国
WESTERN-PEGASUS/英国
DIATEST德国
- 外齿测量仪
- 螺纹深度测量
- 内螺纹中径测量仪
- 系列通孔塞规式测量系统
- 外锥孔端面直径测量系统
- 系列两瓣式测量系统
- 系列标准塞规式测量系统
- 台架式孔径测量仪 新品上市
- 自动螺纹测试机
- 光学螺纹测试仪Ⅱ
- 台架系列两瓣式测量系统
- 孔径自动测量及评定系统
- DIATEST无线传输系统
- DIACOME内外测量台
- DIATEST自动化测量之在机测量
日本三菱化学
- A&D精密天平-鹵素燈水份計
- 電解式電鍍膜厚計-中央製作所
- 多層鎳電鍍耐腐蝕測定裝置-中央製作所
- 積分球式濁度計
- 半導體系列儀器
- 阻抗率計及繪圖系統
- 粉體阻抗測定系統
- 阻抗率計四點探針
- 阻抗率計
- 離子層析儀固體樣品分析儀
- 自動樣品燃燒裝置
- 總有機碳分析儀
- 總硫/氯/氮分析儀
- 總硫/氯分析儀
- 總硫/氮分析儀
- 總氮分析儀
- 總氯分析儀
- 總硫分析儀
- 自動滴定儀
- 卡爾費雪水份測定儀
- 水份計用標準品
- 水份計用電解液及試劑
- 卡式微量水份計
意大利哈纳
梅思安
BW
华瑞
霍尼韦尔
英思科
奥松电子
英国凯恩
德国格哈特
美国哈希
美国HYDRAFORCE海德福斯
教学设备
德国帕玛斯
生物工程设备
常用设备
日本ATAGO爱拓
瑞士BUCHER布赫
美国celesco
美国Parr
弗莱克森
芬兰维萨拉
韩国微先锋
德国德图
- 亮度计
- 烟尘净化机
- 气体检测仪
- 光度计
- 高效过滤器
- 自动过滤器测试仪
- 发生器
- Climet激光粒子
- Tsi产品系列
- 环境检测仪器
- UV能量计
- 大气粉尘监测仪
- 远程/激光粒子计
- 温湿度记录仪,
- 多功能测试仪
- 风速测量仪
- 差压测量仪
- 烟尘采样器
- 便携式烟气分析仪
英国仕富梅
科教实训台通信设备等系列
- 计算机组成原理和系统结构创新设计
- 数字电视
- 太阳能电池基本特性测定实验仪
- 多功能数字式四探针
- 结物理特性测定仪
- 霍尔效应实验仪
- 大学生创新创业工程实训系列
- 物理创新系列
- 物质的物性研究系列
- 电磁学系列
- 热学系列
- 力学系列
- 非线性光学列
- 信息光学系列
- 激光原理与技术系列
- 物理光学和工程光学系列
- 光纤信息与光通信系列
- 光电检测系列
- 光电子技术系列
德国IKA/艾卡
瑞士Buchi步琦
法国IAC
法国阿尔卡特alcatel
英国Datapaq
美国MetOne
- 美国MetOne5913/5915
- 美国MetOne3400
- MetOne 2100/2200
- 美国MetOne2400/2408
- 美国CLIMET CI-3100系列
- 美国MetOneGT321
- 美国MetOne
分析仪器
- 橡胶回弹仪
- 导热仪
- 介电常数测定仪
- 炭黑含量测试仪
- 挥发性有机化合物检测仪
- 硬度计
- 红外碳硫分析仪
- 手提式二氧化碳浓度测定仪
- 汽车前照灯检测仪
- 凝胶固化时间测试仪
- UV能量计
- 红外气体分析仪
- X射线衍射仪
- 瞬变电磁仪
- 红外体温筛选仪、体温仪、立式测温仪
- 探伤仪
- 氦质谱检漏仪
- 光度计
- ICP光谱仪
- 差示扫描量热仪
- 电火花直读光谱仪 质谱仪色谱
实验仪器
- 便携式密度计
- 均质机
- 口罩呼吸阻力检测仪
- 超声波气蚀机
- 凝胶净化系统
- 匀胶机
- 一体化加药装置
- 真空封管机
- 弯曲试验机
- 耐磨试验机
- 快速温变试验箱
- 臭氧老化试验箱
- 高温高压蒸煮仪
- 纸管抗压强度试验机
- 煤焦油水分仪
- 自动折射仪
- 机器人
- 振动试验机
- 延流薄膜机
- 高纯气体分析仪
- 熔滴性能测试仪
- 捆绑机
- 灭菌器
- 吹扫捕仪
- 离心机
- 测厚仪
- 酒精浓度计
- 看谱镜
- 常温振荡小样机
- 集菌仪
- 加压流体萃取仪
- 老化箱、气候箱
- 万能材料试验机
- 干燥箱
- 张力仪
- 指示表测定仪
- 喷雾干燥机
计量检测
水质检测
- 地下水定深取样器
- PH酸度计
- 水产养殖专用仪器
- 阴离子表面活性剂测定仪
- 浊度仪、色度仪检测仪
- 水中硬度测定仪
- 水中甲醛测定仪
- 挥发酚检测仪
- 氟化物、硫化物测定仪
- 余氯二氧化氯测定仪
- 亚硝酸盐硝酸盐磷酸盐测定
- 二氧化硅硫酸盐测定仪
- 重金属测定仪
- 氨氮测定仪
- 总磷测定仪
- 水质硫化物酸化吹气仪
- 多功能氨氮蒸馏仪
- 微晶智能加热板/器
- BOD测定仪
- 高氯COD分析仪
- COD快速测定仪
- 多功能智能消解器
- 国标COD回流消解器
- 便携式浊度仪
- 溶解氧检测仪
- 二氧化氯检仪
- 余氯总氯检测仪
- 多参数水质分析仪
- 纸张水份仪
- 水份检测仪
- 有效氯检测仪
环境检测
- 真空采样箱
- 氨氮分析仪
- 油烟采样枪
- 柴油车汽车尾气氮氧化合物检测仪
- 不透光烟度计
- OBD排放检测综合检测仪
- 高低温冲击试验机
- 人工气侯箱
- 试件平衡处理箱
- 碳氢氮分析仪
- VOC微型监测站
- 西门子烟气分析仪
- 滑坡预警伸缩仪
- 大气采样器
- 声级计校准器
- 感应手消毒器
- 流速流量仪
- 裂缝报警器
- 地下水取样器
- 辐射热计
- 土壤水份温度速测仪
- 粉尘仪
- 水份仪
- 土壤密度仪水份仪
- 红外分析仪
实验箱
测试测量仪器
医疗器械
详细内容
型号:AOD-CPTH+
目 录
一章 AOD-CPTH+实验系统简介
一、AOD-CPTH+实验系统组成……………………………………………………2
二、AOD-CPTH+实验系统使用………………………………………………………2
二章 十六位机(FPGA)扩展实验板简介…………………………………2
一、FPGA实验板主要功能…………………………………………………2
二、FPGA实验板组成………………………………………………………2
三、FPGA实验板软件简介……………………………………………………4
四、FPGA实验板使用…………………………………………………………5
三章 QuartusⅡ开发环境使用入门…………………………………………6
四章 十六位机扩展实验………………………………………………………13
分部实验一、十六位ALU实验………………………………………………13
分部实验二、十六位寄存器实验……………………………………………14
分部实验三、十六位寄存器组实验…………………………………………14
分部实验四、十六位指令计数器PC实验……………………………………15
分部实验五、中断控制实验…………………………………………………17
实验六、 十六位模型机的总体实验………………………………………18
一章 AOD-CPTH+实验系统简介
一,AOD-CPTH+实验系统组成:
AOD-CPTH+是我公司新推出的八位机带十六位机接口的计算机组成原理和系统结构实验仪。AOD-CPTH+在原CPTH主板的基础上增加十六位机接口,通过选配CPT16十六位机扩展实验板(也称FPGA实验板),完成十六位机计算机组成原理实验。
CPTH+主板以八位机模式,用TTL74系列器件+CPLD构建模型机部件,让学生以可视方式观察CPU内各部件工作过程和模型机的实现。CPT16_1C6实验板以十六位机模式,用15万门EP1C6Q240C8N FPGA芯片构建模型机所有部件,并配置64K×16位存储器,在对八位机了解的基础上,让学生对十六位计算机组成原理有更深刻的理解,实现质的飞跃,为FPGA设计CPU打下基础。
二,AOD-CPTH+实验系统使用
AOD-CPTH+有两种使用方式:八位机和十六位机两种实验方式。
(1)八位机方式:
CPTH+主板是八位机模式,只需把通信选择开关“KT”拨向“CPTH”一侧,即可构成八位计算机组成原理和系统结构的实验系统。具体使用详见《CPTH超强型计算机组成原理和系统结构实验指导书》。
(2)十六位机方式:
把选配的AOD-CPT16十六位机扩展实验板,对应插入“CPTH+主板”上的座,然后把通信选择开关“KT”拨向“CPT16”一侧,即可构成十六位计算机组成原理的实验系统。具体使用详见下面各章节的说明。
二章 十六位机(FPGA)扩展实验板简介
一、FPGA实验板主要功能
FPGA(CPT16_1C6)实验板主要是基于EDA设计的计算机组成原理的实验板,它的核心器件是Altera公司的Cyclone 系列15万门EP1C6Q240C8N的FPGA芯片。用该FPGA实验板,通过VHDL语言编程,可设计16位机的部件和模型机,学生将设计好的电路下载到FPGA芯片上,实现16位机的部件和模型机功能;也可完成其它设计性实验和课程设计实验。
二、FPGA实验板组成
(1)AT89S52单片机,主要用于接收PC机命令,完成16位程序存储器读写,管理模型机运行、暂停等功能。
(2)ispLSI 1032E是逻辑控制芯片,负责单片机和模型机总线切换。
(3)EP1C6是模型机主控芯片,相应管脚已连好,JTAG (By.II)是EP1C6芯片的标配下载接口,再配合FPGA实验板的PC机调试软件,可方便地进行各种实验。
(4)IDT71V016是64K×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 两组开关输入,S0、S1、S2 为运算控制位,接在K4开关组的0、1、2 个开关上,根据S0、S1、S2 的不同,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 的实现原理。
3、对ALU 项目进行综合/编译,生成ALU.SOF 文件,点击“programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的“FPGA编程”按钮下载ALU.rbf。
4、打开CPTH的开发环境,打开FPGA 扩展板的界面。
5、按“连接CPT16”键,将实验板连接到计算机上。
6、拨动K0 、K1 输入W 的值,拨动K2、 K3 输入A 的值,拨动K4 的0、1、2 位设置运算方式,拨动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(源程序见随机光盘),了解寄存器的实现原理。
3、对REG 项目进行综合/编译生成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 显示其值,SA、SB 为寄存器选择控制信号,接在K4 开关组的0、1 个开关上,RD 为寄存器读信号,接K4的2 个开关上,WR 为寄存器写信号,接在K4 的3 个开关上, RST 为复位信号,接在开关组K4 的7 个开关上,CLK 为时钟脉冲,由FPGA界面上“单脉冲” 按键提供。
实验步骤:
1、打开Quartus 的EDA 开发环境,选择“Open Project ... ”打开“EP1C6\ ”下的REGS 项目(Quartus 的EDA 开发环境的使用可参见三章)。
2、充分理解REGS.VHD(源程序见随机光盘)。了解模型中寄存器组的实现原理。
3、对REGS 项目进行综合/编译,生成REGS.SOF 文件,点击“programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的“FPGA编程”按钮下载REGS.rbf。
4、打开CPTH的开发环境,打开FPGA 扩展板的界面。
5、按“连接CPT16”键将实验板连接到计算机。
6、拨动K4 的7 位到“1” 的位置,输出“复位”信号,观察八段管LED3…LED0(R 寄存器的输出显示)是否清零,然后将K4的2( RD 信号)、3(WR 信号)位置成1状态,使读写信号都处于无效状态。
9、寄存器组写实验:将K4 的7 位回到时“0”位,拨动K0、K1 输入D 的值,拨动K4的0、1位设成“00”, 选择寄存器R0,拨动K4 的3 位,设置寄存器写信号“WR” 为有效状态(“0”有效),按动FPGA界面上“单脉冲” 按键,产生一个时钟信号,将D 写入寄存器R0 中。拨动K0、K1 开关组,改变D 值,再改变K4 的0、1 位设成“01”, 选择寄存器R1 ,按“单脉冲”给出时钟信号,将D 存入寄存器R1中,如此将不同的十六位数据分别存R0..R3 寄存器中。
10、寄存器组读实验:将K4 的3 位(WR 信号)设成“1” 使其无效,将K4 的0、1两位拨成“00”, 选择寄存器R0, 再将K4 的2 位(RD 信号)设成“0”,读出R0中的数据,并输出到八段管LED3…LED0 上显示。拨动K4 的2 位,使RD 信号无效,改变K4 的0、1 两位选择寄存器R1, 再拨动K4 的2 位使RD 信号有效,读出R1 的值并显示在八段管LED3…LED0 上。如此,读出寄存器R2、R3 的值,并观察与写入的数据是否相同。
分部实验四、十六位指令计数器PC 实验
实验要求: 用CPT16 的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL语言编写程序,下载到EP1C6 FPGA 中,实现十六位模型机的指令计数器功能。
实验目的: 了解十六位模型机中指令计数器(PC)的工作原理和实现方法。学习用VHDL语言描述硬件逻辑。学习使用EDA 开发环境。
实验说明: 下为十六位模型机中PC 的VHDL 语言:
在PC.VHD程序中,D 为十六位输入数据,用于表示跳转条件满足时,跳转的目标地址。D 的值由K1、K0 两组开关输入。PC 为指令计数器(PC),用八段数码管LED3…LED0 显示其值。 C、Z 接在K4 开关组的0、1 个开关上,用于模拟模型机中的进位标志和零标志信号,ELP 接K4 的2 个开关上,为程序跳转控制信号,为“1” 时不允许预置PC, 为“0” 时,根据指令码的3、2 位和C、Z 状态来控制程序是否跳转(见下表说明)。PC1 接在K4 的3 个开关上,表示PC 加1 控制信号。 IR2、IR3 接在K4 的4、5 个开关上,表示程序指令的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(源程序见随机光盘),了解模型机中指令计数器的实现原理。
3、对PC 项目进行综合/编译,生成PC.SOF 文件,点击“programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的“FPGA编程”按钮下载PC.rbf。
4、打开CPTH的开发环境,打开FPGA 扩展板的界面。
5、按“连接CPT16”键将实验板连接到计算机。
6、拨动K4 的7 位到“1” 的位置输出“复位”信号,使电路处于复位状态。观察八段管LED3…LED0(PC 输出显示)是否清零。
7、PC+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 中,观察八段管LED3…LED0, 看看PC 是否转到目标地址。
9、条件跳转实验1:拨动K4 的4、5 位,使IR2、 IR3 置成“00”, 将跳转控制设置成“判进位跳转”方式。将K4 的0 位设置成“1”, 表示有进位,按动FPGA界面上“单脉冲” 按键,产生一个时钟信号,观察八段管LED3…LED0 ,看看PC 是否转到D 所指定的目标地址。再将K4 的0 拨成“0”, 表示无进位,给出一个单脉冲,观察LED3…LED0, 看看PC 是否加1。
10、条件跳转实验2: 拨动K4 的5、4 位,使IR3、IR2 置成“01”, 将跳转控制设置成“判零跳转”方式。将K4 的1 位设置成“1”, 表示累加器为零,按动FPGA界面上“单脉冲” 按键,产生一个时钟信号,观察八段管LED3…LED0, 看看PC 是否转到D 所指定的目标地址。再将K4 的1 拨成“0”, 表示累加器不为零,给出一个单脉冲,观察LED3…LED0, 看看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(源程序见随机光盘),了解寄存器的实现原理。
3、对INT 项目进行综合/编译生成INT.SOF 文件,点击“programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的“FPGA编程”按钮下载INT.rbf。
4、打开CPTH的开发环境,打开FPGA 扩展板的界面。
5、按“连接CPT16”键将实验板连接到计算机。
6、拨动K4 的7 位到“1” 的位置输出“复位”信号,将K4 的0、1 位拨到“1”的位置,使IREN 和EINT 都处于无效状态,将内部的中断请求寄存器,中断响应寄存器都清零,使其能响应中断,此时只有L2发光二极管亮。
7、中断申请:将K4 的7 位回到时“0” 位,使电路正常工作。按下FPGA界面上“产生中断”按键申请中断,FPGA 扩展板上的L0 发光二极管变亮,表示有中断申请。
8、中断响应:将K4 的0 位拨成“0”, 也就使IREN 有效,表示取指令操作,扩展板上的L2 发光二极管变熄灭,表示已经响应中断。
9、中断处理:按动FPGA界面上“单脉冲” 按键,产生一个时钟信号,扩展板上L2、L1、L0 发光二极管都亮,表示取指操作取出中断处理指令来执行。
10、中断退出:将K4 的0 位拨成“1”, IREN 置成无效,将K4 的1 位拨成“0” ,将EINT 置成有效,发光二极管L2 变亮、L1、L0 变暗,中断申请寄存器和中断响应寄存器清零,表示可以接受下一次中断申请。
实验六 十六位模型机的总体实验
实验要求: 用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 输入端口,接在扩展板的K1、K0 开关组上,用于输入外部信号。portout 为输出端口,接到LED3…LED0 四个八段数码管上,用于显示输出信号。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(源程序见随机光盘)。 了解十六们模型机的实现原理。
3、对CPT16 项目进行综合/编译,生成CPT16.sof文件,点击“programmer”,选择“JTAG”模式编程,点击“start”即可下载。也可用CPTH的开发环境中FPGA 扩展板的界面上的“FPGA编程”按钮下载CPT16.rbf。
4、打开CPTH的开发环境,再打开FPGA 扩展板的界面,按“连接CPT16”键将实验板连接到计算机,在开发环境的主界面中,打开“\DJCPTH\ASM\” 目录下“EX6.ASM” 程序,编译下载“EX6. ASM”,下载完毕后,把源文件生成的机器码自动下载到16位存储器中。
5、在FPGA 扩展板的界面,点击“连续脉冲”按键,程序连续运行,点击“产生中断”按键,产生中断请示信号让模型机中断,在中断处理程序中,我们将累加器A 加1中断。返回后输出累加器中的内容。重复点击“产生中断” 按键,产生多个中断请示信号,让模型机多次中断,累加器多次加1送数码管显示,观察LED3…LED0输出,是否满足设计要求。点击“暂停”按键,可使程序暂停运行,点击“复位”按键,可使模型机复位。
热门标签:十六位计算机组成原理实验箱