当前位置:首页 > 计算机组成原理FPGA实验操作步骤及源码
FPGA简介
TH-union(FPGA)中CPU系统的实现,我们选择了xinlinx公司的SPARTAN—II系列的芯片(型号是XC2S200)。该器件容量为20万门,内部有2352个CLB,14个4Kb的RAM块,208脚PQFP封装形式,支持在系统编程(in-system programmable),实现了TH-union计原16系统中CPU的全部功能。在进行这项任务设计时,我们已经充分考虑到如何照顾到现有教学资源(如教材、系统监控程序、软件等)的稳定性。首先,保证了新设计的教学机的指令系统,与TH-union计原16系统的指令系统有良好的兼容性;其次,在构思新型教学计算机的逻辑结构的过程,适当地向TH-union计原16系统的实际组成靠拢,尽量地在二者之间有一个平滑的过渡。这就意味着,设计与实现的CPU系统的外特性是严格限定在与TH-union计原16系统是严格意义上的同一体系结构的CPU系统,差别仅表现在CPU具体实现有所不同,包括选用的器件类型和集成度不同、所用设计手段、设计过程有所不同,体现出来的设计与实现技术也不尽相同。
TH-union(FPGA)是TH-union+的一个重要组成部分。它和TH-union计原16系统相对独立,软件互相兼容。TH-union(FPGA)和TH-union计原16系统各自的CPU通过总线连接TH-union+主板上的内存、接口等构筑了双CPU的TH-union+系统。
TH-union(FPGA)系统的总体组成如图所示。由图可以看到TH-union(FPGA)教学计算机系统也是一个完整的计算机系统,由以下几个基本部分组成:运算器部件、控制器部件、内存储器系统和串行接口线路。
电平转换内存 / 串口运行选择和读写命令信号74LS139串行接口串行接口MAX20274S13874LS13816位数据16个指示灯16位地址16个指示灯内存片选 串口片选信号 信号R O MR A MF P G A16位地址晶振74LS04R O M16个指示灯74S0074LS161R启停控制S频率选择跳线低 8 位数据16位数据16个指示灯16 位双向选通电路RESET START按键5 个运行功能选择开关37 个指示灯37 个接线插孔36 位微型开关与控制电路16 个接线插孔16 位钮子开关与控制电路
TH-union(FPGA)教学机系统的技术指标与系统配置
TH-union(FPGA)教学机系统的主要技术指标是:
1.机器字长16位(也可设计成8位字长的另外一个新的系统),即运算器、主存、数据总线、地址总线、指令等都是16位。
2.完整的指令系统被划分为基本指令和扩展指令两部分,支持多种基本寻址方式。其中的基本指令已经实现,用于设计监控程序和用户的常规汇编程序,保留的多条扩展指令供实验者自己实现。
3.主存最大寻址空间是18K字(16位),基本容量为8K字的ROM和2K字的RAM存储区域。另外的8K字用于完成存储器容量扩展的教学实验。FPGA芯片和存储器芯片之间可以通过分开的地址总线和分开的数据总线实现连接,这在实现分开的指令存储器和数据存储器的方案中是必要的。
4.运算器是参照Am2901芯片的组成和功能来设计的,ALU实现8种算术与逻辑运算功能,内部包括16个双端口读出、单端口写入的通用寄存器,和一个能自行移位的乘商寄存器。设置C(进位)、Z(结果为0)、V(溢出)和S(符号位)四个状态标志位。
5.控制器采用硬连线控制器方案实现,也可修改成微程序控制器。实验人员可方便地修改已有设计,或加进若干条自己设计与实现的新指令,新老指令同时运行。
6.主机上安装有二路INTEL8251串行接口,可直接接计算机终端,或接入一台PC机作为自己的仿真终端。选用了MAX202倍压线路,以避免使用+12V和-12V电源。
7.两路的串行接口的接插座安放在机箱后侧板以方便接线插拔和机箱盖的打开关闭。 8.在主板上设置有一些拨数的开关和微型开关、按键和指示灯,支持最低层的手工操作方式的输入/输出和机器调试。
9.实验机硬件系统,全部功能部件分区域划分在大一些的水平放置的一块印制电路板的不同区域,所有器件都用插座插接在印制板上,便于更换器件。
10.实验计算机使用单一的5V、最大电流3A的直流模块电源,所耗电流在1.5~2.5A之间。电源模块安装在水平电路板右上角位置,交流220V通过电源接线插到机箱后侧板,经保险丝、开关连接到电路板上,开关安放在机箱右侧靠后位置,方便操作且比较安全。
11.板上安装了很多发光二极管指示灯,用于显示重要的数据或控制信号的状态。 12.机箱和电路板之间的全部接线都经过接插座,便于整机的生产、调试和维修。 此外还设置了辅助电路和扩展电路两个辅助部分,各个部分被划分在电路板的不同区域。
在FPGA芯片中实现的非流水线的CPU系统
以不使用指令流水线技术实现的CPU系统为例,介绍设计、实现的完整CPU系统所需的各个部件模块。
VHDL语言支持层次结构,一个完整的系统可以由一个顶层模块和多个部件模块组成。 该CPU系统被分成顶层模块(CPU)和3个部件(Am2901、controllor、data_IB)模块,各自的文件名分别是CPU.vhd、Am2901.vhd、controllor.vhd、data_IB.vhd,模块之间的接口关系如下图所示。
FLAGOUTALU_YARtimingOutDC_2MIO REQ WEARIRIRoutIRRESET CLKDC2FLAG(2)FLAG二选一YtimingFLAG(3)REQ MIO WEWE MIO ALU FLAG IR标志位寄存器最低为进位ALUC三选一Z三选一D数据B锁存A锁存Q寄存器三选一Q15Q0IBtimingControl signalsgeneratorOBRAM三选一RAM15RAM0DC1OBMemory /SST SSH SCICLKDISST SSH SCIBaddAaddCLK RESETIBaddAaddIO Port
TH-union(FPGA)系统中的单芯片CPU的组成结构
在FPGA单芯片中,既可以设计成非流水的CPU系统,通过编辑、编译下载后能实现与左边常规的中小规模器件设计的计算机系统相同的功能,又可以设计成带流水的CPU系统,还可以设计成高速缓存(CACHE)。除了实现上述计算机组成原理、系统结构的功能外,FPGA还能完成各种简单的时序逻辑电路和组合逻辑电路实验,实现EDA的功能。
FPGA实验操作步骤
一、管脚定义:
1、TH-UNION+系统中FPGA管脚定义:
DataBus0――DataBus15的管脚分别是3――10,14――18,20――22
AddressBus0――AddressBus15的管脚分别是23,24,27,29――31,33――37,41――45
ExAddressBus0――ExAddressBus12的管脚分别是187――189,191――195,199――203
ExAddressBus13――ExAddressBus15管脚没有焊线
ExDataBus0――ExDataBus15的管脚分别是162――168,172――176,178――181
/MIO,REQ,/WE的管脚分别是205,204,206
CLK管脚pin182,Reset管脚pin160,
Pin56与Pin90、Pin148不能用,已经短接在电源接口为指示灯提供电源。
Pin46――Pin49,Pin150――Pin152,Pin154,Pin161可以作为输入输出管脚。
2、TH-UNION(优能)系统中FPGA管脚定义:
DataBus0――DataBus15的管脚分别是20――24,27,29――31,33――37,41,42
AddressBus0――AddressBus15的管脚分别是3――10,14――18,43,44,46
ExAddressBus0――ExAddressBus12的管脚分别是189,191,188,192――195,199――204
ExAddressBus13――ExAddressBus15管脚没有焊线
ExDataBus0――ExDataBus15的管脚分别是163――168,172――176,178――181,187
/MIO,REQ,/WE的管脚分别是134,135,142
CLK管脚pin182,Reset管脚pin160,
Pin56与Pin90、Pin148不能用,已经短接在电源接口为指示灯提供电源。
Pin206可编程作为ExRom的/CS, Pin146可编程作为ExRom的/OE, Pin150可编程作为8251的/RD, Pin151可编程作为8251的/CS,
Pin152可编程作为8251的C/D, Pin154可编程作为8251的/WR,
Pin161可编程作为8251 SIO2的CLK, Pin162可编程作为8251SIO2的/RXC,
二、实验拨号开关设置及程序下载:
1、TH-UNION+系统中FPGA实验设置 实验系统中左下角六个拨号开关设置为:“0XX1X1”(拨号开关向上拨为“1”,向下拨为“0”,不确定为“X”;
2、TH-UNION(优能)系统中FPGA实验设置 实验系统中左下角拨号开关设置为:FPGA为“1”,SW1左边五个拨号开关设置为:“1XX0X”;
3、接上串口、电源和下载线,打开电源; 4、若已经安装了Xilinx ISE软件,则点击开始 / 程序 / Xilinx ISE 6 / Accessories / iMPACT ;
5、在Operation Mode Selection 中选择 Configure Devices ,点击下一步;
6、在Configure Devices 中选择 Slave Serial Mode ,点击下一步;
7、在 Add Devices 中选择自己建立的工程文件中编译生成的 *. Bit 文件,点击确定;
8、在出现的芯片上单击右键并选中 Program即可完成程序的下载。
共分享92篇相关文档