高效时序收敛的SDC技术

科技   2024-12-14 07:47   美国  

SDC是一种行业标准格式,用于指定ASIC和FPGA设计的时序和操作约束。它对综合、静态时序分析(STA)和place和routing等各种EDA工具至关重要。


关键概念:

  • 时钟定义:指定时钟波形和时序特性。
  • 输入/输出延迟:定义信号到达和输出时间的约束。
  • 时序异常:包括需要特殊处理的路径(例如,假路径、多周期路径)。
  • 设计规则:设置最大扇出、transition时间和其他物理规则。

在后端实现中SDC文件的使用帮助工具优化布局和逻辑以满足时序要求。准确的SDC约束确保设计符合性能规范而且可制造。

1.Multi-Mode Multi-Corner(MMMC)约束 

在现实世界的设计中,芯片在各种模式(例如功能模式、测试模式、高性能模式和低功耗模式等)和不同的条件下(制程、电压、温度)运行。SDC必须同时考虑这些变量,这些变量通过MMMC约束进行管理。我们必须确保设计在所有此类模式下都符合时序。

Synopsys PrimeTime等工具允许加载多个场景,有助于分析不同模式和角落的时序。

命令指(适用于Synopsys工具):- set_operating_conditions和set_mode命令可用于在这些模式之间切换。

2.clock group和复杂的时钟关系

许多设计都有多个时钟以不同的频率或相位运行,这使得时序分析变得复杂。现在,假设一组数据从1个触发器(由1个时钟触发)传输,并由另一个触发器(由其他时钟触发)捕获,那么你将如何在它们之间进行时序分析。

同样,当时钟是非同步的时,可以将它们指定为“logically exclusive”,这意味着它们之间不会分析。

SDC提供像set_clock_groups这样的命令来定义时钟之间的关系。在SoC等多时钟系统中,set_false_path命令可用于不需要时序分析的时钟之间的路径。使用create_clock定义适当的时钟域并将其分组有助于避免不必要的时序违例。

命令:set_clock_groups,set_false_path


3.处理高级时序异常 

当一些路径可能需要多个时钟周期才能完成时,设计通常会应用多周期路径或最小/最大延迟约束。这些异常路径有助于优化时序并减少分析中的过度优化。根据您的电路要求,两个低速组件之间的路径可能会放松时序,因为不需要每个时钟周期传输数据。在这种情况下,使用set_multicycle_path,我们指定路径可以需要多少个周期,set_min_delay 或者set_max_delay有助于控制启动和捕获寄存器之间的特定延迟。


命令:- set_multicycle_path,set_min_delay,set_max_delay


4.用于低功耗的Power-Aware SDC

设计 在能源效率优先的设计中,低功耗约束至关重要。您可以通过SDC定义电源门控、多电压域效果,以定义不同电源域之间如何相互作用的信号。

Synopsys PrimeTime PX等工具使用这些约束来执行电源感知时序分析。

命令:set_isolation,set_level_shifter,set_power_domain


5.自动化SDC生成和验证

管理复杂设计的SDC需要自动化来减少错误。自定义脚本可以帮助自动为不同的模块或模式生成SDC文件。自动化脚本可以从RTL或netlist中提取时序要求,并生成适当的SDC约束,从而节省设计迭代时间。


数字芯片实验室
前瞻性的眼光,和持之以恒的学习。
 最新文章