当前位置:首页 > 单片机 > 单片机
[导读]1 引言设计研究适用于国防和民用需求的高性能、高精度的微处理器(MPU),已经变得十分重要和迫切。为了处理大量实数数据,并考虑计算精度和实时性,需要将MPU单独分离出来一部分进行浮点运算,像现在的高档数字信号

1 引言

设计研究适用于国防和民用需求的高性能、高精度的微处理器(MPU),已经变得十分重要和迫切。为了处理大量实数数据,并考虑计算精度和实时性,需要将MPU单独分离出来一部分进行浮点运算,像现在的高档数字信号处理芯片(DSP)都含有一个FPU,所以研制高性能的浮点运算单元IP具有重要意义[1]。

微程序的概念和原理是由剑桥大学数学教研室教授M.V.Wilks在1951年第一次提出的[2],但随后15年,由于控制存储器的问题制约了微程序技术的发展。由于LSI和VLSI   控制存储器的发展,微程序在微型机中已经开始起着重要作用。

微程序控制器的性能是提高处理速度的关键因素之一。本论文关于微程序控制器的研究是基于哈尔滨工业大学(威海)微电子中心32位FPU的设计,其采用了微指令控制的方法,用门级完成相关模块的设计,通过布局布线后的结果看出,该设计规模小、速度高,非常适合嵌入式应用。

2 微程序控制器的结构及设计

在微处理器中产生控制信号一般由微程序和状态机两种方法实现,其中微程序属于固件。微程序控制器输出的微指令用来控制整个FPU工作[3]。一条微程序一般由操作控制和顺序控制两大部分组成。控制部分用来管理和指挥FPU的工作[4]。微程序的顺序控制部分用来决定产生下一条微指令的地址。微程序控制器有其自身的优点,比如:具有规整性、灵活性和可维护性等一系列优点。本设计的微程序控制器的结构如图1所示。

微程序控制器主要包括三部分,用于产生下一条微指令的微地址生成模块、用于存储微指令的存储器(此为一块Rom)和用于指挥FPU工作的控制总线,其中主要是前两部分,下面分别给与介绍:

2.1 微地址生成模块介绍

微地址生成模块主要目的就是产生下一条微指令的地址。地址线宽为8bit,下一条微地址由如下几条产生(如图2所示):

1.ExcMiptr信号是用来选择由于一条FPU指令执行过程中产生各种异常(包括结果不精确异常、上溢、下溢和无效异常)对应的异常操作与控制的入口地址。

2.nextMiptr信号是用于选择一条FPU指令执行过程正常情况下,产生下一条微指令的地址。

3. RomEntry信号是用于根据FPU指令选择不同指令的入口地址,本设计把单精度和双精度的加、减、乘、除、乘加等指令设计有不同的控制入口地址。

4.RomMiptr信号是微地址默认的停靠地址,即在复位和FPU空闲时输出的默认地址

5.feedback信号是用于选择用于跳转微指令地址,例如在本设计中用于乘加、乘减指令的跳转控制。

如上这些地址信号的控制都来源于微指令的控制位。其中是否产生分支的控制如图3所示。


图3 微指令分支控制信号生成图

2.2微指令存储模块

本微指令控制器的存储模块,有8bit地址输入和64位数据输出用于管理和控制整个FPU工作。64位微指令是控制整个系统所用的控制信号,其功能与状态机相似,在本设计中通过微指令的[15:11]检测到数据处理过程中可能出现的状态,再根据不同的状态进行状态转换。下面把其中主要的几位列表如表1:


表1 微指令控制位

3.模块的实现及验证

微程序模块采用了从顶到下的(Top-down)设计方法,所有部件按照模块化思想设计成IP(Intellectual Property),明确模块间的接口信号时序,同时模块里的逻辑控制都是用门级设计,从而优化设计的性能。使用Synopsys公司的Design Compiler作为综合工具,用SMIC0.18微米工艺,综合出来的结果时钟频率266MHz。

系统采用硬件描述语言Verilog作为工作语言,使用Modelsim SE6.2完成整个仿真过程,仿真结果都完全符合IEEE754标准要求[5],能实现单精度和双精度的控制。完成后仿真并通过FPGA验证,这为将来流片打下了坚实的基础。

一般来讲,设计验证方法包括两大类:模拟的方法和形式化的方法。本设计采用模拟的方法。模拟验证环境如图3所示,运用基于断言的验证方法,主要分为三大部分:激励部分、待测模块和验证比较模块。


图3 模拟验证环境

一般情况下,激励的生成方法有两种:一类是直接激励生成;一类是随机激励生成。本设计两种方法都使用了,对于正常的加减乘除等运算采用了随机生成激励(约束性随机),而对于其他边角情况使用了直接激励,特别各种异常情况。辅助模块包括指数运算模块、尾数运算模块和符号运算模块。比较结果输出模块包括运用设计规范指定的结果与验证模块输出的结果进行比较。

4.结论

32位FPU中微程序控制器的设计经仿真验证证明它的功能是完全能满足IEEE754标准的FPU的控制功能。在设计中采用了多入口地址等提高微程序控制能力的方法。为了提高电路性能,使用门级设计方法。通过布局布线后的结果看出,该设计规模小、速度高,非常适合嵌入式应用。此微程序控制器可以在所有满足IEEE754标准的浮点处理器中使用,提高了设计的效率和可靠性,加快了设计周期。

本文作者的创新点:采用微程序控制的设计方法,同时采用门级设计方法,所以规模小,速度快。通过Modelsim仿真,完全满足符合IEEE754标准的浮点处理器的应用。

参考文献
[1]李六杏,周国祥.一种用于SOC中快速乘法器的设计[J].微计算机信息,2007,23,4-2:155-157.
[2]杨波,高德远. 微程序控制器的设计与实现[J],计算机工程与应用,2001,7:27-29.
[3]Intel: intel82C288 Series Reference [M]. 1984.50-61.
[4]David A.Patterson, John L. Hennessy, Computer Organazaiton & Design[M], Morgan Kaufmann Publishers, inc,2002 316-324
[5] ANSI/IEEE Standard 754-1985: IEEE Standard for Binary Floating-Point Arithmetic[M]. Poscataway, NJ: IEEE Press, 1985.
 

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

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

【2024年4月10日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)推出了业界首款-48 V宽输入电压数字热插拔控制器XDP700-002,扩展了其XDP™数字功率保护控制器系列...

关键字: 控制器 晶体管 5G

【2024年4月10日,德国慕尼黑和美国加利福尼亚州旧金山讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)宣布其OPTIGA™ Trust M安全控制器现...

关键字: 物联网 控制器 供应链

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板
关闭
关闭