论文部分内容阅读
本研究的目的是进行64位的精简指令集中央处理器的前端硬件设计,并将此设计在FGPA上实现以通过实际的电路验证。在微处理器的硬件设计中,首先进行电路所要完成的功能的分析,以指令译码单元电路为例,它应能够依照不同的二进制指令码进行译码并发出相应的控制信号来控制不同功能单元电路的动作。在对精简指令集处理器的体系结构做深入分析的基础上,划分不同的功能单元。从整体方面来说,整个微处理器大致分为BIU(总线接口单元)、IDU(指令译码单元)、ALU(算术逻辑单元)、MMU(存储管理单元)等等。在这些较大的功能单元中又包含一些较小的功能单元,比如在算术逻辑单元中又包含了加法运算单元、乘除运算单元以及逻辑运算单元等。在具体的电路设计中,我们采用自顶向下的方法对处理器进行模块化的划分,整个处理器被划分为许多个较小的功能模块,这样划分的目的是为了减小设计的复杂程度以便于在设计的早期发现错误。在明确了系统级的总体规划以及设计层次的划分以后,我们从系统的最底层开始进行数字逻辑电路的设计。数字逻辑设计采用Verilog HDL(Verilog硬件描述语言)进行,首先写出数字逻辑电路的行为级描述,然后利用电路仿真软件对所写的行为级描述做功能仿真。若描述正确则可进行下一步的设计。同一层次的各个模块互连构成了这一层次的硬件结构,仿真可以在设计的各个层次进行。最后,由最底层开始将功能模块连接起来并自底向上构成整个系统级的设计。为了保证设计的正确性,仿真应在设计的各个层次上进行,并最终做系统级仿真以及电路验证。电路验证使用FPGA(现场可编程门阵列)进行,将整个处理器的硬件描述源代码输入FPGA开发工具进行综合、排错、时序仿真等工作,最后将所生成的位流文件下载到FPGA。在电路验证的过程中,我们发现了一些设计上的错误。经过反复的测试和修改,此FPGA验证系统可以稳定的运行Windows CE嵌入式操作系统以及其上的应用程序,如WORD、MP3播放器等等。 就集成电路设计的整个流程而言,完成电路验证的工作意味着前端设计的完成。而集成电路的后端设计包括了版图设计和验证,它们不在本论文的讨论范围之内。