过去我曾使用过一些Xilinx FPGA,并且能够使用VHDC属性(如RLOC)轻松创建翻转翻转位置。
目前我正在使用SmartFusion2 FPGA并试图在Libero SoC中实现相同目标。在查看" Synopsys FPGA Synthesis Synplify Pro for Microsemi Edition:Attribute Reference"后,我能够找到" alsloc"这似乎是RLOC的直接等价物。
但是,添加此属性根本不会改变或影响MACRO的位置。
进一步观察我发现" set_location"可以在设计约束文件中使用约束来修复MACRO的位置。不幸的是,这限制了MACRO在芯片上的ABSOLUTE位置的位置,并且可能干扰其余的自动放置和布线优化工作。
那么有没有办法使用VHDL属性或设计约束文件指令限制Libero SoC中MACRO(特别是触发器)的相对位置?
答案 0 :(得分:1)
据我所知,没有直接的等价物。 最接近的可能是define_region / assign_region约束。
使用“assign_region”将一组相关的触发器或整个组件实例与用户定义的区域相关联。 “define_region”指定区域的大小和位置。 Libero会将相关部件放在该区域内。
该区域仍然具有绝对位置,但要移动触发器,您只需要更改“define_region”约束。 它没有RLOC那么优雅,但它确实起到了作用。