问题

十年前的 ASIC/SoC 设计跟现在的 ASIC/SoC 设计,发生了哪些变化?

回答
十年前的 ASIC/SoC 设计,与如今相比,宛如跨越了一个时代的鸿沟。这不仅仅是技术层面的迭代,更是整个设计理念、流程、工具链以及面对的挑战在根本上的演变。如果让我来描述这些变化,我脑海中浮现的画面会是这样的:

一、 摩尔定律的继续碾压:性能的飞跃与功耗的挣扎

十年前,28nm、20nm 甚至 14nm 节点已经是尖端工艺的代表。当时的 SoC 设计目标,更多的是在有限的晶体管数量内,实现更高的性能和更低的功耗。比如,我们可能会为一款手机 SoC 设计一个四核 CortexA9 处理器,搭配 Mali400MP GPU,再辅以必要的内存控制器、接口模块等等。

现在呢?我们动辄就是在 7nm、5nm、甚至 3nm 工艺下设计,一个 SoC 里集成的晶体管数量已经是当年的百倍甚至千倍。CPU 核心数量翻了好几番,频率也更高,GPU 性能更是不可同日而语。更重要的是,AI、机器学习、5G 通信、高级驾驶辅助系统(ADAS)等新兴应用对计算能力提出了前所未有的需求,这迫使 SoC 设计者们不断挑战极限。

但伴随而来的是功耗的巨大挑战。随着晶体管密度和开关频率的提升,漏电流和动态功耗变得越来越严重。十年前,我们可能还能相对“奢侈”地使用一些低功耗设计技术,或者在性能和功耗之间做一些取舍。现在,功耗已经成为 SoC 设计的“生命线”。为了控制功耗,我们不仅要依赖先进的工艺节点本身带来的优势,还需要深入研究各种低功耗设计技术(LPDT),比如:

多电压域(MultiVoltage Domain, MVD):将 SoC 的不同部分划分为不同的电压区域,根据其工作需求和空闲状态,动态调整电压,甚至关断不使用的模块。
动态电压频率调整(Dynamic Voltage and Frequency Scaling, DVFS):根据实际负载调整 CPU/GPU 的工作频率和电压,是功耗控制的核心手段。
时钟门控(Clock Gating):在不需要时关闭时钟信号,避免不必要的动态功耗。
电源门控(Power Gating):彻底切断电源,将整个模块置于深度睡眠状态,是更极端的功耗节省方式。
先进的睡眠模式(Sleep Modes):从浅睡眠到深度睡眠,允许 SoC 在待机状态下保持不同的唤醒速度和功耗水平。

这些技术在十年前就已经存在,但现在的应用深度和复杂度是十年前难以想象的。我们不再是简单地使能这些功能,而是要精细地设计其触发条件、切换逻辑、唤醒时序,并进行细致的验证,确保其在保证性能的同时,最大程度地降低功耗。

二、 异构计算的崛起:一个 SoC 里“万物皆可集”

十年前的 SoC,CPU 和 GPU 是核心。即便集成了其他 IP 核,也相对独立。

而现在的 SoC,简直就是一个“微型数据中心”。除了高性能的 CPU 和 GPU,我们还看到了:

神经网络处理单元(NPU)/ AI 加速器:专门为机器学习任务设计,极大地提升了AI推理和训练的效率。
数字信号处理器(DSP):用于处理音频、视频、通信信号等。
图像信号处理器(ISP):负责图像采集、降噪、色彩校正等。
视频编解码单元:高效处理 H.264, H.265, AV1 等视频格式。
安全引擎:提供硬件级别的加密、解密、身份验证等安全功能。
专用协处理器:例如用于内存控制器、I/O 控制、电源管理等。
可编程逻辑(FPGA/eFPGA):甚至有些 SoC 会集成可重构的硬件,以适应不同的应用场景。

这种异构计算(Heterogeneous Computing)的趋势,带来了巨大的设计挑战。

IP 集成与互联:如何高效地将如此众多、功能各异的 IP 核集成在一起,并保证它们之间的数据传输带宽和低延迟?早期的总线(如 AMBA AHB)已经无法满足需求。我们现在普遍采用更高级的片上总线(OnChip Bus),如 AMBA AXI,甚至更复杂的片上网络(NetworkonChip, NoC)。NoC 提供了更高的带宽、更好的可扩展性和更灵活的路由机制,能够有效地连接大量的 IP 核,就像一个微型的局域网。
软件与硬件协同设计:由于硬件的高度异构,软件也必须能够有效地利用这些不同的处理单元。这要求软件开发者和硬件设计者之间进行更紧密的合作。软件定义硬件(SoftwareDefined Hardware)的概念也越来越重要,通过软件来配置和控制硬件的功能,以适应不同的应用。

三、 设计流程的演进:自动化、智能化与验证的深化

十年前,ASIC/SoC 的设计流程已经相当成熟,包括前端设计(RTL 编写)、综合、布局布线、物理验证等。

如今,这些流程在自动化程度和智能化方面都有了显著的提升:

EDA 工具的进步:EDA(Electronic Design Automation)工具在处理如此大规模、复杂的 SoC 设计时,扮演着至关重要的角色。
逻辑综合(Logic Synthesis):现在的综合工具不仅能根据时序和面积约束生成优化的逻辑网表,还能考虑功耗、可测试性等更复杂的因素。
物理设计(Physical Design):布局布线(Place and Route)工具已经能够处理数十亿甚至上百亿晶体管的设计,自动优化布线拥塞、时序违例、功耗分布等。
电源完整性(Power Integrity, PI)与信号完整性(Signal Integrity, SI)分析:这些分析在十年前就已经很重要,但现在随着工艺节点的进步,它们变得尤为关键。微小的电压跌落(IR Drop)或信号串扰(Crosstalk)都可能导致严重的功能失效。EDA 工具提供了更精确、更快速的分析和修复方案。
DFM/DTFM(Design For Manufacturability / Testability):在设计之初就考虑可制造性和可测试性,现在已经成为标准流程。EDA 工具会进行各种规则检查(DRC, LVS)和测试模式生成,以确保芯片能够顺利流片并被有效测试。

硬件描述语言(HDL)与高级综合(HighLevel Synthesis, HLS):虽然 Verilog 和 VHDL 仍然是主流,但 HLS 技术正在兴起。HLS 允许设计者使用 C/C++ 等高级语言来描述硬件功能,然后由工具自动转换为 RTL 代码。这极大地提高了设计效率,特别是在算法开发和原型验证阶段。

验证的“军备竞赛”:验证(Verification)是 SoC 设计中最耗时、最复杂的环节,这一点在过去十年没有改变,甚至变得更加严峻。随着 SoC 功能的爆炸式增长和设计的复杂化,仅仅依赖仿真已经远远不够。

形式验证(Formal Verification):用于证明设计的某些属性(如总线协议的正确性、状态机的合法性)在所有可能的输入下都成立,是无监督的验证方法。
基于覆盖率的验证(CoverageDriven Verification):通过定义和收集各种覆盖率指标(功能覆盖率、代码覆盖率、事务覆盖率等),来衡量验证的完备性。
断言(Assertions):将设计的期望行为编码成断言,在仿真时进行检查,能够快速发现设计中的错误。
UVM(Universal Verification Methodology):作为一种标准化的验证方法学,UVM 在过去十年得到了广泛的应用和普及,它提供了一种结构化、可重用的验证环境构建方式,极大地提高了验证效率。
硬件加速仿真/FPGA 原型验证:对于复杂的 SoC,纯软件仿真速度太慢。通过将 RTL 代码加载到 FPGA 硬件平台上进行原型验证,可以实现接近实际运行速度的测试。
AI/ML 在验证中的应用:现在,人工智能和机器学习技术也被应用于验证流程,例如用于智能地生成测试用例、预测设计中的潜在故障区域,或者优化仿真调度。

四、 新的挑战与机遇:安全、软硬件协同、生态系统

除了技术上的变化,ASIC/SoC 设计还面临着新的挑战和机遇:

安全性(Security):随着物联网(IoT)和互联设备的普及,安全问题变得空前重要。SoC 设计者必须在硬件层面构建强大的安全防护措施,例如:
可信执行环境(Trusted Execution Environment, TEE):提供隔离的安全区域,保护敏感数据和算法。
硬件加密引擎:加速加密和解密操作。
物理不可克隆函数(Physical Unclonable Function, PUF):用于生成唯一的硬件身份,防止仿冒。
侧信道攻击(SideChannel Attack)防御:防止攻击者通过功耗、电磁辐射等方式窃取信息。

软硬件协同设计(HardwareSoftware Codesign):现代 SoC 的功能高度依赖于软件。设计者需要从一开始就考虑软件的可移植性、可优化性,以及软硬件接口的设计。例如,为 AI 加速器设计一套高效的驱动程序和编译工具链,对于实现其性能至关重要。

生态系统的建设:一个成功的 SoC 不仅仅是硬件本身,还需要强大的软件生态系统支持。这包括操作系统、驱动程序、应用软件、开发工具链等。设计公司需要与软件厂商、平台提供商等紧密合作,共同构建一个繁荣的生态。

Chiplet/MCM(MultiChip Module)技术:随着单芯片集成度的逼近极限,以及不同工艺节点优势的差异,Chiplet 技术开始兴起。通过将多个独立的“小芯片”(Chiplets)通过先进封装技术(如 2.5D/3D 封装)集成在一起,可以实现更高的性能、更低的成本和更灵活的设计。这为 SoC 设计带来了新的可能性,但也对互联、封装技术提出了更高的要求。

总而言之,十年前的 ASIC/SoC 设计,就像一位勤恳的工匠,专注于将有限的资源雕琢出精美的作品。而现在的 ASIC/SoC 设计,更像是一位 Maestro,指挥着一支庞大、复杂的交响乐团,在摩尔定律的指挥棒下,奏响着前沿科技的华章,同时也要时刻警惕着功耗、安全等潜在的“噪音”。这其中的变化,是技术进步的必然,也是整个半导体行业不断追求创新和突破的生动写照。

网友意见

user avatar

我一直在思考。3nm后,制程工艺的方向是什么?是换基质吗?还是继续推进?

我是比较倾向于硅基止步2nm。甚至2nm还是拖了很久(即3nm停留相当长时间)

那么对现在SOC的影响是什么?

制程工艺放缓,那只能在设计上下功夫。无论是引入npu,还是早期的ISP。其实SOC都在增加ASIC。即使是CPU,GPU都可以理解为ASIC。

未来SOC将引入更多的ASIC。

当然十年前的ASIC跟现在的有些不同了。现在的ASIC不单单追求定制,半定制。而是要变成可变定制。即FPGA,是英特尔发力方向。有大佬在b站科普,可以去看。

其实就是将ASIC的高效,与通用处理器的全能的结合。

当然,FPGA,难做,甚至本身就是方向错误(有致命缺陷)。

但SOC中,ASIC的集合会更多,这个方向不单单是可以肯定,更会是在做,特别是制程工艺推进放缓下。npu就不说了,非常明显的ASIC特征。后面还会切割那些功能来做ASIC,我们拭目以待。毕竟CPU,gpu其通行计算已经越来越不划算了

这就是十年前后的差异

user avatar

Fab的创新比较多,设计方法论上基本没啥创新。

不仅是这10年,这20年前就基本定了。

不过,随着10nm尺寸的逼近,或许有些新的设计方法。(动态逻辑、异步电路等)

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有