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
Fmax: 该选项以速度性能为目标来优化逻辑。
Area: 该选项以最佳资源利用率为目标来优化逻辑。
Speed: 该选项以速度性能为目标且兼顾资源利用率来优化逻辑。
一般情况下,如果没有性能要求时,而宏单元占用较多时,可考虑Area选项,尤其当Utilize Clock Enable选为No时。如果性能要求为首选时,可先考虑Fmax选项。而Speed选项在性能上接近Fmax选项,但资源利用率比Fmax选项好。以上选择方法适合大多数情况,但具体设计对这三种选项都作尝试,仍不失为可取的设计流程。
4. Max_pterm_collapse
该选项是指每个宏单元使用的最大乘积项数目。
一般情况下,选缺省值。如宏单元数未超过器件最大值,但fit失败,可适当降低该值,或与Max_fanin结合考虑。
5. Max_fanin
该选项是指每个宏单元的最多扇入数目。
一般情况下,选缺省值。如宏单元数未超过器件最大值,但fit失败(如ispLEVER提示某GLB输入数超过36),可适当降低该值,如选16,或与Max_pterm_collapse结合考虑。
6. Max_fanin_limit
要针对Fmax优化模式。
若由于关键路径的信号逻辑过于复杂使其扇入数目过多而引起fit失败,可适当降低该值,如选20。
7. Max_pterm_limitEDA
要针对Fmax优化模式。
若由于关键路径的信号逻辑过于复杂使其乘积项过多而引起fit失败,可适当降低该值,如选20。
Max_pterm_limit和Max_fanin对布通率的影响如下:若引脚锁定且设计所用的occupied macrocell数与器件的最大值有一定余量的情况下fit 失败,可适当降低Collapsing Max. Product Term和Collapsing Max. Input的值,以便于通过fit。也就是说,若fit没通过,可逐渐(分别)降低该两项值(只要macrocell数没超出器件允许值),来方便fit的布局和布线。例如,对ispMACH4000器件,一般来说,Collapsing Max. Product Term取16左右而Collapsing Max. Input取20左右时,有助于fit通过。但它有可能以牺牲性能为代价。
8. Clock_enable_optimization
一般选择Keep_all来节省资源(即较少的Product Term和Macro Cell),但有时会对速度有一定影响。
9. Auto_buffering_for_high_glb_fanin
当出现GLB的扇入数目过高,fitter会尝试自动加buffer来降低其扇入数,但这会增加延迟。
若引脚锁定时fit失败,尤其是许多输出信号逻辑很复杂,可考虑选On。
10. Auto_buffering_for_low_bonded_io
要针对使用输入寄存器的场合(尤其使用256MC/64IO)。
若设计中使用输入寄存器,并且将输入寄存器锁定到固定GLB,或输入寄存器较多且引脚锁定,从而导致fit失败,可选择On,但这会增加延迟。
全部0条评论
快来发表一下你的评论吧 !