对于soft macro ,astro做placement优化时,允许buffers 或inverters插入到macro里面。
对于hard macro,astro做placement时,不会放置任何cell(比如std cell)到macro里面.
如果不希望macro被优化,比如买别人的IP,不允许astro对其优化,可以加hard boundary, 即所谓的hard macro。
如果希望macro被优化,允许buffers 或inverters插入到macro里面,可以给macro加soft boundary,即所谓的soft macro。
把macro定义为soft macro或hard macro主要还是设计需求决定的。
hard macro:简单的说就是已做好的一个模块(内部走线完成)实际的设计中只要考虑它的端口与外界的联系,在Astro版图中常用FRAM view 形式存在
soft macro :常用在层次化设计中,在Astro版图中常用CEL view 形式存在,内部构造还需优化,包括布局布线。一个soft macro对Astro而言可看成是一个小的Chip,打开CEL view 可做各种优化。通常SE 和 JupiterXT 常用。