Lattice ispLEVER开发工具中关于ispMACH4000系列CPLD的一些常用constraint选项要点如下:
1. Dt_synthesisEDA
Yes: 允许fitter使用宏单元中的T触发器来节省乘积项(PT )资源。建议选Yes。
2. Xor_synthesis
Yes: 允许fitter使用宏单元中的硬XOR门来节省乘积项(PT )资源。
当寄存器的输入包含异步输入引脚信号时,由于目前ispLEVER版本优化时考虑不够全面,应避免使用Yes选项。否则,最好选Yes。
3. Nodes_collapsing_mode
Fma
在电子设计自动化(EDA)和可编程逻辑器件(PLD)领域,ispMACH 4000系列CPLD是Lattice Semiconductor公司提供的一种广泛应用的复杂可编程逻辑器件。在设计过程中,优化参数的选择对于实现高效、可靠的硬件设计至关重要。本文将详细探讨ispLEVER开发工具中关于ispMACH 4000系列CPLD的一些关键约束选项,以帮助开发者更好地理解和利用这些工具。
1. **Dt_synthesisEDA**:
这个选项控制fitter是否可以使用宏单元内的T触发器来节省乘积项(PT)资源。设置为"Yes"通常推荐,因为它允许更有效的资源利用,尤其是在资源紧张的情况下。
2. **Xor_synthesis**:
当此选项设为"Yes"时,fitter会利用宏单元中的硬XOR门来节省PT资源。然而,如果设计中的寄存器输入包含异步输入引脚信号,当前ispLEVER版本的优化可能不完全理想,这时应谨慎使用。如果异步信号不是问题,建议选择"Yes"以提高资源效率。
3. **Nodes_collapsing_mode**:
这个选项提供了不同的优化策略:
- **Fmax**: 优先考虑速度性能,适用于对系统运行速度有较高要求的情况。
- **Area**: 以最佳资源利用率为目标,适用于资源有限但对性能要求不高的设计。
- **Speed**: 在保证速度性能的同时尽可能节约资源,适用于需要平衡速度和资源的设计。
根据具体设计需求,选择合适的模式进行优化。
4. **Max_pterm_collapse**:
这个参数限制了每个宏单元可使用的最大乘积项数。通常使用默认值,但如果遇到fit失败,可以尝试降低该值,或者结合**Max_fanin**一起调整。
5. **Max_fanin**:
定义了每个宏单元的最大扇入数。默认值通常足够,但在fit失败时,可以降低此值,以解决布局和布线问题。
6. **Max_fanin_limit** 和 **Max_pterm_limitEDA**:
这两个参数主要针对Fmax优化模式,用于处理关键路径上的复杂逻辑导致的fit失败。降低这两个值可能有助于fit通过,但可能会牺牲性能。
7. **Clock_enable_optimization**:
选择"Keep_all"可以节省资源,但可能影响速度。根据设计需求权衡资源使用和速度性能。
8. **Auto_buffering_for_high_glb_fanin**:
当全局布线块(GLB)的扇入数过高,选择"On"可以让fitter自动添加buffer减少扇入数,虽然这会增加延迟。在锁定引脚且GLB扇入问题突出时,可以考虑启用此选项。
9. **Auto_buffering_for_low_bonded_io**:
对于使用输入寄存器的设计,特别是256MC/64IO配置,如果输入寄存器锁定到特定GLB或数量较多,导致fit失败,可以开启此选项,但同样会增加延迟。
理解并熟练运用这些ispMACH 4000系列CPLD的优化参数,能够帮助设计者更有效地利用资源,提高设计的性能和可靠性,同时也能解决在fit过程中可能出现的问题。在实际设计中,建议根据设计的具体需求和目标,灵活调整这些参数,以达到最佳的硬件实现效果。
1