一个完整的SoC设计流程是什么样的?

Soc设计与传统的ASIC设计最大的不同在于以下两方面。一是SoC设计更需要了解整个系统的应用,定义出合理的芯片架构,使得软硬件配合达到系统最佳工作状态,如总线的设计使得总线传输吞吐量满足操作处理的需求,与外部存储器的接口正确等。因而,软硬件协同设计被越来越多地采用。二是SoC设计是以IP复用为基础的。因而,基于IP模块的大规模集成电路设计是硬件实现的关键。

一个完整的SoC设计包括系统架构设计,软件结构设计和硬件设计。

1、软硬件协同设计

SoC通常被称为系统级芯片或者片上系统,作为一个完整的系统,其包含了硬件和软件两部分内容。硬件是指SoC芯片部分,软件是指运行在SoC芯片上的系统及应用程序。

软硬件协同设计指的是软硬件的设计同步进行

软硬件协同设计的SoC设计流程
软硬件协同设计的SoC设计流程

系统需求说明

系统设计首先从确定所需的功能开始,包含系统基本输入和输出及基本算法需求,以及系统要求的功能、性能、功耗、成本和开发时间等。通常会将用户的需求转换为用于设计的技术文档,并初步确定系统的设计流程。

高级算法建模与仿真

确定流程后,设计者将使用C++和C等高级语言创建整个系统的高级算法模型和仿真模型。有了高级算法模型,便可以得到软硬件协同仿真所需的可执行的说明文档。

软硬件划分过程

将应用一一在特定的系统架构上映射,建立系统的事务级模型,即搭建系统的虚拟平台,然后在这个虚拟平台上进行性能评估,多次优化系统架构。系统架构的选择需要在成本和性能之间折中。

软硬件同步设计

硬件设计包括RTL设计和集成、综合、布局布线及最后的流片。软件设计则包括算法优化、应用开发、以及操作系统、接口驱动和应用软件的开发。

硬件系统测试

测试子模块的正确性,接着验证子模块的接口部分及总线功能,然后在整个搭建好的芯片上运行实际的应用软件或测试平台。这一步也称为软硬件协同仿真验证。

2、基于标准单元的SoC芯片设计流程

SoC设计是从整个系统的角度出发,把处理机制、模型算法、芯片架构、更层次电路直至器件的设计紧密结合起来。SoC芯片设计是以IP核为基础,以分层次的硬件描述语言为系统功能和架构的主要描述手段,并借助EDA工具进行芯片设计的过程。

SoC芯片设计包括模块设计、代码编写、功能及性能验证、综合优化、物理设计等环节。

SoC芯片设计流程

SoC芯片设计流程

SoC芯片设计流程

基于标准单元的设计流程

1. 硬件设计定义说明
2. 模块设计及IP复用
3. 顶层模块集成
4. 前仿真
5. 逻辑综合
6. 版图布局规划
7. 功耗分析
8. 单元布局和优化
9. 静态时序分析
10. 形式验证
11. DFT
12. 时钟树综合
13. 布线设计
14. 寄生参数提取
15. 后仿真
16. ECO
17. 物理验证

作者:QZSL
来源:IP与SoC设计

最新文章