首页 理论教育如何设置电源网络

如何设置电源网络

【摘要】:用HDL描述的网表文件通常会省略电源、地网络的描述。单电源域的设计中通常会使用如下命令:其中power和ground为芯片上电源、地网络的名称,VDD和GND为单元上的端口名称。这条命令的作用就是在芯片中创立了名称为power的电源网络和ground的地网络,并将所有单元上的VDD端连到power上,所有的GND连到ground上,要注意的是该操作的连接只是在逻辑层面,物理层面上没有任何变化。

用HDL描述的网表文件通常会省略电源、地网络的描述。但在单元库中,每一个标准单元或者IO单元都有其电源、地端口,设计中需要指定其电源、地端口如何连接。因此需要用derive_pg_connection命令来指定其正确的连接网络。单电源域的设计中通常会使用如下命令:

其中power和ground为芯片上电源、地网络的名称,VDD和GND为单元上的端口名称。这条命令的作用就是在芯片中创立了名称为power的电源网络和ground的地网络,并将所有单元上的VDD端连到power上,所有的GND连到ground上,要注意的是该操作的连接只是在逻辑层面,物理层面上没有任何变化。该命令不但需要在读入网表后进行,在随后进行每一次优化操作后都要重新运行一次该命令,并在最终LVS检查前的网表导出时再进行一次,只不过在后续操作时不会重复创建power和ground网络,只是将新出现的单元连接到电源和地网络上。这样操作看上去似乎没有太大必要,特别对于单电源芯片,由于只有一组电源、地,而且所有IO上的电源、地端口都会连接成环,所有的标准单元也会排在side row上,后续会有专门的命令将其铺上电源、地轨道,从物理版图上看似乎不会有电源连接的问题,没有必要在逻辑层面连接一次。但事实上如果没有derivepgconnection命令,即使在单电源芯片上也有可能由于设计人员的疏忽而导致有些端口没有连到正确的电源、地网络上,而由于缺乏逻辑上的连接关系,在后面进行LVS检查时就会出错,因此即使在单电源芯片上也需要进行derivepgconnection命令。

而对于多电压设计而言,通常需要有UPF文件来定义其多个电源域。所以先要导入UPF文件load_upf my_chip.upf。

随后需创建UPF中定义的电源、地线并连接: