在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2611|回复: 8

[求助] 对于多电压域中插入ENDCAP/WELLTAP遇到的问题

[复制链接]
发表于 2023-3-15 15:51:43 | 显示全部楼层 |阅读模式
500资产
本帖最后由 菠萝赛东 于 2023-3-15 18:53 编辑

我在综合时在cpf文件里创建一个电压域,电压域为submodule下的一个submodule(包含有SRAM和一些标准单元)



create_power_domain -name SRAM -instances { pulpino_top_i/core_region_i/instr_mem/sp_ram_wrap_i \
                                            pulpino_top_i/core_region_i/instr_mem/boot_rom_wrap_i \
                                            pulpino_top_i/core_region_i/data_mem }


但是在用Innovus,给这个电压域中插入ENDCAP与WELLTAP的时候,Innovus会报这样的错:

**WARN: (IMPSP-5170):        PowerDomain SRAM has no any module defined, stop addWellTap in this powerdomain.


查询Manual给出的解释是:

IMPSP-5170
SYNOPSIS
PowerDomain %s has no any module defined, stop %s in this powerdomain.
DESCRIPTION
Tool uses the module belong to specific power domain as the hierarchy when inserting physical cells, such as addEndCap, addWellTap, addFiller and addDeCap. These physical cell insertion commands error out if there is no any module defined under the target power domain, users need to modify the power domain definition with module to avoid this issue.

Example:
Incorrect CPF definition - leaf instances are specified to power domain PD_A:

create_power_domain -name PD_A -instances {mod1/inst1 mod1/inst2 mod1/inst3 mod2/inst1 mod2/inst2 mod2/inst3}

Correcting CPF to avoid IMPSP-5170:
create_power_domain -name PD_A -instances {mod1 mod2}

似乎不支持这种建立顶层submodule的submodule为电压域的方式,想请问一下大家有没有什么好的解决办法,给这个电压域里插入ENDCAP和WELLTAP,谢谢!





 楼主| 发表于 2023-3-16 10:40:13 | 显示全部楼层
本帖最后由 菠萝赛东 于 2023-3-16 10:44 编辑


voiluce 发表于 2023-3-16 06:21
or this

create_power_domain -name SRAM -instances { pulpino_top_i/core_region_i/instr_mem \


I have tried this but when the create_power_domain has hierachical module (containing "/"), the same Error would be reported by Innovus.


And here is my solution to this problem:

I have add
set_attrui_respects_preserve false
ungroup -all
at the positions after elabration,  and after systhesis before output .v netlist and .cpf in Genus systhesis flow script.
The output netlis is ungrouped and flateened to some extent.

And the submodule  in the output cpf is like :
pulpino_top_i_core_region_i_instr_mem_boot_rom_wrap_i
(In input .cpf: pulpino_top_i/core_region_i/instr_mem/boot_rom_wrap_i)
Innovus would not have this probelm.

Thanks for your reply!

 楼主| 发表于 2023-3-15 21:58:02 | 显示全部楼层
:'(
发表于 2023-3-16 06:20:02 | 显示全部楼层
try this

create_power_domain -name SRAM -instances { pulpino_top_i/core_region_i }
发表于 2023-3-16 06:21:12 | 显示全部楼层
or this

create_power_domain -name SRAM -instances { pulpino_top_i/core_region_i/instr_mem \
  pulpino_top_i/core_region_i/data_mem }
发表于 2023-3-16 14:48:04 | 显示全部楼层


voiluce 发表于 2023-3-16 06:21
or this

create_power_domain -name SRAM -instances { pulpino_top_i/core_region_i/instr_mem \


请教下,之前是pulpino_top_i/core_region_i/instr_mem/sp_ram_wrap_i,现在改成pulpino_top_i/core_region_i/instr_mem/,这个原因是?这样就不是之前的那个hier module了,变成上一级了,这样对嘛?
发表于 2023-3-16 17:01:19 | 显示全部楼层


xingyun666666 发表于 2023-3-16 14:48
请教下,之前是pulpino_top_i/core_region_i/instr_mem/sp_ram_wrap_i,现在改成pulpino_top_i/core_regi ...


这个看工具对cpf的解析,因为一般power domain里面需要放各种power cell,如果只有memory这一层的hier 应该是不行的。
发表于 2023-3-16 17:36:00 | 显示全部楼层


voiluce 发表于 2023-3-16 17:01
这个看工具对cpf的解析,因为一般power domain里面需要放各种power cell,如果只有memory这一层的hier 应 ...


奥奥,pulpino_top_i/core_region_i/instr_mem/sp_ram_wrap_i这个是MEM所在的hier 层次,我们一般情况下常规做法,会往上返一级?
发表于 2023-3-16 17:57:56 | 显示全部楼层


xingyun666666 发表于 2023-3-16 17:36
奥奥,pulpino_top_i/core_region_i/instr_mem/sp_ram_wrap_i这个是MEM所在的hier 层次,我们一般情况下 ...


上一层好一些,因为要加tap,


tap cell 可能是这样的
pulpino_top_i/core_region_i/instr_mem/tap_001
pulpino_top_i/core_region_i/instr_mem/tap_002

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 12:59 , Processed in 0.021674 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表