首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA-PCB管脚同步

FPGA-PCB管脚同步

管脚和器件交换一直是电子设计师用来降低 PCB 布线难度并保持竞争力的技术之一。但由于 FPGA 价格的不断降低和性能的不断提高,FPGA 得到了越来越多的应用,这给传统 PCB 设计流程带来了新的压力。
以前互换一个 IC 封装中几个门或者几个排阻的连接工作完全不同于现在,我们现在需要在一个或更多 FPGA 器件中管理几百个管脚交换,然后在 FPGA 设计中对这些改变进行同步。随着多个轮次不断循环进行下去,在 PCB 和 FPGA 域同步数据和管脚的任务本身就十分耗时,因此管脚交换任务十分艰巨。
因此,设计师需要克服不断增加的同步复杂度问题以便继续利用可编程硬件的优势。
本文研究了传统设计流程及其处理 FPGA 设计时的效率问题,探讨了板级设计师如何利用 FPGA 的优势而又不会对其复杂性产生困扰。专门讨论了原理图、PCB 和 FPGA 设计领域间管脚交换数据的管理。
我将探讨板级设计师常用的各种原理图和 PCB 设计数据同步方法,这些方法需要做怎样的改变才能处理越来越强大的 FPGA所带来的复杂性问题。我也会提出一个改进的数据同步模式,以及购买设计工具时的几点考虑。
老方法与新方法 :设计同步的老方法 客户板级产品设计一般包括两个主要阶段 :原理图输入和 PCB 版图。原理图首先作为电路的逻辑表示创建,并使用符号语言和电路拓扑进行设计目的和连接性模式的通信。PCB 版图采用连接性模型创建设计的物理表示,然后进行经济可靠的生产制造。
原理图和 PCB 环境间工作的一个挑战就是,虽然原理图文档负责指定组件间的逻辑连接,但是直到设计移植进 PCB 版图后工具后才有可能进行物理优化。例如,多个组件可能存在于一个单一的封装如排阻中,原理图开发人员可能不加区分地对电阻进行连线,而 PCB 版图专员可能希望对连接重新排序以改进线路位置。
随着设计的进行以及连接模型的更新,原理图或者 PCB 域的任何变化都需要应用到其他域以保证项目级别的同步。有两种典型的做法。老的设计封装(或者老设计使用的封装)只支持从原理图到 PCB 的前向设计信息传递。在这种情况下,对 PCB 连接进行修改的唯一方式就是修改原理图文档然后传递这些改变。对于简单的设计,这只是有些不方便,但对于大型设计或更加复杂的设计,或者需要 FPGA 内嵌灵活性优势的设计,这种方法将十分不方便。
在 PCB 层次试图进行管脚或部件交换时,只能进行前向数据同步就显得十分局限了。因为对一个器件或一组连接的改变往往是循环往复的过程,所以经常要不断优化。如果前向传递是设计同步的唯一方式,那么设计师可能要一轮轮地不断"修改原理图、更新 PCB"。每个设计循环周期都会消耗时间,而几次循环下来总体消耗时间是十分惊人的。
理想情况下,通过 PCB 版图工具改进线路布线的流程应该不是一件困难的事情。如果是一位版图专家做修改这是很有可能的。但要使之成为可能的话,设计系统必须能够把设计信息从版图工具重新传播回原理图工具。通过 Engineering Change Order(ECO) 流程或 'was/is' 文件可以实现。对 PCB 文档进行不同更新后可创建 ECO 文件并传送到原理图工具以便实现到原理图页面。该文件有时被称为 was/is 文件是因为更新的方式经过排序,如管脚 1 原来与管脚 2 连接,现在管脚 1 连接到了管脚 3。
ECO 文件的使用是一个直观的流程,但需要用户遵守严格的设计流程。如果在项目的设计周期内生成了多于 1 个的 ECO 文件,那么需要多加小心,以保证该文件应用到的原理图完全按照其创建顺序。如果在 ECO 文件结合前就应用了手工编辑,那么同步可能完全失败,设计的编辑将丢失。在这样的情况下进行恢复需要进行几小时枯燥的人工编辑。
没有足够的同步工具用于设计是十分痛苦的 ECO 方法是原理图和 PCB 设计系统设计同步最普遍的方法。但不幸的是,多数工具厂商把 FPGA 设计流程与板级设计流程相隔离。因此作为原理图和 PCB 文档同步完整部分的 ECO 流程无法延伸到 FPGA 设计数据。
采用手工方法解决分离数据的问题非常麻烦。虽然对非常小的 FPGA 器件手工同步 PCB、原理图和 FPGA 设计数据是可行的但在一个具有 1000 多个管脚的 FPGA 器件上进行同样操作几乎是不可能的。例如,想想这 1000 个管脚的器件,管脚反复交换 10 次,以便改进布线复杂度和 PCB 版图选项。这意味着共有 10,000 个管脚需要手工检查和同步。假设每个管脚校验和更新需要 1 分钟,那么仅仅管脚交换需要的时间就是 10,000 分钟或 166 小时。假设名义成本是每小时 50 美元,那么这种工作就会带来 8300 美元的劳动成本,以及大约 1 个月的开发计划延迟。 ( 见图 1)
图 1随着管脚数量上升,FPGA 器件手工管脚交换的成本也极大增加。
作为手工管脚和数据同步的替代选择,许多设计工具厂商提供了各种插件,这些插件与他们的核心产品一起构成了一个"完整的"方案。在这种方案中,他们把 FPGA 数据向板级设计流程的传递看作仅仅是对现有流程做一些改进。但这种观点应当受到质疑。
集成工具将电子设计看作一系列分立的设计流程,设计数据通过创建流程进行本地化。当一个流程需要使用其他流程的数据时,该数据通过独立的"螺栓"连接获得,将数据解析成合适的下游格式。如果有可用的上游数据,则这些数据通过其他设施执行后向转换进行管理。
表面上看,购买现有设计包的插件可能是一个好的解决方案,但仔细分析后,就会发现这将给整体设计流程带来很大的复杂度。由于涉及数据保存在使用数据的进程本地,因此数据同步问题实际上更复杂而不是得以改进。(见图 2)


图 2使用'螺栓'模块或功能管理 PCB 设计中的 FPGA 数据。请注意设计流中更高的复杂度。
继承事业,薪火相传
返回列表