
SoC 的设计基础是IP(Intellectual Property)复用技术。SoC 芯片需要集成一个复杂的系统,这导致了它具有比较复杂的结构,如果是从头开始完成芯片设计,显然将花费大量的人力物力。另外,现在电子产品的生命期正在不断缩短,这要求芯片的设计可以在更短的周期内完成。为了加快SoC 芯片设计的速度,人们将已有的IC 电路以模块的形式,在SoC 芯片设计中调用,从而简化芯片的设计,缩短设计时间,提高设计效率。这些可以被重复使用的IC 模块就叫做IP 模块(或者系统宏单元、芯核、虚拟器件)。IP 模块是一种预先设计好,已经过验证,具有某种确定功能的集成电路、器件或部件。它有3 种不同形式:软IP 核(soft IP core)、固IP 核(firm IP core)和硬IP 核(hard IP core)。
1.软IP
核软IP 核主要是基于IP 模块功能的描述。它在抽象的较高层次上对IP 的功能进行描述,并且已经过行为级设计优化和功能验证。它通常以HDL 文档的形式提交给用户,文档中一般包括逻辑描述、网表,以及一些可以用于测试,但不能物理实现的文件。使用软IP,用户可以综合出正确的门电路级网表,进行后续结构设计,并借助EDA 综合工具与其他外部逻辑电路结合成一体,设计出需要的器件。虽然,软IP 的灵活性大,可移植性好,但同硬IP 相比,因为它不含有任何具体的物理信息,所以如果后续设计不当,很可能导致设计失败。另外,后续的布局布线工作也将花费大量的时间。
2.硬IP
核硬IP 核主要是基于IP 模块物理结构的描述。它提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。其优点为,完成了全部的前端和后端设计,已有固定的电路布局局和具体工艺,可以确保性能,并缩短SoC 的设计时间。但因为其电路布局和工艺是固定的,同时也导致了灵活性较差,难以移植到不同的加工工艺。
3.固IP