• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Liberate : generate lib file for a level shift cell

Stats

  • Locked Locked
  • Replies 19
  • Subscribers 125
  • Views 21552
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Liberate : generate lib file for a level shift cell

fengye
fengye over 6 years ago

Hi,

    Did anyone generate the lib file for a level shift with liberate? I don't know how to make some settings.

(1) For the following netlist, 

.SUBCKT ls_cell IN OUT VDDH VDDL VSS
*.PININFO IN:I OUT:O VDDH:B VDDL:B VSS:B
MPM0 A net10 VDDH VDDH P_12_LLRVT W=100e-9 L=200n M=1
MPM1 net10 net10 VDDH VDDH P_12_LLRVT W=100e-9 L=60n M=1
MPM12 net069 net50 VDDH VDDH P_12_LLHVT W=100e-9 L=500n M=1
MPM11 net058 net50 net069 VDDH P_12_LLHVT W=100e-9 L=500n M=1
MPM8 net071 OUT net046 VDDH P_12_LLHVT W=100e-9 L=500n M=1
MPM7 net50 OUT net071 VDDH P_12_LLHVT W=100e-9 L=500n M=1
MPM6 net046 OUT net072 VDDH P_12_LLHVT W=100e-9 L=500n M=1
MPM10 OUT net50 net070 VDDH P_12_LLHVT W=100e-9 L=500n M=1
MPM5 B A net10 VDDH P_12_LLHVT W=100e-9 L=60n M=1
MPM4 net072 OUT VDDH VDDH P_12_LLHVT W=100e-9 L=500n M=1
MPM9 net070 net50 net058 VDDH P_12_LLHVT W=100e-9 L=500n M=1
MNM6 A In_not VSS VSS N_12_LLLVT W=2e-6 L=60n M=1
MNM8 net50 A VSS VSS N_12_LLLVT W=150e-9 L=100n M=1
MNM7 OUT B VSS VSS N_12_LLLVT W=150e-9 L=100n M=1
MNM3 In_not IN VSS VSS N_12_LLLVT W=2e-6 L=60n M=1
MNM5 B IN VSS VSS N_12_LLLVT W=2e-6 L=60n M=1
MPM3 In_not IN VDDL VDDL P_12_LLLVT W=4e-6 L=60n M=1
.ENDS

(2) the template is 


define_template -type delay \
-index_1 {0.008 0.28 } \
-index_2 {0.01 0.3 } \
delay_template_2x2

define_template -type power \
-index_1 {0.008 0.28 } \
-index_2 {0.01 0.3 } \
power_template_2x2


define_cell \
-input { IN } \
-output { OUT } \
-pinlist { IN OUT } \
-delay delay_template_2x2 \
-power power_template_2x2 \
ls_cell

define_leakage -when "IN" ls_cell
define_leakage -when "!IN" ls_cell

# delay arcs from IN => OUT positive_unate combinational
define_arc \
-vector {XX} \
-related_pin IN \
-pin OUT \
ls_cell

# delay arcs from IN => Y positive_unate combinational
define_arc \
-vector {FF} \
-related_pin IN \
-pin OUT \
ls_cell

(3) the multi-voltage 

set VDD_VALUE 1.20
set VDDS_VALUE 0.30

set_vdd VDDH ${VDD_VALUE}
set_vdd VDDL ${VDDS_VALUE}

(4) the error reminding

ERROR (LIB-88): (define_arc): Ignoring arc for cell: 'ls_cell', pin: 'OUT' X, related_pin: 'IN' X, vector: 'XX', pinlist: 'IN OUT' because of one or more invalid values (for example: value 'X' for signal 'OUT'). The valid values for the pin and related_pin are 'R' and 'F'. All other signals can use: '0', '1', 'R', 'F' or 'X'. Correct the Tcl and rerun.

(5) the input_volttage_range, output_voltage_range,how to get these, I need to use userdate to add these attribute.

I hope someone can help me .

Thanks a lot!

  • Cancel
Parents
  • Guangjun Cao
    Guangjun Cao over 6 years ago

    Hi Fengye,

    you need to use set_pin_vdd/gnd to tell the tool the different pins and their associated power domains.

    Regards,

    Guangjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fengye
    fengye over 6 years ago in reply to Guangjun Cao

    Hi, Guangjun,
    Thanks for your reply! The volatage net incudes VDDH, VDDL. I use "
    set VDD_VALUE 1.20
    set VDDS_VALUE 0.60
    set_pin_vdd -supply VDDH ls_cell OUT ${VDD_VALUE}
    set_pin_vdd -supply VDDL ls_cell IN ${VDDS_VALUE}
    set_var voltage_map 2
    ". But the results is different from a reference lib. There is still no input/outpt_voltage_map. Besides, the define_arc still have some problem.

    Regards,

    fengye

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • fengye
    fengye over 6 years ago in reply to Guangjun Cao

    Hi, Guangjun,
    Thanks for your reply! The volatage net incudes VDDH, VDDL. I use "
    set VDD_VALUE 1.20
    set VDDS_VALUE 0.60
    set_pin_vdd -supply VDDH ls_cell OUT ${VDD_VALUE}
    set_pin_vdd -supply VDDL ls_cell IN ${VDDS_VALUE}
    set_var voltage_map 2
    ". But the results is different from a reference lib. There is still no input/outpt_voltage_map. Besides, the define_arc still have some problem.

    Regards,

    fengye

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information