竞争的加剧必然会导致产品设计周期的缩短,因此任何有助于提高工程团队生产效率的行为都是非常有价值的。
当产品销售经理把一份技术规范交给一位工程师时,他(她)就确定了一套约束条件与特性。尽管“约束条件”一词含有限制的意思,但在工程领域里,约束条件和特性是指必须实现并得到验证的一种设计的特性。工程艺术涉及到既要解释市场指令,又要制定一套有助于生产最终产品的设计规则。约束条件有各种不同的类型。产品规范总是包括功能约束条件,用以描述一个产品应具备什么功能或者在某些情况下不应有什么样的功能。事实上,销售人员经常把该文件称为功能规范。随着ic和印制电路板制造技术的不断完善,性能要求、环境标准和可制造性指令变得越来越重要了,因此必须在设计周期内尽快地予以确定。
遗憾的是,确定一种新产品的特性或者对现有产品的改进仍然靠手工操作来进行,这种手工操作是以电脑不容易分析的一种语言和格式编写成的文档为基础的。物理约束条件包括参数的名称及其预期值或参数值范围;在大多数情况下,你可以采用类似电子数据表的形式来定义物理约束条件。熟悉电子数据表和计算机程序的销售人员就能对文件进行分析,因此这种电子数据表可能成为产品规范不可分割的一部分。但是随着产品推出的速度越来越快,体积越来越小,这种方法必须不断演进,以处理设计师们面对的日益增加的复杂性。把特性和约束条件变为适合多种工具的输入参数时发生的差错是很难被发现的,,而且会带来巨额的设计和修补费用。差错未被发现的时间越长,费用就会增加得越多。
工程师必须能同时对付跨越分层边界的诸多问题。产品特性不仅源于市场方面的要求文件,而且还源于制造方面的规范,甚至来源于eda厂商,因为设计师必须考虑工具的局限性和工作特性。设计小组必须使功能特性与目标实现技术的实际要求和局限性相一致。工程师必须同时对付时序分析、信号完整性、串扰、配电和节电等问题。虽然你可以找到解决其中每一个问题的eda工具,但是就其中一个问题所做的决定又可能会影响到另一个问题。现在再也不可能仅仅通过综合指令来满足所有的定时要求,或者把这些制造问题推迟到布局和布线阶段来解决。约束条件管理系统必须既支持自顶向下的分析,又支持自底向上的验证工具,并能跨越设计层次。
一项设计的实现就是一个分解过程。工程师要优化在较高抽象层次上表达的各种结构和特性。这个过程必须以一种允许工程师将某一特性与其母结构相关联的方式来保留功能约束条件和物理约束条件。设计过程中的的每一步,你都必须整合任何一种约束条件管理系统,以迎接当今的各种挑战。这种系统必须能使工程师通过依据设计的现状显示特性状况的实时显示器来访问各种特性。设计师还必须能够捕获、管理和验证与特定工具无关的特性。否则,设计公司就失去了为给定的功能选择最好单点工具的自由,从而成为一家特定eda厂商的俘虏。
在描述一种能提供设计过程概况的工具时,eda业界的大多数人都避免使用“设计框架”,而爱用“设计环境”或“设计舵舱”。框架是最好的术语,因为它会在你的脑海里描绘出falcon framework的景象。falcon framework是一种形成并支持设计过程的架构。eda行业不应当害怕15年前进行的这种不幸的实验,而应该回过头来使用更合适的术语来描述这类工具。在falcon framework之后的这段时期内,数据库技术得到了明显的改善,设计师们对设计项目和分级开发方法之间的关系也有了充分的认识。
遗憾的是,现有环境过多地以工具为中心,从而迫使设计师们把注意力集中到他们目前正在使用的工具上,而不是集中到他们正在开发的设计上。一个好的约束条件管理系统同时也是一个良好的设计管理系统。它以数据为中心,并独立于工具,从而使设计师们能把精力集中到设计的内容和要求上,而不是集中到工具和对工具的要求上。例如,你虽然可以使用一种工具来为你的产品制造并验证一个电源网络,但是必须了解你在设计决策时所使用的约束条件和规则。这样,处理配电决策对串扰或信号完整性等所造成的影响就更容易了。