基于cpld-fpga的cpu设计

基于cpld-fpga的cpu设计

ID:28008914

大小:55.50 KB

页数:7页

时间:2018-12-07

基于cpld-fpga的cpu设计_第1页
基于cpld-fpga的cpu设计_第2页
基于cpld-fpga的cpu设计_第3页
基于cpld-fpga的cpu设计_第4页
基于cpld-fpga的cpu设计_第5页
资源描述:

《基于cpld-fpga的cpu设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于CPLD/FPGA的CPU设计摘要:在分析CPU选型基础上,确定设计基于CPLD/FPGA的8位字长、RISC,多周期、哈佛架构CPU。通过CPU体系结构设计、CPU指令系统的设计,描述了CPU设计相关问题。关键词:CPLD/FPGASOC指令系统体系结构分类号:TN702文献标识码:A文章编号:1007-9416(2014)02-0162-021引言随着EDA技术的发展,用硬件描述语言设计以PLD/FPGA为载体进行各种数字电路设计成为一种不可阻挡的趋势,用硬件描述语言设计CPU也成为可能,伴

2、随作为载体的PLD/FPGA技术飞速发展,PLD/FPGA器件内集成成千上万个门,在CPLD/FPGA上不仅可以容纳CPU,还可以CPU工作所需要的外围电路,发展成为S0C技术,设计实现CPU是这项技术的核心。S0C技术有多种现成产品,CPLD/FPGA生产厂家多提供S0C解决方案。如Altera为业界提供多种软核处理器,从软核处理器NiosII到ARM和Freescale流行的体系结构[1]。另一CPLD/FPGA生产厂家Xilinx也提供了类似产品。这些SOC最大特点是,它们仅针对各自厂家自己的

3、FPGA产品,没有通用性。而设计可在不同厂家CPLD或FPGA上运行、通用SOC具有现实意义,这就是设计基于CPLD/FPGA的CPU。CPU设计涉及:CPU类型的选取、CPU体系结构设计、CPU—7*7指令系统的设计、CPU设计、CPU检验和CPU应用五个方内容。2CPU设计选型CPU类型选取涉及四个方面:选择CPU的字长、CPU的指令类型、CPU指令执行的周期类型、CPU架构。CPU类型按字长分为8、16、32、64位等类型。CPU字长越长,处理数据的能力越强,但所需要的资源越多。CPU类型按的

4、指令集类型可分为CISC和RISC两类。在进行CPU设计时,CISC和RISC两者的主要区别为指令的长度和指令的多少。相对而言RISC类型CPU指令较少,每条指令的长度相同。选择不同指令类型,会直接影响CPU指令译码部分的设计难度。选择RISC类型CPU时,可以降低指令译码部分的设计难度。CPU类型按指令执行的时间周期类型可分为单周期和多周期两类。要进行指令执行单周期CPU设计,涉及流水线、缓存等现代计算机设计相关概念,选择多周期CPU则相对简CPU类型按CPU架构分为哈佛架构和普林斯顿架构两类,普

5、林斯顿架构CPU将指令和数据放在同一存储器内,哈佛架构CPU的存储器分为指令存储器和数据存储器两部分。选择哈佛架构可以相对减少指令的条数。在进行CPU类型的选取时,除考虑涉及四个方面外,CPU的用途也是一个重要的考虑因素,综合考虑,选择设计8位字长、RISC、多周期、哈佛架构CPU。2CPU体系结构设计在确定设计8位字长、RISC、多周期、哈佛架构CPU后,首先要进行CPU体系结构的规划设计。概念上,传统计算机由控制器、运算器、存储器、输入设备、输出设备五部分组成,控制器和运算器被制作在一起,称为C

6、PU。CPU体系结构设计主要是运算器部分的规划,CPU设计主要是控制器设计、运算器中ALU部分设计、运算器数据通道的设计。运算器部分是各种指令的执行、完成场所。要完成各种操作,CPU必须包括通用寄存器、标志寄存器、指令指针、指令寄存器、堆栈栈顶指针、内总线、输入输出端口等部分组成。本CPU运算器各主要部分如表1。输入输出端口理论上可以看成特殊寄存器。3CPU指令系统的设计在确定设计8位字长、RISC、多周期、哈佛架构CPU及其体系结构后,接着要进行CPU指令系统的设计。指令系统的设计包括三个方面:指

7、令系统、寻址方式、机器指令设计。4.1指令系统与寻址本CPU的寻址方式只有立即寻址、直接寻址和寄存器间接寻址三类。指令系统共36条指令,分为数据传输指令、算术指令、逻辑指令、转移指令、子程序指令五类。(1)数据传输指令。数据传输指令共7条,实现立即数到通用寄存器、acc与通用寄存器间、直接地址与acc间、直接地址与acc间、通用寄存器指示的间接地址到acc、程序空间到ACC的数据传递。(2)算术指令。算术指令仅有加、减两种,共4条指令。每种运算由立即数与acc、通用寄存器与acc两条组成。传统的带进

8、位运算没有提供,可以靠进位条件转移与立即数1与acc运算两条实现。(3)逻辑指令。逻辑指令包括逻辑运算、移位运算、比较测试运算组成,共有13条指令。逻辑运算有and、or、xor、not四种,共有7条指令。其中and、or、xor指令的操作数为acc和立即数、acc和通用寄存器,not指令的操作数只有acc。移位运算由逻辑左移和逻辑右移一位指令组成,移位对象为通用寄存器,不用制定移位次数。共有2条指令。比较测试运算只有比较、测试指令组成,共有4条指令。比较测试运算操作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。