如何解决设计无法综合的问题

2025-04-06 04:04:58
推荐回答(2个)
回答1:

  设计错误的出现可能导致无法实现有效综合或布局布线。由于存在成千上万的RTL和约束源文件,因此可能需要几个星期才能完成首次综合与布局布线。进行FPGA原型设计时,应让ASIC 设计源文件处于“FPGA就绪”状态。举例来说,就是要进行门时钟转换。
  在 FPGA中原型设计的ASIC门控时钟结构并非FPGA实现中的必要环节,这会导致FPGA资源使用效率低下。解决该问题的有效办法就是用FPGA综合软件转换时钟。例如,门控或生成时钟转换功能可将生成时钟和门控时钟逻辑从顺序组件的时钟引脚转移到使能引脚,这样您就能将顺序组件直接绑定到源时钟,消除偏移问题,并减少设计中所需的时钟源数量,进而节约资源。
  在Synplify Premier 软件中启用门控时钟选项:
  – 选择Project->Implementation Options
  – 在GCC & Prototyping Tools 标签中点击Clock Conversion checkbox
  或在TCL中使用以下命令
  set_option -fix_gated_and_generated_ clocks 1
  在Synplify Pro/Premier 中执行门控和生成时钟转换,而set_option -conv_mux_xor_gated_clocks 1则针对基于Synopsys HAPS 的设计在Synplify Premier 时钟树的多路选择器或OR 门上执行门控时钟转换。

回答2:

设计错误的出现可能导致无法实现有效综合或布局布线。由于存在成千上万的RTL和约束源文件,因此可能需要几个星期才能完成首次综合与布局布线。进行FPGA原型设计时,应让ASIC 设计源文件处于“FPGA就绪”状态。举例来说,就是要进行门时钟转换。
  在 FPGA中原型设计的ASIC门控时钟结构并非FPGA实现中的必要环节,这会导致FPGA资源使用效率低下。解决该问题的有效办法就是用FPGA综合软件转换时钟。例如,门控或生成时钟转换功能可将生成时钟和门控时钟逻辑从顺序组件的时钟引脚转移到使能引脚,这样您就能将顺序组件直接绑定到源时钟,消除偏移问题,并减少设计中所需的时钟源数量,进而节约资源。
  在Synplify Premier 软件中启用门控时钟选项:
  – 选择Project->Implementation Options
  – 在GCC & Prototyping Tools 标签中点击Clock Conversion checkbox
  或在TCL中使用以下命令
  set_option -fix_gated_and_generated_ clocks 1
  在Synplify Pro/Premier 中执行门控和生成时钟转换,而set_option -conv_mux_xor_gated_clocks 1则针对基于Synopsys HAPS 的设计在Synplify Premier 时钟树的多路选择器或OR 门上执行门控时钟转换。