本文将回答以下问题:
- 什么是macro?
- macro的类型
- macro placement guidelines
对于数字后端初学者来说,这是一个面试的好问题。如果你不遵循这些指南,你肯定会在物理设计的后续步骤中遇到问题,因为macro更大,这可能会导致严重的设计走线问题,导致延迟、电压降和串扰增加。因此,这些指南对于将来为您节省大量时间很重要。
macro是什么?
macro是更大的功能块,如存储器(SRAM、ROM)、模拟模块(DAC、ADC)、时钟(PLL)或接口。这些macro通常由第三方IP供应商提供,或由设计团队内部开发。macro的一些特征是:
- 他们消耗的面积更大。
- 它们是耗电的设备,即它们消耗了巨大的电力。
- 它们被放置在core区域的边界上。
为什么core被放置在core区域的边界上?
正如我们所知,core占用更多的区域,如果它们被放置在core区域的中心区域,那么它们将进入两个标准单元或macro的走线轨道之间,这将增加走线延迟。因此,macro被放置在core区域的边界上。
macro的类型
有两种类型的macro:
a)hard macro:这些macro是固定的,您既看不到这些macro的功能,也无法更改它们的功能。我们只能看到这些macro的时序信息。它们可能缺乏灵活性,可能不符合设计要求。
b)soft macro:这些macro不是固定的,您可以以RTL代码(Verilog代码)的形式看到它们的功能。您可以在各个方面自定义soft macro的功能。它们可以在设计过程中进行综合和优化,以满足ASIC的具体要求。
macro placement guideline
这些指南是一套有优先级顺序的规则。
1:macro是根据 fly-line飞线分析放置的,即经常与某些端口或macro通信的macro,然后将它们放置在彼此附近,以减少延迟。考虑顺序是macro到端口>macro到macro>macro到标准单元。