查看完log,发现这个Error前边一定跟着一条不能找到object 的Warning,比如:
Warning: Can't find object 'xxx/xxx/u_cell/S0' in design 'xxxx' .
Error: Value of list ‘xxx’ must have 1 elements.(CMD-036).
最终问题定位在dc的综合脚本中。
原因:change_name 的指令会在产生log的时候将hierarchy 中的. 号改成_号,这样导致不能找到相应的objects.
解决方法就是将综合脚本中的change_name指令提前,将其放置刚刚吃完rtl 后边。
还有一种原因:
可以在综合完后的netlist文件中找不能找到的objects,你会发现综合工具会将一些cell的名字改了,导致你找不到相应的objects,如果是这个原因导致的,那就要给相应的cell添加don't touch 的指令,保证综合过程中工具不回去改你的cell。
如:
set_dont_touch [get_cells xxxxxx]
----------------
欢迎关注公众号——“IC硅农场”
----------------