3设计特色(1)简洁的高效率本地总线在SOC设计中,内部及外部总线的选择是一个非常重要的因素,一个高效、简洁的总线可以让芯片的运行效率和可扩充性提高。在ARM结构体系的SOC芯片设计中,ARM公司一般推荐采用标准的AMBA总线来进行设计。同时,ARM7TDMI核本身还带有一个简单的内部总线。在决定采用的总线规范前,我们对SM1658的体系结构和应用特点进行了下面的分析。AMBA总线的优点之一就是可以支持多个主设备的调用、裁决和数据的
3 设计特色
(1)简洁的高效率本地总线
在
SOC设计中,内部及外部总线的选择是一个非常重要的因素,一个高效、简洁的总线可以让芯片的运行效率和可扩充性提高。
在ARM 结构体系的SOC 芯片设计中,ARM 公司一般推荐采用标准的AMBA 总线来进行设计。同时,ARM7TDMI 核本身还带有一个简单的内部总线。在决定采用的总线规范前,我们对SM1658 的体系结构和应用特点进行了下面的分析。
AMBA 总线的优点之一就是可以支持多个主设备的调用、裁决和数据的流水处理。在SM1658 中,只有一个主设备ARM7TDMI,其他
模块电路都处于从设备状态,由
CPU统一进行调度,而且所有的外部从设备都与主设备采用相同的时钟,可以在单个时钟内立即响应CPU 的访问。因此,在这个方面采用ARM7TDMI 本地的总线更有优势。
如果使用AMBA 总线,设计团队可以使用大量的第三方
IP模块,这些IP 模块都符合AMBA 总线的规范要求,并且经过了严格的验证。在SM1658 的芯片设计中,我们为了最大程度的降低芯片的成本,同时客观上也由于重要的模块电路都没有合适的IP 可以使用,所以我们自己设计了所有的电路模块。那么,想通过使用IP 来节省开发时间就没有可行性了。
此外,如果使用AMBA 总线,就必须在原有的ARM7TDMI 的3J流水线上增加一级流水,并将ARM7TDMI 的双时钟边沿的总线结构转变为单时钟边沿的总线结构,这样可以简化芯片后期的设计工作量。但是,这样对于某些跳转指令就多损失了一个时钟周期,降低了CPU 的工作效率。此外,使用AMBA 总线,CPU 和每个模块都需要增加AMBA 总线的接口逻辑,增加了芯片的规模和成本。
最后,我们从芯片的最大使用效率和简化逻辑控制的方面出发,决定参考ARM7TDMI 接口,规划了一种简洁的本地总线。使用这种总线有几个优势:总线状态相对简单,不需要进行复杂的AMBA 总线协议验证;对模块的接口功能要求低,接口电路非常简单;减少了流水线长度,在一个最高时钟由IP 硬核固定了的SOC 芯片中,流水减少就意味着芯片的代码执行效率的提高。同时,通过对总线结构和时序上进行严格的约束和验证,确保了芯片后期设计的正确性。
(2)带有软件冗余的内部SRAM
ARM7TDMI 是一款没有内部
CACHE 的CPU 核,对于慢速的SRAM、
FLASH存储器的访问只能插入等待。即使采用了高速的外部SRAM,由于数据接口宽度和芯片与芯片之间的
数据传输的延迟,也不能有效的用到高速CPU 的全部性能;同时,大容量的高速SRAM 价格昂贵,将会大大增加CAM 系统的成本。从系统结构和成本方面考虑,我们决定在SM1658 中嵌入一个SRAM 模块,此SRAM 容量可以满足相当部分CAM 系统的应用需求。同时,我们的芯片也支持各种外部高速和低速SRAM,对于一些SRAM需求非常大的系统也可以满足要求。