当前位置:首页 > EDA > 电子设计自动化
[导读]介绍基于RISC技术的8位微控制器的设计与实现。

    摘要:介绍基于RISC技术的8位微控制器的设计与实现。主要包括RISC指令集的选取;取指单元、译码单元、执行单元的设计;取指、译码、回写三级流水线技术的实现。该微控制器包含8级硬件堆栈、1个8位计数器、1个计数器溢出中断、2个外部中断源、8位数据输入和输出端口、16个通用寄存器、2K×16位的程序存储器、512字节的数据存储器。设计使用可综合的Verilog语言描述, QuartusⅡ软件仿真,FPGA器件验证实现。

    关键词:RISC Verilog 8位微控制器 FPGA

引 言

??随着微电子技术的不断发展,超大规模集成电路的集成度和工艺水平不断提高,将整个应用电子系统集成在一个芯片中(SoC),已成为现代电子系统设计的趋势;以往高复杂度、高成本的嵌入式系统结构能够通过低成本的单片芯片实现。另一方面,复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)集成度和速度不断提高,功能不断增强,开发人员可以使用高性能的EDA综合开发工具和硬件描述语言(HDL)在短时间内设计出复杂的电子应用系统。目前,嵌入式系统已经在各行各业得到广泛应用。工控、通信、汽车、航空航天以及军事等各个领域都能看到嵌入式系统的身影,而微控制器(MCU)则是嵌入式系统的核心。

1 精简指令集计算机(RISC)

    1.1 RISC的结构特征和设计原则

  精简指令集计算机具有单周期单指令,存储器到寄存器的操作,简单的寻址方式和简单的指令格式的结构特征,其设计原则为:

① 选择使用频率高的指令,补充少量高效指令;

② 指令的结构简单,所有指令长度相等;

③ 采用流水线技术,尽量使CPI = 1;

④ 使用Load/Store操作指令访问存储器;

⑤ 采用通用寄存器(GPR)结构;

⑥ 优化编译,提高执行效率。

1.2 性能因子CPI和执行时间

  性能因子是指微控制器每条指令的平均时钟周期数CPI(Cycles Per Instruction):

  程序总的执行时间t为:

  执行时间是微控制器性能的主要指标。在影响t的三个因素中,时钟频率取决于硬件技术;CPI与指令集和MCU的组成结构有关;而指令数由指令集和编译技术决定。要使微控制器的性能得到提高,优化指令集、减少程序的总指令数和降低CPI值是设计主要考虑的问题。

2 微控制器的系统结构

  图1所示的微控制器主要由以下几个模块组成:

  ① PROM程序存储器单元(Program ROM)。程序存储器容量为2K×16位。系统复位后,程序计数器PC指向程序存储器000H单元,程序从000H处开始执行。

  ② IDEC指令译码单元(Instruction Decoder)。指令译码器对输入的16位宽指令进行译码,输出寄存器、数据存储器的地址和读/写控制信号。

  ③ ALU算术逻辑运算单元(Arithmetic Logic Unit)。ALU单元是MCU数据处理的核心部分,数据宽度为8位,具有加、减、逻辑运算和移位功能。ALU单元有2个8位的数据输入和1个8位数据输出,1位进位输入,1位进位标志输出和零标志输出。运算操作码输入为4位,由译码单元提供。

  ④ REGS寄存器单元(Register)。1组16个8位寄存器,用于数据的高速存取。寄存器组具有2个数据输出端口和1个数据输入端口,读和写地址分开,可同时进行读/写操作。

  ⑤ DRAM数据存储器单元(Data RAM)。包含4段共512字节(每段128字节)的数据存储器,直接寻址能力为128字节,间接寻址能力为256字节,由程序状态控制寄存器PSW的高2位控制段选地址。

  ⑥ CTRL控制单元(Control Unit)。整个MCU的控制中心,主要控制流水线操作、数据总线的控制和程序计数器的转移。另外,还包括中断、计数器和堆栈控制。

  ⑦ 其它。定义了1组数据输入端口、2组数据输出端口,数据位宽均为8位;2个外部中断输入INT0和INT1;1个8位计数器TIMER;7级程序堆栈Stack,可实现7级子程序调用;1个8位的程序状态控制寄存器PSW。各位功能如表1。

表1 PSW各位功能

PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
RAM段选 RAM段选 进位CIN 保留 INT1中断允许 计数器溢出中断 INT0中断允许 启/停计数器

3 流水线技术

    3.1 三级流水线结构

  微控制器采用取指(IF)、执行(EX)、回写(WB)三级流水线结构,如图2。各阶段的主要功能为:

取指级——从程序存储器中取出一条指令,同时进行指令译码,准备寄存器、存储器的读地址,读/写控制信号;

执行级——数据输入ALU单元运算,同时准备寄存器或存储器的写地址;

回写级——将ALU输出的运算结果写入寄存器或存储器中。

3.2 流水线竞争及解决

  控制竞争,由程序PC 指针值的改变引起。当执行跳转指令时,PC指针值要到执行级才能改变,这将会使下一拍的取指操作出错。这时必须由硬件插入一条空操作NOP指令,等待PC指针的值改变后再取下一条指令。

  数据竞争,由指令间数据相关引起。存储器访问存在先写后读相关(read after write),前一条指令的写操作要到回写级才能完成。若紧接的下一条指令需要读取同一地址的内容时,必须使用旁路(bypassing)技术,从ALU的输出结果直接反馈到ALU的输入端供下一条指令的执行级使用。

4 指令集和指令格式

  微控制器指令长度为16位定长,操作码采用可变长结构。操作码长有4位(立即数运算)、5位(跳转,寄存器-存储器运算)或8位(寄存器-寄存器运算)。支持的指令覆盖了最基本的MOV、ADD、SUB、AND、OR、 XOR指令,以及移位、各种跳转指令等。指令集中可不含清零、取反、自增和自减指令,因这些指令可由AND、 XOR、ADD、SUB指令代替。在51系列单片机中, 累加器的清零、取反、自增和自减运算(单周期)比累加器-立即数的逻辑运算(双周期)快;而在实现了单周期单指令的RISC微控制器中,可用相应的逻辑运算指令实现寄存器的清零、取反、自增和自减操作,对性能没有影响。

图3

5 逻辑综合、仿真和硬件实现

  所有模块均在Altera 公司的Quartus II 2.1上进行逻辑综合、仿真测试通过,并在支持存储器的 FLEX10KE系列FPGA器件上验证实现。逻辑综合结果为969个LE数(Logic Elements)。以下是一简单程序,仿真波形如图3。

000: ADD R1,#01H ;指令为1101H,R1对应Pb输出

001: MOV R2,Pa ;指令为FE62H,R2对于Pc输出

002: JMP 000H ;指令为C000H,循环跳转

  从仿真波形上可以清楚看到程序执行时PC指针的改变、Pb口自增及Pa口的数据传到Pc口的过程,也可大致看出程序的取指、执行、回写三级流水的执行过程。同时还可看到在执行跳转指令JMP后自动插入一条空操作NOP指令(FFFFH)。

    注:源代码见网站www.dpj.com.cn。

结 语

  从逻辑综合与仿真测试的结果看,该微控制器完全达到了设计指标。设计的关键是三级流水线的实现和数据总线的控制。设计使用Verilog 语言描述,可读性好,易于增减资源和修改功能,可方便地应用于嵌入式系统中。由于时间仓促和水平有限,许多问题未能考虑,不足之处恳请读者赐教。

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

全新Balletto™系列无线MCU基于Alif Semiconductor先进的MCU架构,该架构具有DSP加速和专用NPU,可快速且低功耗地执行AI/ML工作负载

关键字: 处理器 微控制器 AI

2024年4月10日 –提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售NXP Semiconductors的MCX工业和物联网微控制器...

关键字: 微控制器 电机控制 机器学习

中国上海–2024年4月9日–在追求创新的道路上,英飞凌(Infineon)再次领导行业,推出突破性的PSoC™ 4000T 微控制器。全球知名的电子元器件授权代理商富昌电子(Future Electronics)现为各...

关键字: 微控制器 电容式传感板

开放计算项目(OCP)是一个非营利组织,专注于推动各企业在数据中心产品设计及最佳实践方面加强交流。近日,该组织发布了开放机架第三版(ORV3)规范。规范中比较显著的变化在于设计架构从12 V迁移到了48 V。本系列文章重...

关键字: 微控制器 电池 开放计算

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

2024年3月26日,中国-- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了一项基于 18 纳米全耗尽绝缘体上硅(FD-SO...

关键字: 处理器 微控制器 存储器

新竹,台湾,2024年3月20日 - 随着工业5.0、人工智能和物联网应用的不断扩展,市场对多样化MCU产品的需求日益增加。新唐科技致力于强化MCU多元应用战略布局,在各类垂直领域中进行了规格的优化。从入门级到高性能产品...

关键字: 微控制器 工业控制 人工智能
关闭
关闭