vivado运行Implementation时报错
Instance u SYS MMCMinst/clkin1 ibufds/BUFCTRL INST (BUFCTRL)is unplaced after lO placer
第一种情况:表明你的时钟不是一个标准的时钟接口,可以在约束语句中加入
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets name(引脚名称)]
让编译知道此I/O口不是正常时钟引脚,跳过错误。
第二种情况:如果不行,用原语增加一个缓冲器:BUFG或者IBUFDS。
原语的意思和使用就不讲解了,自己去搜一下就出来了。当然前面的约束也是需要的。不过约束的就是BUFG或者IBUFDS的引脚端口了。
第三种情况:如果还不行还是报相同的错误,那么就要检查你的时钟接口是否能够满足时钟分项连接。
比如:在DDR4中的差分时钟只能单独拿来给DDR4,不能连接到任何地方。依此类推你的时钟是否可以连接多个模块实现运行。
第四种情况:实在万不得已的情况时可以尝试一下用set_false_path约束,让路径约束消失,但路径还在。
set_false_path - from [get_clocks name] - to [all_registers]