Xilinx 设计方法营销高级总监Tom Feist刚刚在EETimes网站上发表了一篇文章,题目是“’Must Haves’ When Designing for the All Programmable Era.(AllProgrammable设计的基本要素)”,在文章中,Feist认为,对每一个系统开发团队而言,有以下5点非常重要,需要认真去考虑。
一定要满足最迫切的设计挑战:一提到系统设计和设计工具,我们就很容易陷入到派系和哲学的争论中,在这方面的观点和意见总是非常多,但Feist在EETimes上发表的文章,能指导你去关注在系统设计中最迫切需要关注的几个方面:
进度表—错过进度,项目可能就会被取消。晚于市场需求的产品会错过一个重要的时间点(就好像冬季促销旺季,PS.美国促销旺季是在圣诞节前),从而无法获得预期的收益,在某些情况下甚至根本没有收益。公司可能会失败。当错过进度表,所有这些可怕的事情都有可能发生。
“集成”瓶颈—比如:采用RTL代码来集成使用C或者C++语言编写的算法模块、集成现有的或者购买的IP、集成模拟/数字/DSP这类数模混合设计以及验证这些设计。
“实现”瓶颈—包括时序收敛以及后期的ECO (Engineering Change Order,工程改动要求)。
使用一个可行的设计方法来预估设计周期:再强大的芯片,其本身并不能建立出一个成功的系统。强大的芯片与强大的工具结合在一起也不一定能建立一个成功的系统。只有采用一个基于最佳实践的,可行的设计方法(可重复的、不是特例的),正确地使用设计工具,才能保证按时完成设计,并把费用控制在预算范围之内。设计方法即使可行,也必须随着芯片技术和工具的发展而不断向前发展,这些都不能停滞不前。业界最佳实践是发展的一个结果,一个好的设计方法也必须随之发展。
IP是秘密武器:“重新设计轮子”会使得开发计划岌岌可危。对系统设计而言,开发那些不能增加特殊价值的系统组件是没有任何意义的。一个以太网MAC?也许你的团队可以设计一个更好的,但是有什么价值呢?自从Intel在1982年推出一个40-pin DIP封装的82586以太网协处理器后,人们就已经在他们的设计中使用购买的以太网MAC IP了。(那都已经是32年前的事了)一个150Gbps Interlaken模块、一个存储器控制器或者一个PCIe模块,这些都是类似的情况。如果从头开始设计一个系统模块不能增加价值,那么你就不能去设计它,而应该选择一个现成的,这样你在几秒钟之内就可以降低这个设计的门槛。你需要一个设计工具,可以帮你很容易地把这个IP模块以及整个IP子系统集成到设计中,因为IP复用不再是一个可选项,它是一个符合业界标准的最佳实践。
把抽象的概念推进到极限:算法设计人员已经在使用MATLAB、C以及C++,因为这些工具能够用来进行快速开发和验证。而传统的、过时的方式是把算法扔给实现团队,在一个目标处理平台上进行软件优化,或者使用Verilog或VHDL语言,手工转换成硬件描述语言。缩短开发计划、保持工程预算可控的一种有竞争力的方法是在所有可能的地方都利用自动化,在尽可能短的时间内开发出一个系统。问题不应该再是“我们能设计一个更好的吗?”,而是“我们如何使用它在市场上打败竞争对手”,这是在观念上的一个根本性变化。
使用HLS来生成IP:Feist的最后一个观点或许是最具争议性的。现在大家一般采用非RTL语言来开发算法和建模,包括MATLAB、C、C++、OpenCL以及SystemC。算法设计人员在这个层次上设计以及验证的速度更快(在某些情况下可以快1000倍)。高层次综合(HLS)可以把这些算法快速转换成IP模块。HLS现在已经用于无线、医疗、国防以及消费类应用领域(PS.可能你的竞争对手已经用了)。关于这一点,你当然可以有一些保守的讨论—就在上周,我已经在FPGA团体的社交网站上看到了这么一个讨论,是基于我上一篇关于HLS的博文(“我们能相信HLS吗?Brian Bailey想知道,也许你也想知道”)的。当你的开发团队还在讨论的时候,你的竞争对手将会使用HLS在市场上击败你。
Feist的文章最后总结说:“在过去的15年里,EDA技术有了非常大的进步,现在,我们寻求下一代开发工具,一定要着眼于彻底解决系统级集成和实现过程中的工作效率瓶颈问题,这是非常重要的。”
-
eda
+关注
关注
71文章
2758浏览量
173244 -
系统开发
+关注
关注
2文章
118浏览量
9805 -
C++
+关注
关注
22文章
2108浏览量
73639
发布评论请先 登录
相关推荐
评论