Encounter - working with ILM

Status
Not open for further replies.

ee1

Full Member level 2
Joined
May 31, 2011
Messages
120
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,298
Visit site
Activity points
2,036
Hi guys,
I am trying to work with ILM in my top level, using cadence flow (i am not working in MCMM mode):
in my block level i do:
createInterfaceLogic -hold -dir ../outputs/my_block.ILM
the ILM created succesfully.

Than in top level, i write:
specifyIlm -cell my_block -dir <block path>/outputs/my_block.ILM
and when i try placeDesign, i am getting n error that i didnt imported the ILM.

what am i doing wrong?

Thanks!
 

Once the lower level partition is implemented use the createInterfaceLogic command to create the ILM:

createInterfaceLogic –dir partition_A.ilm


createInterfaceLogic extracts the information required for the ILM model and outputs it to the directory partition_A.ilm. If you look at the contents of this directory you will see the following. First, a sub-directory is created for each ILM type:

cts_data – ILM models for CTS
ilm_data – ILM models for setup analysis
si_ilm_data – ILM models for SI analysis

Under each of these directories the ILM data is stored. Each model include a DEF, SPEF, Verilog netlist and SDCs. For example:

partition_A_postRoute.core.sdc
partition_A_postRoute.def
partition_A_postRoute.spef
partition_A_postRoute.v

You need to run createInterfaceLogic for each partition you want to represent with an ILM.

Implementing the Top Level Using ILMs:

You can specify the ILMs when reading in the top level partition or after. To specify them while reading the configuration file (loadConfig) do one of the following:

Specifying ILMs through GUI when Loading Config File:

1. Select Design->Import Design…

2. On the Import Design form select Load. Load your top level config file.

3. On the Advanced Tab select ILM

4. Add an entry for each ILM:

Module: partition_A Dir: ../partition_A/partition_A.ilm

Module: partition_B Dir: ../partition_B/partition_B.ilm

5. Click OK to load the config file.

Specifying ILMs in the Config File:

set rda_Input(ui_ilmdir) "partition_A ../partition_A/partition_A.ilm partition_B ../partition_B/partition_B.ilm"

Specifying ILMs After Loading the Design:

Alternatively, you can specify the ILMs after reading in the top level partition instead of specifying the ILMs when loading the config file:

encounter> loadConfig dtmf_chip.conf

encounter> specifyILM –cell partition_A–dir ../partition_A/partition_A.ilm

encounter> specifyILM –cell partition_B –dir ../partition_B/partition_B.ilm

Once the ILMs are specified commands such as timeDesign, placeDesign, optDesign, etc. will automatically use these ILMs to represent the partitions. For example during placeDesign you would see the ILMs being read during flattenIlm:

Reading one ILM netlist ...

Backslashed names will retain backslash and a trailing blank character.

Keeping previous port order for module partition_A.

Reading verilog netlist '../partition_A/partition_A.ilm/ilm_data/partition_A/partition_A_postRoute.v'.

Reading one ILM netlist ...

Backslashed names will retain backslash and a trailing blank character.

Keeping previous port order for module partition_B.

Reading verilog netlist '../partition_B/partition_B/ilm_data/partition_B/partition_B_postRoute.v'.



Saving constraint mapping table*** Flattening ILM instance top/partition_A_INST ...

*** Flattening ILM instance top/partition_B_INST ...



*** Unflatten ILM (cpu=0:00:00.2 mem=239.3M) ***

Reference: Cadence website
 

Thanks! it works!
BTW, i don't have all 3 subdirs of ILM, i have only ilm_data (i create it post route) - make sense?
and regarding the definitions in env.cong : in addition to "rda_Input(ui_ilmdir)" i have there rda_Input(ui_ilmlist) and rda_Input(ui_ilmspef),
should i define these as well?
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…