Hello. I attempted to perform an LVS check using J...
# lvs
u
Hello. I attempted to perform an LVS check using JKU's vcm_generator. I obtained this file from https://github.com/iic-jku/SKY130_SAR-ADC1. I believe that the '.sch.spice' and '.mag.spice' files are identical because they have passed through the MPW shuttle. However, the result from Netgen indicates 'failed matching.' I suspect this may be due to an error on my part, but I'm unsure how to correct it. Could you please advise me on how to resolve this error? I will attach the files for your reference. Your assistance would be greatly appreciated. Thank you for your help
m
@권용진학부생 I suspect it’s your
SKY130_setup.tcl
file. You might try using
$PDK_ROOT/$PDK/libs.tech/netgen/$PDK_setup.tcl
. Are they the same?
u
@Mitch Bailey I try this. But It didn't change anything. I think it doesn't a problem.
m
What is
$./../../../../
? Can you open
$./../../../../pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl
? I’ve always had problems when
PDK_ROOT
was a relative path and not an absolute path. Can you set
PDK_ROOT
to an absolute path, verify that you can open the file, run netgen and watch the messages. After reading the netlists there should be a line like
Copy code
Reading setup file $PDK_ROOT/$PDK/libs.tech/netgen/$PDK_setup.tcl
displayed on the screen.
t
@권용진학부생: I get a unique match running netgen on these two netlists. I only had to change the
.include
line in the schematic-captured netlist to match the location of my installed PDK.
👍 1
@권용진학부생: Looking at the difference between your netgen output and mine, the difference is in the interpretation of source and drain on transistors, which means that you probably did not use the correct setup file, and were not permuting transistor sources and drains.
u
@Mitch Bailey Thank you for your help. I did it to use absolute path. I try to
$/foss/pdk/sky130A/libs.tech/netgen/sky130A_setup.tcl
but it doesn't work. I thought the problem is wrong
PDK_ROOT
. I found new location use
find
. I did LVS using this location, but it has same error.
@Tim Edwards I changed path in
.include
of .sch.spice file. and I try to LVS. but It doesn't work. Addtionally, It has warning like
It has Ignoring line starting with token
. I attatch the file for your reference. Furthermore, output changes each time. It is also attatched. First time. Circuit 1 contains 50 devices. Second time, It has 40 devices. Finally, It has 38 devices. I just repeat the command
lvs "adc_vcm_generator.sch.spice adc_vcm_generator" "adc_vcm_generator.mag.lvs.spice adc_vcm_generator adc_vcm_generator" $/foss/pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl
I try to change the path
$/foss/pdks.volare/sky130/version/af3485535297d5cb393c129ea853da2d588fac41/sky130A/libs.tech/netgen/sky130A_setup/tcl
It has same problem. I have no idea how to fix this error. what should I do?
m
@권용진학부생 Why do you have a
$
in the setup file name?
$<variable>
is used by the shell to expand variables. If you’re using the full path without variables, you don’t need the
$
. Try
Copy code
lvs "adc_vcm_generator.sch.spice adc_vcm_generator" "adc_vcm_generator.mag.lvs.spice adc_vcm_generator adc_vcm_generator" /foss/pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl
If
PDK_ROOT=/foss/pdks
and
PDK=sky130A
this is the same as
Copy code
lvs "adc_vcm_generator.sch.spice adc_vcm_generator" "adc_vcm_generator.mag.lvs.spice adc_vcm_generator adc_vcm_generator" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl
(Sorry, in a previous instructions, I used
$PDK_setup.tcl
instead of
${PDK}_setup.tcl
) You can check your environment variables with
Copy code
echo $PDK_ROOT
echo $PDK
and your setup file with
Copy code
ls -l $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl
u
@Mitch Bailey I felt foolish. Excluding the '$' and entering the path gave me the result. Thank you for your help.
👍 1
m
No worries. Glad you could solve the issue.
👍 1