论文部分内容阅读
SOC内部集成的处理器,在设计前端表现为用HDL描述的RTL模型,即IP软核。本文在详细研究32位MIPS处理器体系结构的基础之上,分别用C语言和Verilog HDL对MIPS处理器进行软件建模和硬件建模,设计与32位MIPS指令集完全兼容的处理器。本文首先针对设计应用研究了微处理器体系结构设计的一些高级技术,如并行设计、高速缓存和分支预测等。然后详细介绍了MIPS32TM指令集及其软件编译流程,并在此基础上给出了CPU模拟器的设计方案。软件形式的CPU模拟器用于探索处理器体系结构的设计形式和辅助硬件设计。第五章是硬件建模的基础,首先给出了ASIC和SOC设计的一般流程,指出软硬件建模和FPGA验证在SOC设计中的极端重要性,随后介绍了Wishbone片上总线协议,并给出了本设计所使用的总线方案。本文第六章给出了MIPS32TM兼容处理器的硬件建模方案,包括寄存器组、算术逻辑单元、数据通道、控制器、存储系统和分支预测器等,分析了流水线的阶数对处理器性能的影响以及各种流水竞争的处理方法,给出了六级流水线数据通道、Cache和分支预测器的设计方案。本文最后给出了设计的验证方案,包括功能仿真和FPGA验证,还给出了基于该软核进行SOC设计与验证的方案。本文的主要成果是设计了一个CPU模拟器和三个版本的硬件模型,命名为OCMIPS,三者均为六级流水线,MIPS32TM指令集兼容,各版本的指令集见附录A。OCMIPS(V1.0)使用静态分支预测器,可运行C程序,通过了FPGA验证;OCMIPS(V2.0)集成动态分支预测器,可运行C程序,通过了功能仿真,可综合;OCMIPS(V3.0)集成动态分支预测器和二通道关联数据Cache,可运行汇编程序,通过了功能仿真,可综合。本文分析了经典五级流水线的时序瓶颈,采用六级流水线设计,相对五级流水线而言较大幅度的提高了CPU主频,在此基础上还对分支预测器和Cache的建模方法进行了有益的探索。OCMIPS(V1.0)核心用Synplify Pro 8.1综合,基于Xilinx Spartan3系列XC3S400芯片的最高频率为80MHz,占用3386个LUT(47%)。