Macro Placement for Chip Design
What are macros?
宏是较大的功能块,例如 IC 的存储器(SRAM、ROM)、模拟设备(DAC、ADC)、时钟宏(PLL)或接口宏。在物理设计中,宏通常被放置在芯片的外围,以确保它们能够获得足够的电源和散热。
Guidelines to place macros
- 根据飞线分析来放置宏,即与某些端口或频繁通信的宏,然后将它们放置在彼此附近以减少延迟。优先顺序为宏到端口>宏到宏>宏到标准单元。
- 宏的放置遵循分层命名约定。
- 将宏放置在芯片外围,这样更容易为它们供电,避免电压下降。如果将它们放置在芯片中央,可能会导致大量绕行布线。
- 保持宏之间的最小通道长度
- 宏之间不应该有重叠的区域或交叉连接
- 宏引脚应朝向核心区域放置。原因是宏与标准单元相连,而大多数逻辑连接都在核心区域内,因此宏引脚应朝向核心区域放置。
- 避免在宏放置中出现缺口。
Why we place macro before standard cell in physical design?
在集成电路的物理设计流程中,将宏单元在标准单元之前放置是一个经过深思熟虑的策略,背后有着多个具体原因和考虑:
-
占用面积大:宏单元通常包括大规模的存储器模块或专用的IP模块,这些模块在芯片上需要占据很大的面积。由于其体积庞大,一旦确定位置后,很难再进行调整。因此,在设计初期就需要为它们预留足够的空间,以避免后期设计调整带来的复杂性。
-
固定布局的约束:由于宏单元的尺寸较大,而且可能有严格的性能、热管理和电力传输要求,它们通常会受到许多布局约束。这些约束要求在设计的早期阶段予以解决,这样可以降低对后续步骤的影响。
-
供电和散热考虑:宏单元由于设计的复杂性,通常会有更高的功耗和更复杂的供电需求。先放置这些单元并进行供电布线有利于优化电源分配,同时也可以进行早期的热分析,以确保芯片的可靠性和性能。
-
信号完整性和时序优化:宏单元可能会引入较长的信号路径,它们的相对位置将会直接影响到信号的延迟和完整性。在早期进行放置,能够更好地规划总线和关键信号路径,避免后期的重布局或时序问题。
-
设计的灵活性:通过首先确定宏单元的位置,可以在更紧凑和高效的空间中安排标准单元。这种方法允许对标准单元的布局进行更灵活的优化,同时避免对宏单元的重新排列造成的复杂调整。
-
提高设计效率:宏单元的早期放置和固定,使后续的设计流程更加流畅。当宏单元位置确定后,物理设计中的后续步骤(例如标准单元的放置、详细布线及优化等)可以在一个较为稳定的框架下进行,减少了因宏单元位置变化带来的不确定性。
通过在物理设计流程的初期阶段优先考虑宏单元的位置和布局,不仅可以确保设计满足技术和性能的要求,还能大幅提高整个设计流程的效率和效果。