论文部分内容阅读
随着集成电路设计能力和制造能力的进步,系统芯片设计规模越来越大,功能也越来越复杂,功能验证已经成为制约系统芯片开发的重要因素。FPGA(FieldProgrammableGateArray)原型验证是重要的功能验证方法,其相对软件模拟运行速度更快,相对工程样片实现成本更低、开发周期更短。在微处理器研发中,FPGA原型可有效支持处理器的软硬件协同开发验证任务。 FPGA资源有限以及调试可见性低是大规模系统芯片FPGA原型设计的难点。本文基于北京大学微处理器研究开发中心研发的UniCore-3超标量多核处理器,调研了三款x86处理器FPGA原型系统,使用多片FPGA完成了基于UniCore-3处理器的PKUnity-4D系统芯片FPGA原型验证系统的设计和实现,主要内容包括: 1.分析UniCore-3处理器FPGA原型验证系统的软硬件需求。主要需要设计实现UniCore-3处理器FPGA原型硬件和裸机环境的程序加载、启动以及基准程序系统调用的处理软件。 2.实现UniCore-3处理器FPGA原型验证系统。评估处理器FPGA资源使用率,实现基于三片XilinxVirtex-5XC5VLX330的多片FPGA原型,逻辑资源使用率分别为73%、74%和99%。根据处理器结构和原型主板的特点手动完成设计划分,采用时分复用方式使用286位物理互连线完成2848位逻辑互连信号的传输。 3.优化原型验证系统的工作频率和调试可见性。通过重点分析系统时钟域关键路径、传输时钟域关键路径、时钟频率比等限制多片FPGA原型工作频率的因素,设计实现了4种优化方案,将片间传输频率提升到120MHz,并将原型验证系统工作频率由3.75MHz提升至10MHz。另外通过增设处理器指令可配置的调试电路,改进了一次综合后原型系统的信号可见性。 4.设计实现了一套在UniCore-3处理器原型验证系统上运行基准程序的机制。在裸机环境运行基准程序的难点之一是如何处理系统调用。本文利用处理器调试JTAG接口,调用调试主机提供的系统调用服务,成功运行了Dhrystone、Whetstone和SPECCPU2000定点基准程序,并对处理器性能进行了评测。此外,还实现了一种静态系统调用处理机制以优化基准程序运行时间,实验结果表明系统运行twolf评测程序的性能改进了45%。