Dear all,
I'm trying to benefit from OA interoperability between Innovus and Cadence IC (Virtuoso) environments for a digital-on-top mixed-signal design. In short, during floorplan I would like to import into Innovus the pre-placement of some analog macros as prepared into the Virtuoso environment. I know that this can be done with the oaIn
command,
oaIn libName cellName viewName [-filter {block_insts blockages boundary fixed_core_insts floorplan pad_insts pin_shapes regions regular_routing special_routing}] [-net { netnames }]
This works out-of-the-box only for a flat design in which analog macros are instantiated at top-level, e.g. top/PLL_INST
etc.
Indeed, in my case an additional level of logical design hierarchy is part of the design e.g. top/analog/PLL_INST
and we cannot flatten the design hierarchy. With this configuration the oaIn
command doesn't work anymore, because the analog macro top/analog/PLL_INST
in the Verilog gate-level netlist is not found in the corresponding layout view, which instantiates just a PLL design with instance name PLL_INST.
I tried to build with OA layout views a physical hierarchy reflecting the same logical hierarchy I need, i.e. I created a top-level floorplan layout top
, instantiating an analog
layout that further instantiates the PLL block with instance name PLL_INST but oaIn
run on this doesn't recognise the PLL_INST
anymore.
Is there the possibility to hierarchical import instances placement from OA into Innovus ?
p.s. I alredy well know that I can place all my instances with the placeInstance
command, but in this way any change done in the OA placement would automatically reflect in Innovus, which is faster since I have more than 50 analog macros to place in the design.
Regard
Luca