所有提交的电子邮件系统将被重定向到在线稿件提交系统.请作者将文章直接提交给在线稿件提交系统各自期刊的。

基于VHDL的FPGA上16位微处理器结构分析

Nupur古普塔1普拉加蒂·古普塔2, Himanshi Bajpai3.理查德·辛格4希尔帕·萨克塞纳5
  1. 印度北方邦巴雷利Shri Ram Murti Smarak女子工程与技术学院ECE系学生1、2、3、4
  2. 印度北方邦巴雷利Shri Ram Murti Smarak女子工程与技术学院ECE系助理教授5
相关文章Pubmed谷歌学者

浏览更多相关文章国际电气、电子与仪器工程高级研究杂志

摘要

本文采用VHDL在FPGA上设计并仿真了16位微处理器的体系结构。一些fpga提供了显著的特性,如提高速度、最小的实现空间、降低功耗和最大的可配置性。早期的设计可能包含6到10个asic,但今天相同的设计可以仅使用单个FPGA实现。采用VHDL对FPGA进行编程。VHDL是超高速集成电路硬件描述语言的缩写。该模型实际上代表了一个硬件设计或一个设计的文本描述,在模拟时模仿设计行为。处理器包含许多基本模块。这些模块包括8X16位寄存器阵列、ALU、移位寄存器、程序计数器、指令寄存器、地址寄存器、比较器和控制单元。所有这些单元或模块组装在一起,并通过一个共同的16位三态数据总线进行通信。

关键字

寄存器传输级,精简指令集计算机(RISC),超高速集成电路(VHSIC)硬件描述语言,算术逻辑单元(ALU),现场可编程门阵列(FPGA)。

LITEARTURE调查

自可编程逻辑技术得到高度发展以来。基于FPGA的处理器在实验室中实现是可行的。现在有几种软处理器内核可用,如Xilinx、Pico Blaze、Altera Nios。但是这些处理器核心被提供为黑盒子或黑匣子单元,在这种情况下,用户无法监控内部信号和操作过程,也无法修改原始结构。fpga尤其导致了高级描述语言(如VHDL或Verilog)的设计开发,这使得设计人员可以在RTL级别构思设计,而无需参考最终技术或用于最终实现的供应商
VHDL是一种高效的编程语言,可以用动态硬件描述语言对复杂的数字系统进行建模和开发。作者在[2]中提出了一种基于VHDL的快速原型方法,利用商业CAD工具对计算机系统进行仿真、综合和实现。在b[3]中介绍了使用VHDL来设计和实现一个CPU结构。在16位CPU[4]的设计实现中,作者获得了最小的时钟周期为31.46ns,在本文提出的设计架构下,时钟周期从仿真结果中可以看出大大缩短,从而可以实现快速处理。

介绍

该语言的要求是在20世纪80年代首次产生的,在美国政府的超高速集成电路(VHSIC)项目的标题下,为了提高电子技术,设计过程和采购,以及许多先进IC工艺技术的发展。从系统到逻辑门,任何硬件设计都可以用它在不同抽象层次上的操作来描述。在这个层次结构的每个级别上,总体输入和输出保持不变,但在详细的原理图的帮助下,不同部分的功能变得更加清晰
与软件版本相比,集成电路设计需要进行更复杂的计算,而且耗时较长。采用传统方法开发所需规格的微处理器等设计,将导致机器周期缩短、数据总线尺寸变化、成本降低和所有编号系统的实现。该系统实施后,主要问题是如何对其进行整合和优化。现场可编程门阵列(FPGA)技术和硬件描述语言(HDL)消除了这些问题。软件接口以及芯片设计和规划器降低了复杂性,提高了计算的便利性。
采用本文提出的设计方案,将64kb存储器与CPU接口,获得了最小的时延、时钟周期、路径时延。所提出的设计已经在一些与内存相关的操作(加载、存储、移动和分支)的应用程序中进行了测试。

技术工作准备

在系统的设计中,提出了多种工具。在本例中,微处理器使用目标和更广泛方面形式的综合操作进行砌块。图1所示。展示了需要实现的论文设计的组织结构:

a)系统概述

本论文的设计由独立的模块来表示。其中主要的重点是操作设计,软件设计和硬件设计。

操作概述

操作视图处理微处理器可以执行的各种操作。CPU(中央处理器)是计算机的“大脑”。它由数据路径、控制路径和存储单元等部分组成。在每个时钟周期,需要控制单元自动产生控制信号以操作数据路径。它是基于有限状态机的概念。处理器的控制单元基本上通过三个主要步骤进行循环,通常称为指令周期,即获取指令、解码指令和执行指令。第二部分涉及算术逻辑单元,它执行算术计算,如加、减、乘、除、增、减和逻辑函数,如与、或、异或、左移、右移等[7]。

软件概述

与系统中使用的VHDL软件接口,降低了系统的复杂性,并提供了系统的图形化展示。当用于系统设计时,VHDL的优势在于它允许在综合工具将设计转换为实际硬件(门和线)之前描述(建模)和验证(模拟)所需系统的行为。这样不仅可以进行编译,还可以产生波形结果。为了执行任何逻辑电路设计的编译和仿真,很少使用复杂的计算机辅助设计(CAD)工具,如Alteras II和Xilinx web pack。

硬件概述

微处理器的基本构建模块如图3所示。该模型实例化组件cpu和mem,并指定连接组件所需的信号,如下图所示。
组件内存是一种存储设备,包含CPU要执行的指令和数据。组件cpu是cpu器件的RTL实现,通过仿真验证其正确性并综合实现设计。它包括时钟信号、复位有效内存地址(VMA)、地址寄存器、就绪信号和操作所需的数据。最后一点是,当VHDL模型[11]被转换成映射到可编程逻辑设备(如CPLD或FPGA)上的“门和线”时,它就是实际的硬件配置,而不是像在某种形式的处理器芯片上那样“执行”VHDL代码。
指令寄存器用于存储从内存中取出的指令。程序计数器保存当前指令的内存地址。执行完一条指令后,程序计数器移动到下一条指令。如果有分支指令,程序计数器将加载下一条指令的地址。然后,控制单元将程序计数器的值复制到地址寄存器中,地址寄存器在地址总线中给出新的地址。将数据存储到存储器中的过程称为写,从存储器中检索数据或操作码的过程称为读。

实验结果

利用Xilinx软件(Version 9.1)对该处理器的VHDL代码进行了合成和仿真。给出了综合和仿真结果,并利用Xilinx ISE 9.1软件对代码进行了测试和校核。仿真结果与理论结果进行了比较。在模拟开始之前,指令和数据被写入并加载到内存中。具有内存的处理器进行算术和逻辑操作测试。当VHDL代码完全合成后,代码被加载到Spartan FPGA设备[8]。
此状态根据状态机建模执行,因为顺序流程将信号current_state设置为状态值reset1。这是CPU复位序列的第一个状态,它开始使CPU准备好执行指令的过程。如果复位信号不为“1”并且时钟信号有上升沿,则组合过程产生的下一个状态信号被复制到信号current _state中。这是状态机从一种状态推进到另一种状态的方法。复位信号被设置为除“1”以外的值后,状态机处于复位状态。移动进一步的控制传递到状态复位2,复位3,复位4,复位5,最后到复位6,取决于从存储器的就绪信号的值,要么留在reset6或写入存储器数据值注册InstrReg,并进入状态执行。
此时,状态机已经将CPU的状态重置为已知状态,并将第一条指令加载到寄存器InstrReg中。从这一点开始,状态机根据遇到的指令改变状态。
在上图中,执行加载指令。在这条指令的帮助下,数据从外部存储器加载到微处理器。加载指令可以是即时的,其中要加载的数据是指令的一部分。加载指令以状态机方式执行,其中当前状态从负载1开始,在负载6结束。
在上图中,执行了存储指令。在这条指令的帮助下,数据从微处理器加载到外部存储器中。
在此执行中,将数据与定义的值进行比较,如果条件为真,则控制跳转到定义的标签(地址),如果条件为假,则执行下一条指令。

分析报告

以下分析报告是使用Xilinx ise 9.2i进行合成和地图报告得到的:
该图显示了微处理器在整个操作执行过程中各模块的最大延时操作。
我们知道,扇出是输出可以安全连接的同类型门的最大输入数量。逻辑门输出的扇出是它可以馈电或连接的门的输入数量。输出的最大风扇输出量衡量其负载驱动能力。
合成报告包括切片总数、LUT、输入、输出块和缓冲区。附近地区:逻辑单元由查找表、触发器和与相邻单元的连接组成。LUT使用组合逻辑来实现一个4 i/p表达式。
片:一个逻辑片由两个逻辑单元组成。一个可配置的逻辑块由4个片组成。这种组合体系结构在最终系统中有很多好处,比如提高了逻辑执行的性能。

结论

在CPU中增加了一些额外的功能,如复加法,复乘法和其他逻辑运算等。可以添加一些其他模块,如定时器,计数器,中断,这可以增强处理器的功能。因为这个处理器是16位的,所以它能够访问16kb的外部内存。可以同时访问更多数量的输入输出设备。

表格一览

表的图标
表1

数字一览

图1 图2 图3 图4 图5
图1 图2 图3 图4 图5
图6 图7 图8 图9 图10
图6 图7 图8 图9 图10

参考文献












全球科技峰会