论文部分内容阅读
虽然随着生产工艺的进步,32位定点DSP处理器的市场比重逐渐增加,但是根据统计,目前销售的DSP处理器80%以上仍属于16位定点DSP处理器。由此可见16比特的定点DSP处理器仍拥有较大的市场,尤其是在对于成本和功耗敏感的应用场合更有其优势。在浙江省重大科技计划支持下,我们开发了16位定点数字信号处理器MediaDSP1601。本文作为部分研究成果,着重探讨了16位定点DSP处理器的流水结构设计,解决了采用深度压缩指令集的DSP处理器竞争检测和消除问题,和开发了功能仿真验证平台。 基于IP核的DSP处理器设计可以很有效得缩短处理器的开发周期,但是这些IP核的有效利用和控制成为一大难点。本文提出的集中控制分散响应的DWC策略以流水级扩展为例,说明DWC策略有利于流水结构设计的快速调整,基核顶层模块的代码修改率仅为0.90%,流水控制单元的代码修改率也只有4.31%。而且,DWC策略还有效地均衡了流水控制单元对各个流水级的控制延时,控制信号延时的方差仅为0.1145。 DSP处理器引入流水结构不可避免地会导致各种竞争问题的出现,使得处理器无法达到理想的CPI值。为了开发处理器的并行性和减少存储空间,DSP处理器采用了深度压缩指令集,但是这类指令集将加剧流水结构竞争的出现频率。基于对深度压缩的指令进行特点分析,结合深度压缩指令较规整指令难于作数据相关性检测的特点,本文提出了一种分类检测数据竞争检测方法,它在分层译码和旁路电路作辅助下,按指令的功能进行并行分类检测。实验结果证明这种方法不仅能及时检测出数据竞争,产生流水线停顿信号,能准确定位出产生数据竞争的指令类型,而且比全译码后作数据竞争检测速度提高了18.89%。 随着DSP处理器的功能越来越强大,设计的复杂度越来越高,相应的验证也就越来越困难。本文介绍了一种软硬件协同仿真的DSP处理器验证平台。这个验证平台由指令集全集完备性测试子平台、代码高覆盖率测试子平台、形式验证子平台和基于FPGA的硬件仿真子平台组成。指令集全集完备性测试子平台采用了分解指令格式,遍历指令树的方法,保证该平台产生的测试程序能够以最小的测试矢量验证所有合法的指令,实验结果证明这些测试程序的Statement Coverage接近于100%。基于状态机遍历的验证方法代码高覆盖率测试子平台,专门针对流水结构DSP处理器的流水机制和复杂的流水控制单元,通过衡量测试程序的状态机覆盖率,来确保对流水结构的充分的验证。实验结果证明用这种方法生成的测试程序有100%的状态机覆盖率,是DSP常用应用程序的4.2~6.9倍,相应的statement coverage和branch coverage达到了89%和93%,均高于其他的应用程序。形式验证子平台保证了经过逻辑综合和物理综合后的网表与RTL,代码描述网表的功能上一致性。基于FPGA的硬件仿真子平台,从物理上验证了设计的正确性,为一次流片成功作了最后一道验证,大大减少了流片的风险。四个验证子平台紧密结合,进一步提高了验证的完备性,自动性和可靠性。 本文的各种设计思想被成功地应用到由浙江省重大科技计划支持的16位定点数字信号处理器MediaDSP1601的开发中,其频率性能完全达到指标。经芯片流片后测试证明,该DSP处理器的架构设计的正确性和可靠性,验证平台的灵活性和全面性。