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

如何通过RTL分析、SDC约束和综合向导更快推出FPGA设计

如何通过RTL分析、SDC约束和综合向导更快推出FPGA设计

关键字:RTL   SDC   FPGA  
大多数 FPGA 设计人员都充满热情地开展专业化问题解决和创造性工作,当然,他们工作压力也相当大,工作流程也非常单调乏味。幸运的是,EDA 公司和 FPGA 厂商不断开发新的工具和方法,推进繁琐任务的自动化,帮助设计团队集中精力做好创造性工作。下面我们就来看看 FPGA 工具流程的演进发展,了解一下现代 FPGA 团队是如何利用 RTL分析、约束生成和综合导向来减少设计迭代的。
如果您已经是一名 FPGA 设计专业人士,那么将拥有辉煌的职业发展前景,因为越来越多传统上需要 ASIC 实现的设计现已改用 FPGA。随着新一代芯片工艺技术的推出,设计 ASIC的成本正呈几何级数增加。与此同时,FPGA 厂商则能利用最新工艺技术实现新一代产品,且不会让客户承担过重的成本负担。

但不容乐观的是,FPGA 设计相当复杂,需要跟 ASIC 流程一样复杂的工具流程,这往往需要整个设计团队的共同努力才能完成,而不能光靠一名设计人员。因此,FPGA 设计团队在着手ECO 或新项目之前应认真分析现有的工具套件。那么好消息呢?就是新一代EDA 工具如雨后春笋般涌出,可助他们一臂之力。设计人员可选择采用标准数据格式且易于安装和使用的工具,简化流程集成工作,而且能够在选定的平台(不管是 Windows 还是 Linux)上实现本机运行。

FPGA 工具流程的发展演进

这些年来,FPGA 设计日趋复杂,工具流程也随之发展,而且越来越像 ASIC流程。上世纪 90 年代,FPGA 流程(见图 1 的流程 A)跟当时的简易 ASIC 流程一样,最初以 RTL 为基础,并采用综合及布局布线工具。随着设计变得进一步复杂化,FPGA 团队在流程中增加了时序分析功能,帮助客户确保设计能按指定的频率运行。今天的 FPGA已经发展为庞大的系统平台,设计团队通常要通过 RTL 分析来最小化设计迭代,并确保设计能够实现相应的性能目标。




进而言之,由于今天的 FPGA 设计项目非常庞大复杂,所以设计人员需要想尽一切办法更好地了解设计的规模和复杂性,以便更好地控制流程中的工具,加速设计上市进程。现代FPGA 设计团队正在采用一种新型方法,那就是在整个设计流程中贯穿约束机制。我们不妨看看当下最流行的、现已得到赛灵思最新 Vivado 流程支持的一种约束方法——Synopsys 设计约束 (SDC) 格式,以及了解如何通过 SDC 让设计项目受益。

什么是 SDC?

SDC 是一款基于 TCL 的格式,可用来设定设计目标,包括设计的时序、功耗和面积约束。一些产品能读取或写入 SDC。一些示例 SDC 约束包括时序约束(如创建时钟、创建生成时钟、设置输入延迟和设置输出延迟)和时序例外(如设置错误路径、设置最大延迟、设置最小延迟以及设置多周期路径)。这些 SDC 约束通常应用于寄存器、时钟、端口、引脚和网络(连线)等设计对象。

需要指出的是,尽管 SDC 是标准化格式,但生成的 SDC 和读取 SDC之间还是略有差异(不同工具之间有差异)。了解这些差异并积极采取措施,有助于避免意外情况的发生。

SDC 不应过于复杂

SDC 最常见的应用就是约束综合。一般说来,设计人员要考虑设计的哪些方面需要约束,并为其编写 SDC。设计人员通常要执行流程 B 中描述的流程,首次肯定无法进行时序收敛。随后要反复手动盲目尝试添加 SDC,以实现时序收敛,或让设计能在指定的频率上工作。许多从事过上述工作的设计人员都抱怨说设计迭代要花好几个星期,往往会拖延设计进程。

迭代的另一个问题在于,数名设计人员可能在不同的地点为 SDC 设计不同的模块。这样设计工作会变得非常复杂,设计团队必须想办法验证SDC,避免在芯片级封装阶段出现层级名称的冲突。要确保进行有效的设计协作,就必须采用适当的工具和方法。

流程 C 是现代化流程,除了流程B 的工具之外还采用了分析、SDC 约束和高层次综合技术,在解决上述问题方面发挥了重大作用。
返回列表