中文 英语

致命的虫子

闭门谈话:半导体公司的高管们谈论他们最害怕的漏洞以及解决这些问题的方法。

受欢迎程度

抵抗模拟的超级细菌是否扼杀了创新?这是克雷格·雪莉提出的问题,他是Oski技术一群半导体行业高管在晚宴上问道。半导体工程应邀听取讨论,并提出讨论的要点。

为了促进自由对话,下面列出的参与者要求不要直接引用。所有的评论都是匿名的。

雪莉描绘了一幅工业的图景摩尔定律.“在2005年前后,情况发生了变化。我们不再有频率缩放我们不再有功率效率。虽然我们仍然有晶体管密度缩放,但我们必须从同步顺序设计转向并行设计。发生了什么事验证边?我们还有模拟而且约束随机模拟。我们仍然有竞争。我们生活在一个顺序逻辑的世界和模拟。并行性的思想在模拟中被忽略了。所以我们有新世界的设计,但有旧世界的验证。这就产生了抗模拟超级细菌的概念,它们通过模拟而不被发现。”

不出所料,因为在座的每个人都对正式方法有偏见,人们呼吁更多地采用正式方法正式的.“我们的目标是在最快的时间内找到最困难的漏洞。正式带来了很多价值,但它还没有以那种方式得到认可。”

一些核查小组把标准设得很高。“我们的验证目标是运行零模拟周期!我们想通过正式的形式来完全验证这个设计。我相信这是可能的,但挑战在于我们是在5年、20年还是40年内实现这一目标。我们一直在增加正式提供的覆盖范围方面的努力,并且我们试图在工具、能力和人员方面突破边界。在最新的芯片中,我们发现使用形式化方法无法在模拟中重现的问题,但我们可以在硅中重现。建筑师无法说服自己,这些案例是不可能的。”

该行业一直在研究如何让正式场合更平易近人。一种方法是创建波形,因为这与设计师的视角一致。“他们可以看到,他们可以将设计可视化,然后他们可以确定问题在哪里。这正是设计师们感到兴奋的地方。”

但每个解决方案都有一个潜在的问题。“正式的一个好处是,它向设计师展示了漏洞最肤浅的表达。这真是太好了,因为我们经常会在几个小时的模拟运行结束时遇到bug。”

但这些肤浅的表达似乎并不可信。“当我们向设计师展示使用正式形式发现的错误时,他们通常会回答说,这在真实的系统环境中是不可能的。这些事件不可能在如此紧密的周期序列中发生。但它们可能在很长一段时间内发生,实际上没有什么区别。将自己定位为系统级知识丰富的工程师的设计人员会查看一个正式的跟踪,并认为它不是一个现实的场景。这不是重点。关键是,你最终可以做到这一点。”

一些参与者认为,早期预警信号暗示,美国半导体行业将陷入自我造成的低迷。他说:“我们美国也有这种综合症,它出现在汽车行业。我们认为我们生产的不合格的汽车实际上是令人满意的汽车。事实证明,在其他国家,一些比我们更勤奋的人正在制造比我们更好的汽车。如果我们不看这个,它会反过来咬我们一口。过去几年,半导体行业一直表现不错,但如果我们不关注质量,这种趋势可能不会持续下去。”

对于一些公司来说,安全道路似乎是首选道路。“它发生在时钟门控一直都是。管理人员希望限制时钟控制的数量,因为这意味着可能会漏掉更具攻击性的超级细菌。”

没有安全保障,许多公司害怕过于激进。他们质疑,要找到由并行性引起的问题,需要进行数百万次的模拟循环。

正式的第一次
关于什么时候应该应用正式程序,业界有两种心态——找到最后10个错误,或者找到前10个错误。“总是前10个bug。模拟需要几个月才能得到结果。他们正试图建立模拟基础设施。如果前10个bug不是正式的……”

但没人这么想。他们都认为正式是指如何缩小模拟所没有的最后差距。”

“当RTL正在编写时,他们会做什么testbench正在构建?与UVM在美国,构建测试台架已经变得复杂且需要投入大量精力,甚至超过了设计的数量级。你需要一种机制在测试平台准备好之前就开始发现漏洞。”

一些公司已经成功地弥合了这种分歧,并发现他们的设计团队很欣赏早期的反馈。“前三个月的核查由正式拥有。设计师喜欢我们在测试台前找到漏洞的方法。”

但另一些人则固守着陈旧的心态。“这不是大多数开发经理的心态。他们相信UVM是黄金标准,这就是你要做的。如果工程师需要几个月的时间才能通过UVM测试平台找到第一个错误,而你希望它更快,那么你就需要更多的工程师来解决它。他们不寻求替代策略。”

工程思维
部分问题在于该行业的成长方式。“一旦你编写了RTL,你要做的第一件事就是模拟它。你不能阻止他们那样做。你必须在他们到RTL之前抓住他们。有什么办法能迫使他们在写RTL之前写正式的吗?”

这需要观念上的改变。“今天的方法是,当我应用这种刺激时,我的设计会做什么?我们需要他们提出这样的问题,‘我的设计如何表现?“在写完这篇RTL之后,如果你拿出一个没有做过任何模拟的正式测试平台,它更多的是一种观察性的东西,而不是根据对它应该做什么的先见性进行测试。它符合这种先入之见吗?”

改变很难。“当你把验证留给设计团队时,他们想做的第一件事就是找出应用重置时会发生什么。它开始工作了吗?正式游戏是否能够提供与模拟游戏相同的肾上腺素刺激?”

这导致一种感觉,正式的是不直接的。“让工程师对他们的影响力感到兴奋是很重要的。我们可能要逆流而上,开始让工程师们对正式的工作感到兴奋。每天都有很多其他的东西吸引着他们的眼球。”

我们必须克服一种行业偏见。“核查仍然带有消极的含义。验证得到了二流的人,因为设计师创造了——这是积极的。注意力总是集中在否定的验证上。你是如何获得为你想要创造的东西创造正式的数学定义的概念,并使之成为设计过程的一部分?我们是否可以正式定义要创建的东西的意图,设计团队正在努力匹配。这让验证的概念变得积极,整个行业将开始培养更优秀的人才。”

平行的复杂性
一位与会者表示,这一问题的结构性方面体现在诸如“高管和高层管理人员是在单一执行的世界中成长起来的”之类的评论中。“‘在连续世界里的设计师现在成了平行世界的管理者。’还有,‘管理层会连续思考,我们必须改变他们的思维方式,让他们平行思考。’”

一个建议是把设计看作是由串行部分和并行部分组成的。“以CPU开发为例,有两个问题。一个是系列问题——核心本身——另一个是并行问题——一致性。验证计划不应该只关注核心,还应该并行地关注内存子系统。这样,你的一致性协议就会在管道的早期得到关注。”

部分问题在于其复杂性。“随着设计变得越来越复杂,历史上我们总是依赖那些足够聪明的设计师,他们在头脑中理解设计的整个操作。当你转向更大、更复杂的设计时,你会沿着这条曲线上升,团队中能够掌握整个设计操作的人越来越少。在某种程度上,你会到达一个没有人能理解的门槛。”

接下来发生的是责任的分配。“最可怕的障碍真的很难。我们用这些积木从来没有问题。bug最多的块是最简单的块。为什么?因为我把能力较差的工程师放在那里。我有一个人的钟形曲线,我把最聪明的人放在我最可怕的街区,他们从来没有问题。然后我在芯片的角落里发现了一个愚蠢的虫子,我们甚至都没有想到。”

人员配备问题
这引发了关于人员配备问题的深入讨论。“现在在美国和欧洲进入这个行业的孩子们并不是最锋利的刀子。”

与会者质疑为什么会出现这种情况。出现了几个关键项目。芯片设计不再性感。吸引人的是Facebook和谷歌等软件公司,因为它们时刻都在人们面前。游戏行业也吸引了大量人才。

这不是一夜之间发生的问题,也没有快速的解决办法。它的影响将会影响整个行业,因为从一个人进入这个行业到他被期望成为架构师和首席验证工程师之间有一个时间差。如果人才短缺,这种差距将会在整个历史中持续下去。

有人指出,最大的问题是如何使半导体看起来像一个值得解决的有趣问题。“最聪明的孩子想解决难题。”一些人认为,最好的候选人现在来自相关领域,如物理和化学,他们很容易被训练成电气工程师或计算机科学家。

另一个问题是薪酬。“软件工程师的薪水更高,因为在同等技能水平的招聘市场竞争更激烈。”

薪酬问题也存在于团队内部。“在我们的行业中,最高效的设计师,最富有成效的设计师,比普通设计师的效率高出10倍。科技行业是唯一一个这样的行业。在其他行业,最佳和平均水平之间的差距为20%。这使得这个行业很奇怪。你不能付给他们10倍的薪水,这是一个悲剧。”

参与者还认为,如今验证工程师的薪酬可能会高于设计师。“你希望你的验证工程师,平均而言,比你的设计师稍微好一点,你应该付给他们更多的薪水。”

一位参与者补充道:“除了模拟工程师外,我手下收入最高的工程师都是负责验证的。我付给他们更多的钱有两个原因。首先,这是一个比设计更难的问题。其次,如果事情不顺利,我就是那个会被解雇的人。如果设计是杰出的或好的,没有人能在运输方面看出区别。但如果你拿回芯片却不起作用,每个人都知道该解雇谁——那就是我。”

参与者包括:AMD的Farhan Rahman;ArterisIP的Charlie Janac;丹·雷诺斯基,《赤脚》;J奥古斯托·德·奥利维拉,柏树;Shahriar Rabii,谷歌;英特尔(Intel)桑迪普•巴拉蒂(Sandeep Bharathi);Guy Hutchison (Marvell/Cavium);Nvidia的Anshu Nadkarni;Simon Duxbury, Quantenna;Seonil Choi,三星; Samit Chaudhuri, NVXL. From Oski: Craig Shirley, Dave Parry, Vigyan Singhal.

有关的故事
当虫子逃跑时
发现bug的能力没有跟上系统日益增长的复杂性。bug比以往任何时候都更可能出现在产品中。
调试问题在新节点上增长
随着系统复杂性的上升,找到问题的根本原因变得更加困难;方法和不同的方法发挥着越来越重要的作用。



3评论

Linming金 说:

又一篇好文章,布莱恩。这里有一个问题:为什么时钟控制会导致“更具攻击性的超级细菌”?严格来说我不太清楚。我们已经非常努力地引入尽可能多的时钟控制机会。

布莱恩•贝利 说:

高时钟门控应该在不影响设计功能的情况下降低功耗。但有两件事可能会出错。首先,如果在预门控和后门控设计上运行相同的向量集,则可能会遗漏问题。有必要查看后置门控设计的覆盖率,以确保验证仍然完整。也可能有可能改变行为的极端情况,而向量集可能无法找到这些情况。在这种情况下,正式的比较好。

LM 说:

“现在在美国和欧洲进入这个行业的孩子们并不是最锋利的刀子。”

看到这样一个排外的言论,房间里的人甚至评论区都没有反对,这是非常令人沮丧的。

回复:人员问题:我(并不)惊讶没人提到管理层。这需要一个优秀的管理者,一个拥有软技能的管理者,能够识别、吸引、培养和留住一个由不同文化背景的人组成的团队。(教育路径和文化背景是交织在一起的,因为从美国大学毕业的孩子很可能也是在美国长大的)与其把孩子当作替罪羊,编造这种错误的叙述,不如考虑一下管理者不具备理解、沟通和管理不同背景的人的技能。

此外,为什么在美国或欧洲接受教育的人才愿意为一个认为自己的教育水平低下的经理工作?显然,像上面这样的评论并没有大声说出来,但很容易感觉到偏见,并选择另一家欢迎我们的公司。这是双向的。

最后,看到一群正式的核查专家在讨论人员配备问题时甚至没有质疑假设,这有点讽刺。

签署,
拥有> 15年经验的ASIC验证工程师,面试应届毕业生,并尊重他们。

留下回复


(注:此名称将公开显示)

Baidu