论文部分内容阅读
自二十世纪八十年代美国因特尔公司推出80C51、80C52微控制器后,兼容MCS-51指令集的微控制器在八位微控制器中逐渐成为市场主流。最近十几年,随着MCS-51指令集专利的到期,各大芯片设计厂商也都在MCS-51指令集基础上推出了自己的八位微控制器。目前,市场上采用MCS-51指令集的微控制器指令执行效率通常低于20MIPS,这严重制约了该类微控制器在高速数据处理方面的应用。为了提高MCS-51指令集的执行效率,论文中采用多周期技术和流水线技术设计出了指令执行效率高达36MIPS的MCU IP核c8051.课题中采用两个真双端口八位ROM和两个单端口八位ROM设计出了c8051IP的程序存储器结构,以这种结构作为程序存储器的c8051 IP可以在一个时钟周期内取出每条指令的所有操作码和操作数,这样使得c8051 IP可以采用类似于MIPS的五级指令流水线来执行自己的指令,这大大提高了c8051 IP执行指令的效率。课题中设计的c8051 IP存储器结构采用数据总线和程序总线分离的双总线哈弗架构。其数据存储器由工作寄存器组、片内RAM和特殊功能寄存器三部分组成,这三部分的字节地址采用统一编码的方式。c8051 IP支持中断操作,在微控制器处理中断服务程序前,c8051 IP创新性的采用LCALL指令的数据通路和控制通路实现了对PC值的入栈操作。为了方便c8051 IP与外部芯片通讯,课题设计了针对c8051 IP的UART、SPI和I2C接口,这些接口模块都支持中断操作。为了对c8051 IP和各外设模块做完整的功能测试,本论文在linux环境下搭建了c8051IP单指令测试平台和benchmark测试平台。MCU单指令测试部分,采用System Verilog端口对MCU内核进行封装,同时在测试模块中插入System Verilog断言,实现了单指令自动化测试平台的搭建。在benchmark测试部分,通过perl脚本,配合Keil编译器,使用NCsim完成了对MCU的benchmark测试平台的搭建。