一个是时序约束,另一个就是逻辑锁定。时序约束是按照你的时序要求去布局布线。而逻辑锁定则是指设计者将某个模块或者某个网络指定在器件的某个位置。尽管有时序约束,但综合器也不能保证每次都能达到要求;而只有当逻辑锁定后,它能保证被锁定的模块在下一次综合不被改变。
事出有因,之前加进来的一个SPI模块,一开始是正常的,后来陆续在设计中加了一些模块,综合后,居然发现SPI模块工作不正常,奇怪的是,在我备份的几个版本中,有几个正常,有几个又不正常,而在这个过程中SPI模块从未被修改过。我想一定是综合器在捣鬼,后来我在SPI正常的版本上查看chip
planner中spi的布局信息,然后将其逻辑锁定,再添加新的模块进来,结果发现,SPI果然没有受到影响。