beeflobill
Member level 3
I'm working with Design Compiler and UPF to insert level shifter and isolation cells into a design. I have two power domains.
I'm having problems inserting level shifter cells.
The issue is when there is a driver with some of it's fanout in one domain and the rest of it's fanout in the other domain. I'd expect Design Compiler to split the net in two, so that each net has fanout going to just a single domain. Then the tool could add a level shifter to the applicable nets. However, Design Compiler just refuses to insert level shifters. It will not split the nets.
I do have some level shifters inserted into the design. So, I think the level shifter libraries are okay. And, I've tried many many different variations on how to write set_level_shifter statements. I'm thinking that probably isn't the issue, but I could have definityly missed something in the UPF. I've also tried removing the dont_touch attribute on everything I can see.
I have a few questions. One, is this a typical problem that people face? If so, what are the typical solutions? Two, I couldn't find any documentation that seems to apply to this issue on solvnet. Can you please point me to some documentation for this? Three, is this most likely to be an issue with how UPF is written, the level shfiter libraries, Design Compiler, or the design itself? Four, is splitting the nets like I described what the tools usually do to insert level shifters, or am I totally crazy to expect that because something else makes more sense.
Of course, question five, what the bleep is going on?
Thanks.
I'm having problems inserting level shifter cells.
The issue is when there is a driver with some of it's fanout in one domain and the rest of it's fanout in the other domain. I'd expect Design Compiler to split the net in two, so that each net has fanout going to just a single domain. Then the tool could add a level shifter to the applicable nets. However, Design Compiler just refuses to insert level shifters. It will not split the nets.
I do have some level shifters inserted into the design. So, I think the level shifter libraries are okay. And, I've tried many many different variations on how to write set_level_shifter statements. I'm thinking that probably isn't the issue, but I could have definityly missed something in the UPF. I've also tried removing the dont_touch attribute on everything I can see.
I have a few questions. One, is this a typical problem that people face? If so, what are the typical solutions? Two, I couldn't find any documentation that seems to apply to this issue on solvnet. Can you please point me to some documentation for this? Three, is this most likely to be an issue with how UPF is written, the level shfiter libraries, Design Compiler, or the design itself? Four, is splitting the nets like I described what the tools usually do to insert level shifters, or am I totally crazy to expect that because something else makes more sense.
Of course, question five, what the bleep is going on?
Thanks.