前言

SoC的发展离不开应用领域的需求牵引。在根据需求进行片上系统设计时,不仅要考虑SoC本身,而且还要考虑SoC应用产品的需求,重点关注特定IP获取和系统总体结构(性能、功耗、成本、可靠性、适用性)的评估。

为了提高开发模块的重复利用率,降低开发成本,

  • 用户采用SoC总线(芯片内部)、
  • 芯片间总线(如SPI、I2C、UART、并行总线)、
  • 板卡间总线(如ISA、PCI、VME)、
  • 设备间总线(如USB、1394、RS-232)等。

不同的是,SoC总线为用户提供了一个堪称“理想”的环境:片上系统模块间避免了干扰、匹配等传统问题,但是片上系统要求时序异常严格。

在实施过程中,SoC设计者的核心工作不再是某个新功能的设计实现,而是如何去评估、验证和集成多个已经存在的软硬件模块,重视软硬件划分、IP核复用、嵌入式软件开发、多层次软硬件协同验证等方面。

由于OpenCore和其他致力于开放知识产权(Open Intellectual Property)组织的大力推广(开发设计了大量基于标准化片上总线的免费模块),用户在片上系统总线的选择上更倾向于采用那些标准化、开放化的方案。

片上总线与板上总线应用范围不同,存在着较大的差异,其主要特点如下:

  • ① 片上总线要尽可能简单。首先结构要简单,这样可以占用较少的逻辑单元;其次时序要简单,以利于提高总线的速度;最后接口要简单,这样可降低与IP核连接的复杂度。

  • ② 片上总线有较大的灵