当前位置:首页 > 电源 > 数字电源
[导读]摘要:本文在对传统微控制器进行系统分析的基础上,提出了一种较好的改进设计方法。回避了传统微控制器基于累加器的ALU结构及算术逻辑指令:并在指令执行时序上尽量减少指令执行所需的时钟周期。通过仿真验证证明该设

摘要:本文在对传统微控制器进行系统分析的基础上,提出了一种较好的改进设计方法。回避了传统微控制器基于累加器的ALU结构及算术逻辑指令:并在指令执行时序上尽量减少指令执行所需的时钟周期。通过仿真验证证明该设计方法提高了指令的执行效率和微控制器的运行效率,同时避免了通常采用并行处理设计中多级流水线设计带来的内部复杂的控制逻辑设计。
关键字:微控制器;IP core;流水线

    在嵌入式系统的设计中,IP技术为SoC的设计提供了有效途径,是SoC的技术支撑。当然,在国内开发出具有自主知识产权的IP模块还面临着许多问题,如核心算法的优化、不同层次模块的建立、模块的可重用问题以及IP模块的标准化问题等。对于嵌入式处理器IP核,面对的挑战就是如何选择一个满足其应用需求的处理器。现已有数百种嵌入式处理器,每组都具备一组不同的外设、存储器、接口和性能特性,用户很难做出一个合理的选择。本文设计的微处理器的指令集与标准8051单片机完全兼容,这样有利于开发人员的使用。

1 总体设计方案的拟定
1.1 提出改进方案
    首先在对典型八位微处理器进行了详尽地剖析的基础上,指出在传统典型微处理器内核中制约微处理器整体性能的主要因素,然后提出以下改进方案:
    (1)微处理器的内核结构上,将乘、除法单元各自独立出来来完成算术逻辑指令中的乘、除法运算。这样可以回避传统典型微处理器基于累加器的ALU结构及算术逻辑指令,从而提高逻辑指令的执行效率。
    (2)在指令系统上,通过采用类RISC的指令系统和硬布线直接产生控制信号的方式来简化指令译码器的设计。同时为内核添加指令缓冲区、采用指令流水线技术、多管道并行执行指令。
    (3)指令时序上,设计中尽量减少指令执行所需的时钟周期,提高微处理器的运行效率。
1.2 总体设计思路
    根据IP core通用的设计方法,本文采用了标准的自顶向下的设计方法。就是根据系统级的内容,把系统划分为单元,然后再把每个单元划分为下一层次的单元,这样一直划分下去,直到最底层的单元可以用硬件描述语言进行设计,如图1所示;接着在完成各个模块设计的基础上完成系统级设计;然后进行整个系统的仿真验证;最后选用特定的FPGA芯片进行综合、布局布线以及功能后仿真。



2 各子模块的设计
2.1 ALU模块
    算术逻辑单元(ALU)是微控制器的核心部件,ALU的设计依赖于指令系统,ALU采用什么样的结构、设置那些功能都是建立在对系统指令集分析的基础上来完成。
    根据算术运算类指令可知,ALU单元主要要完成的功能有:带/不带进位加/减法、乘法、除法、十进制调整、逻辑运算以及布尔操作的实现。整个操作的完成是通过多路选择器控制来完成。因此,我们可以对整个ALU系统进行如图2划分,然后对各个子模块进行设计。


2.2 控制通路的设计
    本文中的控制通路由译码器模块和控制器模块两部分组成。这部分的设计是在对指令系统进行正确分析的基础上来完成。
    设计控制通路有两种主要的方法。微程序控制(或微序列控制)方式使用存储器查表方式来输出控制信号,而硬连线控制使用时序逻辑和组合逻辑来产生控制信号。硬件直接实现的控制单元一般用有限状态机实现,通常有较高的运算速度;但是通用性差,每个电路都必须专门设计控制单元。每一种方法都有一些变形形式。由于本文中微处理器的控制相对简单,所以在设计中采用了硬连线控制方法。[!--empirenews.page--]
    (1)控制器模块的状态机实现
    根据本文中多数输出要保持一个完整的时钟周期,此时钟周期内输出不能受时钟信号的影响,所以采用Moore型有限状态机来完成控制器模块的设计。整个控制模块的设计通过主状态机和子状态机两步来完成。注状态机模型如图3所示。


    以中断处理子状态机设计为例,对子状态机的设计进行说明,状态转换图如图4所示。


    (2)存储器模块的设计
    存储器是数字系统的重要组成部分,数据处理单元的处理结果需要存储,许多处理单元的初始化数据也需要存放在存储器中。本文的存储器结构,采用的是将程序存储器和数据存储器分开寻址的哈佛结构。同时又将数据存储器分为内部数据存储器和外部数据存储器两部分来设计。
    (3)中断系统设计
    本文中的中断系统在控制通路来完成,共提供了5个中断源,同时通过对中断优先级寄存器IP中的某位的置位或清除,可以把每个中断源分别编程为高优先级或低优先级。如表1所示。


    (4)定时器/计数器模块的设计
    定时器/计数器是微处理器中重要的外围模块,它主要是完成作为定时器和事件计数器的功能。在作为定时器工作时,每一个机器周期使定时寄存器加1计数。在作为事件计数器工作时,是对外部输入负跳变信号做加法计数,规定在每个机器周期的某一状态采样此信号,在前一个周期采样到“1”,后一个周期采样到“0”时计数加1,而在检测到跳变信号后的那个周期的下一个状态时,新的计数值装入计数寄存器。

3 系统综合、仿真验证与性能分析
    在整个微处理器IP核的设计过程中,利用可编程逻辑器件进行电路验证对于保证设计的正确性和投片成功十分重要。在FPGA的设计流程中包括三种基本的验证方法:HDL、RTL级描述仿真,门级仿真和布线后的时序仿真。具体验证流程如图5所示。仿真的目的就是要确认设计的正确性。如果出错的话,则通过分析仿真器的输出波形,找出出错的原因,并对原设计进行修改。

[!--empirenews.page--]
3.1 仿真验证
    验证方法:首先编写各种测试代码:然后转化为vhdl文件,再写入ROM模块;最后在仿真环境中运行IP核,完成对整个系统的全指令集测试。一般内部RAM和寄存器的值无法直接检测,可以通过多条指令将其输出到IP核的四个输出端口供检查。本文采用Model Tech公司的仿真工具Moledsim来进行功能仿真和时序仿真。


    图6是对基本子程序调用指令的测试仿真时序。包括子程序调用、传送、加法以及返回等指令。根据测试指令集,如果程序执行正确,那么在程序执行完后,输出端口P0口就会出现21H。
    测试指令集:MOV A,#20H;ACALL DELY;MOV P0,A;DELAY:INC A;MOVP0,A。
3.2 综合及综合结果分析
    本文中的综合及优化都是由综合工具SynplifyPro来完成的。利用Synplify Pro工具提供的逻辑综合与适配工具和设计的约束条件,可以方便的实现本文各模块的逻辑综合和布局布线。
    对于本文中的八位微处理器来说,由于它是一个非常复杂的数字逻辑电路,不仅包含大量的组合逻辑电路,而且包含了时序复杂的时序逻辑电路。通过逻辑综合估计整个系统超过一百万门,因此要用大容量的可编程逻辑器件来做电路验证。通过比较各种可编程逻辑器件的性能和结构特点(见表2),决定采用器件Xilinx Virtex2 XC2V1000bg575—6来完成本文的电路验证。


    综合结果分析主要是利用结构视图、综合报告分析综合结果是否满足时序要求,分析综合的频率、面积等信息。
3.3 性能分析
    本文的器件资源的占用情况如表3。 (由于内部存储器要占用很多的资源,故此表列出的是缩减内部内存后器件的资源占用情况)。


    将经过FPGA验证的MCU核与传统的微处理器做比较,可以看出,由于所设计的微处理器核是采用硬布线逻辑产生控制信号,所以其工作时钟频率要大大优于传统的微处理器。FPGA验证的结果是,工作时钟频率大于60MHz,是传统微控制器工作时钟频率的五倍;在每MHz时钟频率的指令执行效率指标上,所设计微处理器核的性能约为传统微控制器的12倍。这得益于微控制器内核采用类RISC指令结构,及设计指令执行周期的大大减小。

4 结束语
    由于整个微控制器内核都是采用可综合的VHDL语言描述,这使得该内核具有很好的可移植性、可重复利用性和实用性。也可以适当地拓宽数据总线的宽度,以减少内存访问的次数,从而提高指令执行效率。此外,还可借助EDA工具,方便地与AD/DA转换器、LCD显示驱动器、串行通信接口等外围功能模块综合成各种嵌入式控制系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭