Total RAM bits 119808 165888 239616 239616 483840 594432 1152000
Embedded multipliers 13 18 26 26 35 86 150
PLLs 2 2 4 4 4 4 4
Maximum user I/O pins 158 182 315 315 475 450 622
鉴于其充足的性能和较低的成本,被普遍应用于开发板等,且基本满足本实验系统的需求,因此本实验系统采用EP2C8型号芯片。
(3)FPGA配置电路
本系统中的FPGA芯片采用两种配置模式,JTAG配置模式和AS配置模式,配置模式将会在后面详细讲述。其中AS配置模式将会用到EPCS4配置芯片,由其构成的配置电路,为FPGA芯片进行配置,使其正确工作。
(4)存储电路
8088有20条地址线,能实现1M字节的存储空间。除了利用Quartus II LPM库函数在FPGA上实现的64K字节的ROM外,其余960K字节的存储空间由静态存储芯片来实现。
(5)8253,8259,8284等芯片电路
是实验系统的重要组成部分,8253为系统提供定时计数的功能。8259为系统提供管理中断的功能。8284为CPU软核提供工作时钟。74LS138为系统I/O地址提供译码片选功能。74LS245为系统数据总线提供三态缓冲的功能。
(6)键盘输入、显示电路
利用Intel 8279芯片来实现4X4矩阵的键盘输入,以及数码管进行显示。其构成的电路为系统提供输入、调试和观察结果的功能。
3 8088VHDL软核的设计及仿真
3.1 Intel 8088内部结构和工作原理
微处理器8086 是英特尔于1978 年推出了首枚16 位微处理器,而Intel 8088 是一个以Intel 8086为基础的,内部数据总线(处理器内部传输数据的总线)为8位(8086为16位),外部数据总线(处理器外部传输数据的总线)为16 位(与8086一样),因此是一种准16位CPU。它具有包括乘法和除法的16位运算指令,所以能处理16位数据,也能处理8位数据。8088地址总线为20 位,可寻址1MB 内存,为双列直插式封装,有40 根引脚,电源为5V。
8086 从功能上分执行单元EU(Execution Unit)和总线接口单元BIU(Bus Interface Unit)[1],如图3-1所示。执行单元的功能就是负责指令的执行,由8 个16 位通用寄存器(AX,CX,DX,BX,SP,BP,SI,DI),1 个16 位标志寄存器(FLAGS), 1 个16位算术逻辑单元ALU 及EU 控制电路组成。
总线接口单元的功能是负责与存储器,I/O 端口传送数据,由4 个16 位段寄存器(CS,DS,SS,ES),1 个16 位的指令指针寄存器IP,1 个与EU 通信的内部暂存器,1 个指令队列,1 个计算20 位物理地址的加法器及总线控制电路构成。8088 的指令队列为4 个字节,会在执行指令的同时,从内存中取指令,取来的指令就放在指令队列中。EU 单元每次都是从指令队列的前部取指令,然后在本单元中执行指令,这样CPU 执行完一条指令就可以立即执行下一条指令,不需要从内存取指令,然后再执行,从而提高效率。8088的内部寄存器都是16 位的,所以需要一个附加的部件来根据16 位寄存器提供的信息来计算出20 位的物理地址,地址加法器就是用来完成这个作用的。计算方法为:将代码段寄存器CS 的内容左移4 位,然后再与IP 的内容相加得到最终的物理地址。
总线接口部件和执行部件之间不是同步工作的,但两者的动作仍然是有管理原则的,体现在以下几个方面: FPGA的微机原理实验系统设计(5):http://www.youerw.com/jixie/lunwen_3958.html