使硬件设计更加敏捷

专家们表,第1部分:硬件和软件的不同方法;问题硬件是否能真的镜子,软件团队采用的方法;测量什么作品,而不是试图找出什么是坏了。

受欢迎程度

半导体工程坐下来是否需要更改硬件设计方法,与菲利普•古铁雷斯ASIC / FPGA设计经理IBM的FlashSystems存储组;丹尼斯Brophy,战略业务发展总监导师图形;集团主管弗兰克Schirrmeister产品营销系统的开发套件节奏;汤姆德舒特、高级产品营销经理仿真器解决方案Synopsys对此;,负责营销的副总裁兰迪·史密斯超音速。以下是摘录的谈话。第二部分,点击在这里

SE:敏捷开发工作在硬件世界吗?为什么我们甚至考虑呢?

Schirrmeister:总有一个渴望镜像软件的人,谈了很多关于敏捷和冲刺,直到你听人说硬件的软件是走得更远。我们有一个tapeout漏洞在哪里删除。软件的家伙总是指望服务包两个解决的事情他们没有得到正确的第一次。这是一般的主题。但如果你看看今天的开发流程,硬件和软件变得更加紧密。敏捷方法是将硬件和软件共同更快地中介表示。Synopsys对此称之为连续的引擎。节奏称之为系统开发套件。导师称之为企业验证平台。你把所有这些工具一起早让你在敏捷方法,在软件和硬件连接是怎么回事。 Another way of looking at this is Shift Left, where left means earlier on the project schedule.

德舒特:技术变化如此之快,很难预测提前半年到一年你需要满足客户需求基于其他人带出。所以除非你要么是完全走在前列,带出了一个令人难以置信的创新产品,您还需要有一个敏捷方法适应任何其他人带出来。软件很容易适应。也是说得通的硬件,更容易适应一个规范,该规范和任何技术趋势。

史密斯:趋势是更基本。左移位主要是关注获得软件开发人员对工作有用的东西,可以推动整个项目。敏捷是试图改变我们做事的方式从技术基于瀑式的方法,有效地说你必须完成一个步骤在进入下一步之前,成,你可以更容易适应变化并开始某些步骤和不完整的数据。和敏捷我们要看不同的做事方式。当你看的软件实现敏捷开发,他们想出一个术语,在硬件方面的人不熟悉在scrum的冲刺和其他技术。这是更快地完成任务的方法。这是不同的,这可能需要一种不同类型的工程师擅长它。有讨论EDA是否我们需要非常专业的工程师,在过去10年有在另一个方向推动关于为什么我们需要工程师广泛的和愿意学习不同的技术和专业领域的EDA让他们更灵活,因为团队规模要小。如果你看物联网,他们不会让人们通过网络功率降低。

Brophy:我们已经做了相当多的投资方法,刚性和审议的步骤。已经成功在软件方面,如果不工作,很容易改变软件。苍蝇在面对有可执行的规范。如果这些是众所周知的,并且能够被使用在高级别上,可以左移位,使早期的软件运行在这些系统。但我们也在看设计师之间的分裂和验证工程师,我们限制数量的设计工程师和验证工程师和可持续的质疑。我们意识到需求往往不是一开始。就像一个营销团队可以为定制回来,在软件方面越来越接近完成一个设计你越接近市场。那么你要重新考虑是否已经准备好了你的产品市场。敏捷带来的团队的方法是不同的,设计一组,另一组验证它的东西。这是一个协作的团队成员。 That allows for more sound choices in how something is constructed and verified. This isn’t just for the complex SoCs. We see this emerging in the FPGA space, and we think that’s an area where the uptake of Agile methods may mirror what you see with software teams today. But even on the most complex designs, our customers will start with the design they did before and build off of it. That’s almost an Agile building block approach.

古铁雷斯:一个敏捷的好处是,你可以开始做一些工作,即使你没有一个完整的规范。我们看到的一个挑战是在验证方面,使用DV家伙想出一个预先测试计划然后执行对测试计划。但如果规格不预先锁定他们正在改变,这意味着他们的测试计划改变,。我们赞叹不已。我们有硬件,DV人和固件人,我们都在一起工作,这是非常有益的。特别是在DV方面,他们很难齐心协力固体DV计划。它不断改变每一个冲刺。

SE:这里有几个问题。一个是更快的上市时间。第二个是一个更好的产品,更好的信心和更好的报道。敏捷在哪里打到这个吗?

Schirrmeister:敏捷在硬件必须从根本上不同的东西,因为时间尝试比软件是非常不同的。我是一个英语爱好者。我喜欢一个可执行的规范。但我也一直在为更好的部分20年,我有点失望。从我所看到敏捷软件工程。所有这些冲刺和scrum工作在一个特定的软件实现,那么你有一个构建过程需要一天,所以你可以试试,看看你把东西弄坏了。如果你这样做在硬件方面,风险完全搅乱了验证。在硬件方面的挑战是,时间尝试左移位的由来。过去20周让硅tapeout,然后三个月,你甚至不能改变盖茨因为它是RTL实现的一部分,你只能做ECOs。敏捷的定义在硬件软件不适用相同的方式,因为它需要更长的时间进行尝试。 If you can see it on a virtual platform within two days, that’s great. For the software, we aren’t there yet.

Brophy:今天是有什么我们倾向于做设计的人交给DV工程师找出它怎么了。我们最大的这是一个报告管理的不工作。敏捷翻转。而不是告诉你什么不工作,它能给你带来自信的工作,是完全测试,DV工程师协作能做什么。验证工程师最困难的时候甚至理解什么一块。敏捷团队协作的概念允许大量的理解来验证方面,所以你开始知道的部分设计薄弱,需要测试什么,部分已经使用过。DV工程师可能不知道这个东西,但是它改变了团队之间的谈话参与者和添加一个显而易见的改变。所以你可能会有高层管理看仪表盘,例如。

Schirrmeister:我同意100%,但我不确定敏捷是正确的术语。

史密斯:我最近访问了关键,实践先进的敏捷软件开发。我认为这是方式不同。所有代码都是成对的。所以他们两个人并排坐着,使用相同的屏幕,和一起工作。这是一个完全不同的工作方式。结束时,有一个大屏幕,颜色编码,他们所有的单元测试以及一些其他的测试。每次检查的东西,它是自动更新。这些测试是由团队。开发测试这是一个不同的任务,所以它可能是不同的对每一个。但是我们有一个世界,我们有验证专家不知道任何关于设计和我们已经知道很多关于设计的人但是他们一无所知的考验。 That’s probably one of the biggest reasons why formal has been slow to get adopted even though the benefits are so high. We don’t have enough people who know how to do formal.

Schirrmeister:这不是真的了。

史密斯:但它可能会好很多。如果你看看招聘广告在硅谷,没有足够的验证工程师。我们可以改变人们的工作方式,工作的一部分。您可以添加功能,功能设计。如果你有120的特性和80,你有一个好主意,你在哪里,而不是所有这些测试完成,但你不知道需要多长时间。敏捷的软件很多小组互动的世界,一次一小步,建筑上的东西被描述在不同的层面上。在我们的例子中,设计可能SystemC的一部分,在RTL其他部分,其他部分已经提出。和你不关心这些最后的修改,因为你没有一个生态流的逻辑。如果你得到一个高层变化在逻辑方面,你将按钮,但你不知道到底会发生什么。

德舒特:硬件和软件将永远不会是相同的。硬件永远不会一样灵活的软件。敏捷,它提供了一个解决方案吗?你可能更看子系统设计,现在你有一些灵活性,而正在开发各个部分,和你有较小的团队建设更小的子系统。而不是一个大的视图设计和验证不同。从软件和硬件方面,我会见了一个顾客说,从虚拟样机的角度来看,因为增加软件的复杂性设计验证必须在软件的背景下发生。左移位的我们做了很多,而是因为有太多的软件,这是一个设计验证任务变得如此复杂,驱动软件,他们走到一起。我们怎么把碎片在一起,所以它变成了早些时候获得软件的硬件验证的一部分吗?



留下一个回复


(注意:这个名字会显示公开)

Baidu