论文部分内容阅读
随着半导体技术和系统设计技术的发展,以IP核为基础的集成电路设计形式得到极大的重视和长足的发展,同时32位嵌入式RISC处理器已成为高中端嵌入式应用和设计的主流。在参与设计兼容ARM指令集的RISC CPU过程中,本文重点对运算模块和整个CPU软核的可测性进行了设计。整个设计从总体结构到局部功能的实现采用了自顶向下的设计方法和模块化的设计思想。CPU采用五级流水线结构,通过对指令集分析确定了其系统结构划分成取指模块、运算模块、寄存器堆模块、系统总线模块和控制器五大模块。本文所设计的运算模块实现了桶式移位器、算术逻辑单元以及32位乘法器,支持ARM指令集中所有算术运算和逻辑运算。桶式移位器通过比较全译码和部分译码两种实现方案,选择速度较快的全译码方式实现。利用综合工具资源共享的优化手段,并通过逻辑表达式的等价变换,设计了基于资源共享的算术逻辑单元,节约了面积。32位乘法器采用改进的基4布斯算法减少部分积的个数;并通过数学计算预处理符号扩展,使得部分积符号扩展电路简单规整。部分积累加时,采用4-2计数器实现华莱士树,提高了乘法器平行处理的速度。可测性设计(design for test,DFT)就是指为了使测试(制造测试)尽可能简单而有意识地在设计中加入一定附加逻辑的设计方法。本文在对目前主要的可测性设计方法进行研究的基础上,根据所设计CPU的结构特点,采用了边界扫描技术和基于BILBO的内建自测试技术结合的可测性设计方案。基于BILBO的内建自测试技术是将扫描技术与内建自测试技术(Build-In Self-Test,BIST)相结合,减少了测试电路的面积消耗。对于流水线结构的CPU,通过将流水线寄存器改造成BILBO单元,通过状态控制,就可完成自测试和正常工作。本文设计的边界扫描结构完全兼容国际标准IEEE 1149.1,并进行了扩展,将内建自测试电路整合到整个测试系统,简化了测试过程。