微控制器ip核的制作方法

文档序号:6585433阅读:208来源:国知局
专利名称:微控制器ip核的制作方法
技术领域
本发明涉及微控制技术,特别是一个8位、具有MCS51指令集体系结构的微控制器IP核。
背景技术
微控制器(Microcontroller)是指在一块硅芯片上集成中央处理器(CPU)、只读存储器(ROM)、随机存储器(RAM)和输入输出(I/O)接口,以执行存储在只读存储器(ROM)中指令来实现其控制功能。所以要实现某种特定的控制功能,不需要深入到硬件实现的细节中去,只需用软件形式编制程序存入存储器即可。微控制器可以实现多种、较复杂的控制功能,在数字系统尤其是工业控制领域和嵌入式系统中被广泛应用。而指令集体系结构(Instruction SetArchitecture)是指微控制器提供的所有的指令的集合,是微控制器的最本质特征。同一系列不同型号的微控制器的差异主要在存储器、输入输出接口的种类和数量上,而指令集体系结构则完全相同,甚至不同半导体厂商提供的微控制器指令集体系结构也相同,这样,用户编制的实现控制功能的程序可以不加修改地移植到具有相同指令集体系结构的其它型号的微控制器中。应用最广泛的指令集体系结构有Intel公司的MCS51结构、IBM公司的68HC08结构、MicroChip公司的PIC结构。微控制器按内部总线数量分为8位、16位、32位,其中应用最广的是8位微控制器。
片上系统(System On a Chip)是指中央处理器、数字信号处理器、存储器、模拟电路、信号采集和转换电路等集成在一块芯片上,实现系统的功能。以前的电子系统是将多块芯片集成在一块印制电路板上来实现系统的功能,随着微电子技术的发展,一块芯片内部可以集成比以往多得多的器件,将系统集成在在一块芯片上成为可能,因此出现了片上系统。由于片上系统的规模非常庞大,设计工作量很大,因此对已设计模块的重复使用非常必要,这就涉及到IP核的概念。IP核(Intellectual Property Core)直译作知识产权核,在集成电路领域指已经过验证的、可重复利用的、具有确定功能的集成电路模块。IP核分为三个层次硬件描述语言(VHDL或VerilogHDL)级的软核,逻辑网表级的固核,版图级的硬核。IP核的使用可以大大降低设计时间、成本,提高设计效率。据统计,现在百万门以上的芯片70%的模块(按逻辑门计算)是IP核的重复使用。微控制器IP核是指实现与微控制器相同功能的集成电路模块,它既可以作为模块用于片上系统,也可以独立封装成微控制器。
现有的8位、具有MCS51指令集体系结构的微控制器IP核有两种情况一种(以下简称第一种IP核)与Intel公司MCS51系列微控制器在时序上完全相同,完成指令以12个时钟周期为单位,大多数指令的完成要在12个或24个时钟周期,乘除法指令需要48个时钟周期。这样相当多的指令具有冗余的时钟周期,在这些周期中不做任何操作。另外一种(以下简称第二种IP核)是采取了精简指令集计算机(Reduce Instruction Set Computer,简称RISC)技术(主要是流水线技术)的高速IP核,这种IP核完成大多数指令只需要1到2个时钟周期,因此它的性能高于上述的第一种结构十倍左右。但是,这种结构的规模非常庞大,成本也高得多。

发明内容
本发明的目的是提供一个8位、具有MCS51指令集体系结构的微控制器IP核,这种微控制器IP核与现有技术中的第一种IP核相比不用太大的规模,减少第一种IP核的冗余时钟周期,使大多数指令可以在4个或8个时钟周期内完成。这样可以用比第一种IP核基本相当、比第二种IP核低得多的规模和成本,取得第一种IP核2.5倍左右的性能。
本发明的具体技术方案如下本发明所述的微控制器IP核的指令集体系结构与MCS51结构完全兼容,包括数据存储器、程序存储器、特殊功能寄存器组、寄存器控制与寻址和程序计数器、输入输出端口、串行通信端口、定时计数器、算术逻辑单元、中断控制器,其特征在于所述的一个8位且具有MCS51指令集体系结构中的指令在4个或8个时钟周期内完成。
本发明所述的微控制器IP核的工作流程如下程序的指令以二进制码形式存在程序存储器中,其地址线接收来收程序计数器的输入,并通过地址线把指令送到寄存器控制与寻址模块,在寄存器控制与寻址模块中经过指令译码形成控制信号,实现对其它模块的控制;指令操作的对象主要是数据存储器和特殊功能寄存器组,比较典型的过程是从数据存储器或者特殊功能寄存器组读数据,经过算术逻辑单元等处理部件实现对数据的处理,并将处理后数据写回到数据存储器或特殊功能寄存器组;特殊功能寄存器组中的各个特殊功能寄存器存储了串行通信端口、定时定数器、不断控制器所需要的信息,这些特殊功能寄存器一方面接收寄存器控制与寻址模块送来的数据作为串行通信端口、定时计数器和中断控制器的控制信息,另一方面将串行通信端口、定时计数器和中断控制器工作过程中产生的状态信息保存起来,等候寄存器控制与寻址模块的访问;串行通信端口与外部进行串行通信,其内部的发送缓冲器接收寄存器控制与寻址模块送来的数据,并将这些数据发送到外部,内部的接收缓冲器从外部接收数据;在发送数据和接收数据完毕后,串行通信端口发出中断申请信号,经过中断控制器提示寄存器控制与寻址模块送入新的数据以发送或将接收到的数据读走;定时计数器实现定时和计数,寄存器控制与寻址模块向定时计数器写入初代值或清零,定时计数器开始自加1,直到溢出,并通过中断控制器发出中断信号,提示寄存器控制与寻址模块所定时时间已到或所需计数的次数已够。
本发明所述的数据存储器的作用是存储数据,寄存器控制与寻址和程序计数器通过内部数据总线从该模块读出原始数据,并将处理后的数据通过内部数据总线写回该模块,其设计容量为256字节。
本发明所述的程序存储器的作用是存储程序,寄存器控制与寻址和程序计数器从该模块读出程序的每一条指令的操作码和操作数,然后执行指令,其设计容量为8K字节。
本发明所述的特殊功能寄存器组用于实现对包括定时计数器、串行通信端口、中断等在内的功能模块的控制,该模块从寄存器控制与寻址和程序计数器接收方式控制信号以确定功能模块的工作方式,并在功能模块工作过程中将状态标志送回寄存器控制与寻址和程序计数器。
本发明所述的寄存器控制与寻址和程序计数器用于实现对两类存储器(程序、地址)和特殊功能寄存器组的控制和寻址,并向整个系统送出控制信号。
本发明所述的输入输出端口用于接受寄存器控制与寻址和程序计数器的控制,以并行方式从外部接收数据或向外部发送数据,具有4组8位输入输出端口。
本发明所述的串行通信端用于接受寄存器控制与寻址和程序计数器的控制,以串行方式从外部接收数据或向外部发送数据,共有四种工作方式。
本发明所述的定时计数器用于接受寄存器控制与寻址和程序计数器的控制,进行计数和定时,包括三个16位,四种工作方式。
本发明所述的算术逻辑单元用于接收寄存器控制与寻址和程序计数器通过内部数据总线发送的数据,实现加、减、乘、除、二——十进制调整等算术运算和与、或、异或、移位、清零、取反、高四位与低四位交换等逻辑功能,将结果送回数据总线。
本发明所述的中断控制器用于实现中断控制。对外部和内部的中断请求进行优先级排序,导入中断,并清零中断标志位。
本发明的设计实现方式是使用RTL(寄存器传输级)VHDL设计上述结构模块,在FPGA(现场可编程门阵列)上实现。
本发明的基本原理是不等待冗余时钟周期,直接从程序存储器读出下一条指令,从而能提高工作速率的。
本发明与标准的MCS51指令集体系结构兼容,但在时序方面,指令执行时间单位原来的12个时钟周期改为4个时钟周期,各条指令所包含的指令执行时间单位数作相应的改变,这样,在汇编代码和时钟频率均相同的情况下,每一条指令的执行速率可提高到原速率的1.5倍、2倍、2.4倍、3倍不等,考虑到各条指令的使用频率,平均执行速率大致是原平均速率的2.5倍。这种改进的结构工作在30MHz的指令执行速率相当于第一种微控制器工作在75MHz的指令执行速率,可以满足工作速率要求更高的场合,而成本与第一种IP核相差无几,远低于第二种IP核。
附图及图面说明

图1本发明所述的微控制器的内部结构框2本发明所述的片上系统方案的语音处理芯片中的控制逻辑框图
具体实施例方式本发明所述的微控制器IP核的指令集体系结构与MCS51结构完全兼容,包括数据存储器、程序存储器、特殊功能寄存器组、寄存器控制与寻址和程序计数器、输入输出端口、串行通信端口、定时计数器、算术逻辑单元、中断控制器,具体是一个8位中央处理器(CPU),具有位寻址功能且适于布尔处理的位处理机、64K程序寻址空间、64K数据寻址空间、8K字节片内程序存储器、256字节片内数据存储器、3个16位的定时器/计数器、1个全双工串行口、具有2优先级的6个中断源的中断结构,其特征在于所述的一个8位且具有MCS51指令集体系结构中的指令在4个或8个时钟周期内完成。
本发明所述的微控制器IP核的工作流程如下程序的指令以二进制码形式存在程序存储器中,其地址线接收来收程序计数器的输入,并通过地址线把指令送到寄存器控制与寻址模块,在寄存器控制与寻址模块中经过指令译码形成控制信号,实现对其它模块的控制;指令操作的对象主要是数据存储器和特殊功能寄存器组,比较典型的过程是从数据存储器或者特殊功能寄存器组读数据,经过算术逻辑单元等处理部件实现对数据的处理,并将处理后数据写回到数据存储器或特殊功能寄存器组;特殊功能寄存器组中的各个特殊功能寄存器存储了串行通信端口、定时定数器、不断控制器所需要的信息,这些特殊功能寄存器一方面接收寄存器控制与寻址模块送来的数据作为串行通信端口、定时计数器和中断控制器的控制信息,另一方面将串行通信端口、定时计数器和中断控制器工作过程中产生的状态信息保存起来,等候寄存器控制与寻址模块的访问;串行通信端口与外部进行串行通信,其内部的发送缓冲器接收寄存器控制与寻址模块送来的数据,并将这些数据发送到外部,内部的接收缓冲器从外部接收数据;在发送数据和接收数据完毕后,串行通信端口发出中断申请信号,经过中断控制器提示寄存器控制与寻址模块送入新的数据以发送或将接收到的数据读走;定时计数器实现定时和计数,寄存器控制与寻址模块向定时计数器写入初代值或清零,定时计数器开始自加1,直到溢出,并通过中断控制器发出中断信号,提示寄存器控制与寻址模块所定时时间已到或所需计数的次数已够。
本发明所述的数据存储器的作用是存储数据,寄存器控制与寻址和程序计数器通过内部数据总线从该模块读出原始数据,并将处理后的数据通过内部数据总线写回该模块,其设计容量为256字节。
本发明所述的程序存储器的作用是存储程序,寄存器控制与寻址和程序计数器从该模块读出程序的每一条指令的操作码和操作数,然后执行指令,其设计容量为8K字节。
本发明所述的特殊功能寄存器组用于实现对包括定时计数器、串行通信端口、中断等在内的功能模块的控制,该模块从寄存器控制与寻址和程序计数器接收方式控制信号以确定功能模块的工作方式,并在功能模块工作过程中将状态标志送回寄存器控制与寻址和程序计数器。
本发明所述的寄存器控制与寻址和程序计数器用于实现对两类存储器(程序、地址)和特殊功能寄存器组的控制和寻址,并向整个系统送出控制信号。
本发明所述的输入输出端口用于接受寄存器控制与寻址和程序计数器的控制,以并行方式从外部接收数据或向外部发送数据,具有4组8位输入输出端口。
本发明所述的串行通信端用于接受寄存器控制与寻址和程序计数器的控制,以串行方式从外部接收数据或向外部发送数据,共有四种工作方式。
本发明所述的定时计数器用于接受寄存器控制与寻址和程序计数器的控制,进行计数和定时,包括三个16位,四种工作方式。
本发明所述的算术逻辑单元用于接收寄存器控制与寻址和程序计数器通过内部数据总线发送的数据,实现加、减、乘、除、二——十进制调整等算术运算和与、或、异或、移位、清零、取反、高四位与低四位交换等逻辑功能,将结果送回数据总线。
本发明所述的中断控制器用于实现中断控制。对外部和内部的中断请求进行优先级排序,导入中断,并清零中断标志位。
本发明可用于一个采取片上系统方案的语音处理芯片中,实现对各模块的控制功能。在这个芯片中,音频输入输出完成未处理语音信号的输入和处理后语音信号的输出,语音信号处理器对前者送入的信号进行处理,存储器存放处理过程中需要存储的临时数据,胶合逻辑对内部的一些小模块进行互连,微控制器IP核实现对该芯片各模块之间协同工作的控制。
本发明也可以单独封装成芯片作为微控制器使用。
权利要求
1.微控制器IP核,包括数据存储器、程序存储器、特殊功能寄存器组、寄存器控制与寻址和程序计数器、输入输出端口、串行通信端口、定时计数器、算术逻辑单元、中断控制器,其特征在于所述的一个8位且具有MCS51指令集体系结构中的指令在4个或8个时钟周期内完成。
2.根据权利要求1所述的微控制器IP核,其特征在于所述的微控制器IP核的工作流程如下程序的指令以二进制码形式存在程序存储器中,其地址线接收来收程序计数器的输入,并通过地址线把指令送到寄存器控制与寻址模块,在寄存器控制与寻址模块中经过指令译码形成控制信号,实现对其它模块的控制;指令操作的对象主要是数据存储器和特殊功能寄存器组,比较典型的过程是从数据存储器或者特殊功能寄存器组读数据,经过算术逻辑单元等处理部件实现对数据的处理,并将处理后数据写回到数据存储器或特殊功能寄存器组;特殊功能寄存器组中的各个特殊功能寄存器存储了串行通信端口、定时定数器、不断控制器所需要的信息,这些特殊功能寄存器一方面接收寄存器控制与寻址模块送来的数据作为串行通信端口、定时计数器和中断控制器的控制信息,另一方面将串行通信端口、定时计数器和中断控制器工作过程中产生的状态信息保存起来,等候寄存器控制与寻址模块的访问;串行通信端口与外部进行串行通信,其内部的发送缓冲器接收寄存器控制与寻址模块送来的数据,并将这些数据发送到外部,内部的接收缓冲器从外部接收数据;在发送数据和接收数据完毕后,串行通信端口发出中断申请信号,经过中断控制器提示寄存器控制与寻址模块送入新的数据以发送或将接收到的数据读走;定时计数器实现定时和计数,寄存器控制与寻址模块向定时计数器写入初代值或清零,定时计数器开始自加1,直到溢出,并通过中断控制器发出中断信号,提示寄存器控制与寻址模块所定时时间已到或所需计数的次数已够。
3.根据权利要求1或2所述的微控制器IP核,其特征在于所述的数据存储器是存储数据,具有位寻址功能且适于布尔处理的位处理机中的寄存器控制与寻址和程序计数器通过内部数据总线连接,从该模块读出原始数据,并将处理后的数据通过内部数据总线写回该模块。
4.根据权利要求3所述的微控制器IP核,其特征在于具有位寻址功能且适于布尔处理的位处理机的设计容量为256字节。
5.根据权利要求1或2所述的微控制器IP核,其特征在于所述的8K字节片内程序存储器是存储程序,具有位寻址功能且适于布尔处理的位处理机中的寄存器控制与寻址和程序计数器从该模块读出程序的每一条指令的操作码和操作数,然后执行指令。
6.根据权利要求5所述的微控制器IP核,其特征在于具有位寻址功能且适于布尔处理的位处理机的设计容量为8K字节。
7.根据权利要求1或2所述的微控制器IP核,其特征在于所述的特殊功能寄存器组用于实现对包括定时计数器、串行通信端口、中断等的功能模块的控制,该模块从寄存器控制与寻址和程序计数器接收方式控制信号以确定功能模块的工作方式,并在功能模块工作过程中将状态标志送回具有位寻址功能且适于布尔处理的位处理机中的寄存器控制与寻址和程序计数器。
8.根据权利要求1或2所述的微控制器IP核,其特征在于所述的寄存器控制与寻址和程序计数器用于实现对两类存储器(程序、地址)和特殊功能寄存器组的控制和寻址。并向整个系统送出控制信号,具有4组8位输入输出端口。
9.根据权利要求1或2所述的微控制器IP核,其特征在于所述的输入输出端口用于接受寄存器控制与寻址和程序计数器的控制,以并行方式从外部接收数据或向外部发送数据。
10.根据权利要求1或2所述的微控制器IP核,其特征在于所述的串行通信端用于接受寄存器控制与寻址和程序计数器的控制,以串行方式从外部接收数据或向外部发送数据。
11.根据权利要求1或2所述的微控制器IP核,其特征在于所述的定时计数器用于接受寄存器控制与寻址和程序计数器的控制,进行计数和定时。
12.根据权利要求1或2所述的微控制器IP核,其特征在于所述的算术逻辑单元用于接收寄存器控制与寻址和程序计数器通过内部数据总线发送的数据,实现加、减、乘、除、二——十进制调整等算术运算和与、或、异或、移位、清零、取反、高四位与低四位交换等逻辑功能,将结果送回数据总线。
13.根据权利要求1或2所述的微控制器IP核,其特征在于所述的中断控制器实现中断控制,对外部和内部的中断请求进行优先级排序,导入中断,并清零中断标志位。
全文摘要
本发明涉及微控制技术,特别是一个8位、具有MCS51指令集体系结构的微控制器IP核,包括数据存储器、程序存储器、特殊功能寄存器组、寄存器控制与寻址和程序计数器、输入输出端口、串行通信端口、定时计数器、算术逻辑单元、中断控制器,其特征在于所述的一个8位且具有MCS51指令集体系结构中的指令在4个或8个时钟周期内完成,本发明在满足相应性能下不用太大的规模,减少冗余时钟周期,规模和成本小。
文档编号G06F9/22GK1508672SQ0212803
公开日2004年6月30日 申请日期2002年12月16日 优先权日2002年12月16日
发明者杨鹤, 吕永其, 虞睿, 杨 鹤 申请人:中国电子科技集团公司第三十研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1