推动多处理器系统级芯片设计的系统规范
来源:电子工程专辑 作者: 时间:2003-01-22 00:34
SoC设计过程中,在系统架构定义、逻辑设计、系统IP集成、功能验证、布局布线和调试等方面,设计工程师面临许多新的挑战,它需要全新的设计方法和工具。本文将以电信局端SoC设计的实例说明解决上述问题的方法。
随着硅工艺从0.18微米向0.13微米以及更先进工艺转变,单个芯片上可以集成大量的处理器、外围器件和大于1MB的SRAM。系统级芯片(SoC)设计能够将原来需要多个硅芯片才能实现的高性能、低功耗数字信号处理功能集成到在单芯片上实现,因而引起了更多的关注。不仅小型手持设备需要SoC,电信局端应用也需要大量采用SoC。电信局端信道密度很高,因此板空间和功率大小是最重要的设计限制因素。
在一个电信局端接入网关应用中,DSP子系统需要支持在信道密度相当高的条件下(OC-3、OC-12、OC-48以及更高密度的情况)的各种媒体访问标准和调制解调器协议,同时还要满足严格的终端系统空间和功率限制。
在传统的设计方法中,系统设计工程师首先提出一个初步的系统要求文档,找到满足要求的标准DSP芯片组,然后才确定满足芯片组要求的电路板。芯片组决定了系统的最终设计,然而芯片组可能是由一些不熟悉终端系统的芯片设计工程师设计,因而终端系统常常并没有根据实际应用进行优化。
我们采用不同的方法进行SoC设计。体系结构定义从系统板设计开始,系统设计工程师根据设计要求决定芯片规格。根据本文所讨论的系统进行分析,最后决定每一芯片用八个DSP最适合于电路板的设计。由于芯片要支持不同指令执行能力和存储器的通信标准,必须仔细分析外部存储器的带宽需要,实际上一些应用的主要瓶颈是带宽而不是DSP处理能力。
当然可以考虑采用嵌入式DRAM,但是这将存在较大的风险。双数据速率(DDR)DRAM可以代替SDRAM,可以平衡系统存储器带宽和DSP的处理功能两方面的要求。
同时,根据终端系统要求还选择了很多其它外围器件。仔细研究延迟、效率和带宽需求,避免任何潜在的I/O带宽问题。系统芯片设计工程师在选定外围器件和DSP之后,就集中于SoC的集成。3DSP公司为系统集成提供了可配置的DSP Shuttle总线,该总线用作DSP、微处理器和外围器件的系统集成。
由于存储器的高带宽、高信道密度以及低延迟要求, DSP Shuttle总线的带宽和效率都必须进行认真的分析。首先考虑的是总线速率的最大值,该值不是由逻辑门延迟决定,而是由线路的RC延迟决定。在大型深亚微米设计中,线路RC延迟已成为影响速率的一个重要因素。
在确定了总线速率之后,接下来需要研究总线系统效率。DSP Shuttle可看作一种非常复杂的系统交换机。DMA总线控制器、端口缓冲器、外部I/O带宽、延迟、脉冲串大小以及系统数据流模式将决定系统效率。利用高度柔性集成SoC开发系统放置不同的本地数据缓冲器可以优化总线效率。对于DDR DRAM接口,采用增加附加缓冲区来提高I/O带宽。
![]() |
存储器选择
硬件系统的要求是芯片设计的关键,但系统软件的设计对芯片设计也有很大的影响。在我们的设计中,SoC芯片在多处理器环境中需要处理大量的信道,这些信道并不占用太多的处理能力和存储器,但是需要系统可扩展、可切换并同时运行不同的通信算法。系统设计工程师决定使用对称多重处理技术,其中各个处理器相互独立,其优点是系统高度可扩展并易于管理。系统管理员可以用一个处理器执行DSP通讯算法,同时另外一个处理器执行另一种完全不同的算法。系统负载也可以在运行中动态地配置和改变。
我们使用3DSP的专用实时操作系统Speedi,结合DSP Shuttle来实现超过500个任务的调度和数据准备。通过软件系统分析还可决定DSP内核的片上程序、数据存储器以及外围器件带宽要求。在本设计中,由于存储器占据的芯片面积大于70%,因而在设计早期就要开始软件系统的开发,并通过使用一种不同的存储器对换方法减少程序和数据存储器需求。然而,存储器对换增加了系统的带宽要求。程序员必须与硬件设计工程师协同工作,通过适当的折衷降低芯片成本。
[page]
3DSP的SP-5既支持双端口存储器也支持单端口存储器。对于双端口存储器配置,SP-5每一时钟周期进行四次存储器访问:两次读/写访问A存储器,另两次读/写访问B存储器。将数据存储器分为四个库:DSP处理来自第一个库的数据并将其储存到第二个库中;DSP Shuttle将数据传输到第三个库中并将第四个库中的数据取出。双端口存储器的优点是对于DSP内核没有存储器访问限制,而缺点是双端口存储器硅面积为单端口存储器面积的两倍。
对于单端口存储器将进一步分为四个奇偶库。如果DSP内核的两条指令访问相同的存储器库,DSP内核将在一个时钟周期存储。系统设计工程师利用3DSP时钟周期仿真器研究用单端口存储器对关键算法性能的影响。结果发现,对于FFT和FIR等通用DSP算法并没有影响,而对于更复杂的语音压缩算法如G.729A+B,存储器对性能的影响要大8到9倍。
在衡量了性能和面积成本之后,系统设计工程师选择采用单端口存储器。在规定了多内核芯片之后,芯片的实现成为下一个要解决的问题。在给定设计的规模和复杂度条件下,从头实现整个芯片的设计是不可能的。实际上,采用成熟IP对设计成功相当关键。在我们的设计中,使用了3DSP的SP-5Flex IP内核、DSP Shuttle和很多其它的外围器件,此外还引入了第三方DDR DRAM控制器,实现了DDR DRAM到DSP Shuttle之间的接口。
算法设计工程师和芯片设计工程师合作,使用3DSP的高度柔性集成配置工具来生成SP-5Flex DSP内核的定制指令,这些指令能使某些应用性能提高一倍。我们采用了一种分层IP设计方法,其中每个IP块独立设计和验证。首先,利用一种随机测试方法单独检验具有所有配置的DSP Shuttle;然后,将其作为一个集成接口将所有其它的IP块集成在一起,最后,测试并验证IP块和DSP Shuttle之间的接口。
由于设计规模超过多数CAD工具的设计能力,因此,顶层仿真非常缓慢。我们的分层IP设计和验证方法,通过采用成熟IP可以大大降低设计风险和设计时间。在本应用中,设计小组需要两个月的时间设计和验证每个新型外围器件,需要另外一个月将所有的外围器件与DSP Shuttle集成。
物理版图设计
物理版图设计和速率收敛是设计中最困难的部分。对于典型的高性能DSP应用,DSP内核和存储器系统的速率非常高。由于多处理器系统的门数很高,扁平布局布线无法满足速率要求。在设计中,我们将整个系统分为两个组。首先,每个DSP内核与其本地存储器放在一起。然后,根据关键路径和布线拥塞情况对DSP子系统的子块进行底层规划。
DSP Shuttle与所有其它的外围器件分为一组。在芯片顶层,除了布线之外没有逻辑门。DSP Shuttle速率受物理RC延迟限制,由于DSP子系统的运行速率比DSP Shuttle快,因而在DSP子系统和DSPShuttle之间采用一种异步接口方式。在芯片顶层,DSP子系统被多次复制,并与DSP Shuttle和外围器件结合在一起。
SoC设计要采用与传统的VLSI芯片设计不同的技术和方法。一般的芯片设计要求对某种具体的ASIC功能或处理器内核进行优化,而SoC设计专注于集成多个处理器内核和其它IP块,以及分析处理器间和IP内核通信协议,以及软硬件交互作用和折衷。此外,终端系统应用要求、板配置、工艺以及功率需求都将严重影响芯片结构规范。
为避免死锁和提高验证效率,必须对多处理器IP内核协议进行验证,而传统的ASIC是对单独的ASIC块进行验证。分层IP设计和验证方法使设计工程师在九个月的设计周期内完成从系统规范到成品推出的整个设计(逻辑设计需要四个月,布局布线需要五个月)。芯片设计已经从纯粹的硬件设计转化为一种系统工程,包括终端系统分析、板设计、硬/软件协同设计、使用高级RTL语言的逻辑设计和物理版图设计。
DSP Shuttle简介
在多内核SoC环境,高数据流密度设计需要一个智能高速总线iDMA控制器。系统设计工程师需要确保存储器和外围设备的无缝集成。3DSP开发了高速、完全可综合并可配置的系统总线控制器DSP Shuttle,该总线控制器可以处理完整的SoC背板。
DSP应用需要对基于数据的总线动态分配来支持多内核和高速数据传输。DSP Shuttle是唯一完全支持这一要求的总线控制器。在完全可配置DSP Shuttle上有15个发送器和最多达16个读/写外围器件。另外,循环资源和优先仲裁能确保数据的无缝传送。随着每个数据传送完毕,DSP Shuttle将具有优先级设置的中断发送到每个内核。
DSP Shuttle可以配置成与八个请求器一起工作。每个请求器都可以访问DSP Shuttle的所有资源。在一个具有超过八个以上内核的多内核系统中,单个内核可用于为所有的内核请求数据传输,这样大大提高了效率并允许实现较低复杂度的系统软件。
DSP Shuttle的即插即用接口支持同步和异步设备,同时具有较小的开销。另外,DSP Shuttle还可支持多个外围设备,包括内部存储器和外部存储器,并通过对这些存储器单独编程可以达到最高数据吞吐量。
由于DSP Shuttle是一种完全可综合的内核,它可以适用于任何工艺。0.13微米工艺可实现数据率达1.2GBps,根据配置不同,面积在0.7平方毫米到1.5平方毫米。
作者:Kan Lu
首席技术官
3DSP公司
下一篇:及时的技术帮助加快产品设计进程