在设计 RTL 之后,我使用 Synplify pro 创建了 my_design.sdc 文件(用于约束时钟、输入/输出延迟……)。当约束正确时,我单击综合,然后我会自动获得另一个 my_design_sdc.sdc 文件。如果我右键单击第一个,我可以为 my_design_sdc.sdc 文件选择“用于综合”和“用于编译”。我不明白的是,哪个文件是做什么用的,因为在编译和布局布线之后,还有一个 SmartTime 软件,它采用 my_design_sdc.sdc 文件。
Q1:这两个文件有什么关系?
Q2:是否必须将它们都放在完整的链中(RTL 设计到编程)?
Q3:如果是这样,如果 SmartTime 的命令与 Synplify 不同,我如何确定约束之间的关系是相同的?
Synplify 多周期约束定义:
set_multicycle_path [-start|-end] [-from {objectList}] [-through {objectList} [-through {objectList} ...]] [-to {objectList}] pathMultiplier[-disable] [-commentcommentString]
SmartTime 多周期约束定义:
set_multicycle_path ncycles [-setup] [-hold] [-from from_list] [–through through_list] [-to to_list]
此外,Synplify 使用define_clock命令来定义时钟约束,SmartTime 使用create_clock。这些只是很少的区别。
我在用着:
- Libero SoC v11.8 sp2(在经典约束流视图中)
- 冰屋2