芯片验证中位与位的复杂度:从生物学借来的方法论
The Complexity Between The Bits
Axiomise 首席战略与运营官撰文探讨芯片验证方法:生物学思维提醒工程师区分连接性与产生特定行为的前提条件,把 timestamp、freshness、allowable skew 等时序上下文写进需求而非集成备注。
作者:Vidya Chandran Darbari 与 Ashish Darbari
最近一场关于碳智能与硅智能的对话令我难以忘怀。让我感兴趣的并不是哪一方会胜出,而是当我们要求硅去感知、解释、决策并行动时,我们所承担的复杂性。
我作为实验结构生物学家的经历教会我去追问:一个结构能解释什么,又不能解释什么。解析一个分子结构并不等于解释它所属系统的行为。下一个问题永远是关于机制的:当各个部分相互作用时会发生什么?这个问题塑造了我作为生命科学领域深度通才的视角,将分子机制、生物网络与系统行为联系在一起。
如今,作为 Axiomise 的首席战略与运营官,我在一个不同的领域中重新回到这个问题。
芯片不是细胞。但研究生物复杂性可以锐化我们研究工程系统的方式——前提是这种比较能改变我们提出的问题、做出的观察或验证的义务。否则,它仍然只是一个有趣的类比。
地图不是机制
在生命科学中,蛋白质相互作用图谱是问题的起点。一条连接标识一种可能的相互作用;它并不能确定这种相互作用何时才重要。浓度、定位、结合亲和力、反馈和时序都会影响结果。
同一种信使分子可以刺激或抑制免疫反应,这取决于受体和接收细胞的状态。分子本身并没有变得不一致。是我们的描述脱离了上下文而不完整。
硅工程师早已理解依赖关系。有用的迁移不只是用网络来思考,而是要区分“连通性”与“相连的组件在什么条件下产生特定行为”。
一条链路可以在其假设成立时正确传输数据包,一个控制器可以正确进入其电源状态,一个互连可以在其假设下正确仲裁。但如果这些假设不再成立,它们的组合仍可能违反某项需求。
工程上的对策是把上下文显式化:每一项保证依赖于哪些相邻状态、可用资源和事件顺序?这些条件应纳入验证之中,而不仅仅是集成说明。
时序是含义的一部分
我们的感官让上下文变得具体可感。多种线索的组合只有在它们的时序支持将其视为同一事件的证据时才有帮助。更多的信号并不一定会自动消除歧义。
设想一个结合摄像头与距离传感器数据的示例性边缘控制器。两个测量值都可以被精确编码、无损坏地传输且各自看似合理。但如果它们描述的是不同时刻却被当作同时发生,融合后的估计所代表的可能是一个从未存在过的情境。
比特完整到达,而解释却是错误的。
生物学的视角引导我们关注信号与它被接收时所处的状态之间的关系。工程上的回应是具体的:时间戳关联、新鲜度、允许的偏移和缺失观测都应写入需求。
类似的问题也出现在复位、链路重训练和电源切换过程中。在切换之前被接受的事务会怎样?哪些状态能在恢复后存续?接收方何时才能安全地将新数据视为有效?
接口是一种随时间延续的关系,而不仅仅是一组线路。验证必须捕捉这种关系,尤其是当由此产生的解释会控制某个动作时。
不同的不确定性需要不同的证据
把生物学描述为灰色的、把硅芯片描述为非黑即白的说法很诱人。但这种对比掩盖的东西比它解释的更多。
生物模型可以结合连续量、离散事件、确定性方程和随机过程。这些是彼此独立的区分。梯度响应未必是随机的。
数字模块可以为给定状态和输入唯一定义下一个状态,同时仍留下一个系统层面的问题悬而未决:我们必须考虑哪些输入序列和环境行为?形式验证可以检验模型在既定假设下允许的行为。那并不是物理随机性。
抽象之下是物理。亚稳态并不是因为架构变得复杂而使数字逻辑变成了模拟,而是设计必须适应的物理行为。
这些差异很重要,因为物理测量、统计关联和逻辑证明回答的是不同的问题。向生物学学习应该让我们对不确定性所在之处更加精确——而不是降低对正确性的要求。
探究哪些因素能够区分各种解释
我在生命科学方面的训练让我警惕一种假设:认为症状就能确定其病因。
以一个示意性的芯粒(chiplet)系统为例,这并非真实的客户事故。一个事务超时了。电源控制器在未完成的流量排空之前关闭了一个时钟。它会在收到唤醒请求后恢复时钟,但该请求排在停滞的流量之后。
双方都在等待对方。超时是症状;其机制是循环依赖。延长超时时间并不能消除它。
其他机制也可能产生相同的症状:丢失的信用、不一致的复位状态或饿死。复现一条跟踪记录并不能区分这些解释。
在这里,实验性推理提示了一个有用的问题:哪种干预措施可以区分这些假设?如果时钟保持运行会怎样?如果唤醒的传递独立于正常流量会怎样?当下游服务发生变化时,故障是否会持续存在?
这些都是常见的验证活动。它们的目的在于解释:选择某项调查是因为其结果能挑战某个机制,而不仅仅是因为它产生另一次通过的运行。
反例同样需要解读。它可能暴露一个缺陷、一个不切实际的环境,或由抽象引入的行为。通过的结果也需要同等审视:这些假设是否排除了我们需要考察的情形?
跨层级关联证据
生命科学在不同层面上研究生命活动:基因组序列、基因表达、蛋白质机制和代谢。这些测量结果不可互换。它们之间的差异可以揭示调控、补偿或解释的不完整之处。
从这些层级到芯片并没有精确的对应关系。可迁移的原则是跨层级关联证据,而不是指望某一次测量解释一切。
RTL 和配置只描述了一种视图。工作负载活动、事务踪迹和物理遥测提供了其他视图。想象一个工作负载正在增加功耗需求,一个热策略正在降低频率,一个控制器正在逼近其截止期限。仅凭事务踪迹或温度读数,都无法确定整个序列是否被允许。
我看到有机会开发一些工具,将各种观测围绕共同事件和相互竞争的解释组织起来。AI 辅助分析可以帮助提出关联,但相关性应当引出可检验的假设,而不是被贴上根本原因的标签。
可观测性应遵循同样的推理。以时钟门控为例,我们需要关联未完成的流量、时钟决策、唤醒生成和唤醒传递。如果这些关联仍然不可见,更多的日志未必是更好的证据。
把机制转化为义务
一旦我们理解了一个机制,就不应把它留在调试报告里。
什么必须防止循环依赖?流量是否必须在时钟门控前排空?唤醒传递是否必须保持独立?如果正常序列被中断会发生什么?
这些问题把解释转化为架构义务。这就是我看到的生物推理与形式化优先工程之间的联系:前者引导注意力关注上下文和相互竞争的机制;后者帮助在设计模型中表达并检验精确的需求。
在 Axiomise,形式化优先意味着在架构仍可改变时就提出这些问题。信用不能丢失或被重复计算。排序必须在需要之处得到保持。复位与恢复必须使端点恢复到兼容的状态。
进展需要自己的论证。没有发生损坏并不能证明一个已接受的请求最终会完成。服务与公平性假设必须由架构来论证。
局部证明也需要同样的对待。如果一个组件假设某个邻居会响应,那么该响应在哪里被确立?当各个检查的假设不兼容或循环时,单独成功的检查无法确立一个系统级的主张。
形式化优先并非只有形式化。仿真、模拟、物理分析和系统验证提供不同的证据。任务是把它们围绕可识别的问题连接起来。
所有权应追随义务
如果一个失效机制跨越电源管理、流量控制和恢复,防止它就不能仅仅依赖各团队完成各自的局部检查。
必须有人负责跨系统的义务:什么必须保持为真,哪些组件参与其中,需要哪些假设,以及哪些变更会触发重新评估。一份修订后的电源策略如果改变了进展论证的条件,就应当重开这一论证。
这并不会削弱专业知识。它让专业之间的关系与它们产出的组件享有同等的地位。
其他领域不会把现成的解决方案交给硅工程。它们能帮助我们发现不完整的描述,并设计更好的调查。生物学的贡献不是允许我们接受含糊性,而是一种挑战各种解释的纪律。
回顾结构生物学,我认识到那种诱惑:让一个解析得漂亮的模型感觉像调查的终点。重要的问题是它帮助解释了什么——以及接下来应当做什么。
比特可以是二元的。我们对系统的理解并不会自动变得完整。
Ashish Darbari 是 Axiomise 的创始人兼 CEO。
来源: Semiconductor Engineering 芯片与封装 · semiengineering.com