一种8位嵌入式RISC MCU IP核数据通道模型设计
随着IC产业的发展,IP核的需求越来越高。微控制器MCU(Micro Control Unit)是嵌入式系统的核心,8位MCU IP核具有很高的通用性和灵活性,广泛地应用于工业控制、机械设备、家用电器以及汽车等各个领域。本文设计的MCU IP核与Microchip公司的PIC16C57完全兼容[1]。MCU IP核采用哈佛结构,内部单元可简化为时序控制和数据通道两部分。时序控制部分为数据通道提供控制信号,控制数据流动方向以及数据通路的选择,它是IP核的指挥中心;数据通道部分在控制部分的控制下,具体实现MCU IP核的指令功能,它是影响MCU性能、功耗等因素的关键,是整个芯片设计的重点。
本文在设计该款MCU IP核的数据通道部分过程中,提出了一种特定的数据通道模型;最后,通过对整个MCU IP核仿真综合,对该数据通道模型进行了验证。
1 数据通道模型及数据总线Verilog HDL模型
1.1数据通道模型结构图
本文设计的MCU数据通道模型包含各数据通道单元及单条双向数据总线。其中数据通道单元主要由特殊功能寄存器、通用寄存器及运算单元ALU等电路组成,每个通道单元还可再分为多个子通道单元。数据通道顶层模型如图1所示,数据主要在数据总线及各数据通道单元中流动,由一条双向数据总线完成每个数据组元的读写操作,充当每个组元源总线及目的总线双重功能,并由特定电路完成总线数据的读写操作。该数据通道模型的最大特点为:通过n个子通道选择信号,各数据通道单元内部可再分为n个子数据通道,由1/n译码器实现每一个时刻只有一条子通道选通。上层的数据通道控制信号仍然有效,作为子层数据通道的公共开关[2]。依次类推,该数据通道模型可以是多层的。数据通道层次模型如图2所示。


数据通道模型内数据的流动在时间轴上是时刻向前的,而数据流动的轨迹则呈现为相互环绕的螺旋形。
1.2 内部数据总线的Verilog HDL模型
数据通道模型中内部数据总线分别由三态门和多路选择器实现读写操作,使用特定的硬件描述语言Verilog HDL代码模型进行描述。对于挂接n个数据通道单元的m位数据通道内部数据总线,读、写两种操作的Verilog HDL代码模型分别表示如下[3]:

2 设计实现
本文以数据通道单元ALU为例介绍数据通道模型的层次结构。ALU是MCU IP核的运算单元,是数据的加工处理部件,是数据通道中最特殊的数据通道单元。它实现加、减、与、或、异或、非、左移、右移、半字节交换等九种运算,其中前五种是双操作数操作,其余四种是单操作数操作。对于双操作数操作,ALU数据通道单元一边采用两条两个源操作数数据通道,另一边采用一条目标操作数数据通道;而单操作数操作仅需开启一条源操作数数据通道。
