https://open-source-silicon.dev logo
#openlane
Title
# openlane
r

Ryan R

03/02/2022, 7:44 AM
Hi , how to supply dont_touch instances in opelane - so that yosys doesnt remove some hierarchies ? Thanks
v

Vijayan Krishnan

03/02/2022, 7:50 AM
Are you asking about black box?
r

Ryan R

03/02/2022, 7:51 AM
not black box. For eg , some hierarchies will be deleted by Yosys if no relevance to output ports found....But i would need them since initial RTL stage
a

Arman Avetisyan

03/02/2022, 7:54 AM
(* keep *)
🙌 1
verilog attribute.
r

Ryan R

03/02/2022, 12:18 PM
that i need to edit inside RTL. Is there any seperate YOSYS command ? commercial tools have set_dont_touch kinda thing...
a

Arman Avetisyan

03/02/2022, 1:01 PM
Probably setattr.
But it does not make sense. If your module does not output anything, then why do you even have it?
r

Ryan R

03/02/2022, 1:36 PM
as i mentioned initial RTL -- in exploration phase now --
• The
keep
attribute on cells and wires is used to mark objects that should never be removed by the optimizer. This is used for example for cells that have hidden connections that are not part of the netlist, such as IO pads. Setting the
keep
attribute on a module has the same effect as setting it on all instances of the module. • The
keep_hierarchy
attribute on cells and modules keeps the
flatten
command from flattening the indicated cells and modules.
now need to check how to apply