Hi Tim or Mitch, is it possible to import GDS file into magic layout and run lvs? if yes, please wha...
t
Hi Tim or Mitch, is it possible to import GDS file into magic layout and run lvs? if yes, please what are the commands to run on the linux terminal?
t
It can quickly get complicated based on the specific circuit, but in principle, you just want to extract a netlist from the GDS and run LVS with netgen on the schematic and layout netlists. Whether or not the layout reads from GDS into magic without a bit of coaxing is the main issue.
Copy code
magic -dnull -noconsole -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc << EOF
gds flatten true
gds read filename.gds
load cellname
select top cell
extract path extfiles
extract all
ext2spice lvs
ext2spice -p extfiles
EOF
Then
Copy code
netgen -batch lvs "filename.spice cellname" "schemname.spice cellname" $PDK_ROOT/sky130A/libs.tech/netgen/sky130A_setup.tcl
How far that gets you depends on many factors, but that's the basic recipe.
t
Hi Tim, should I first create a .tcl file and past this code into the .tcl file and run on the terminal window? or I directly run these lines of code instructions into the terminal and it will do the job?
also if we only have a .GDS file, is it possible to retrieve the layout design as .mag file and bring into magic IDE?
t
There are multiple ways to run it, and all of them are valid. You can put the commands into a .tcl file and pass that to magic. You can type it on the command line like I wrote above, verbatim. You can put the lines above into a shell script and pass
filename
as an argument.
t
also if we only have a .GDS file, is it possible to retrieve the layout design as .mag file and bring into magic IDE?
t
GDS to magic is always tricky if the GDS was not written by magic. Magic wants to combine layers into its own style of generated layers, and if the layers that make up those generated layers are split across the cell hierarchy, then you tend to get problems, which have to be solved by judicious use of the
gds flatglob
command to flatten specific cells.
t
if it is written with magic?
t
You don't need to save the GDS as magic-format files; I would recommend just reading it into magic for the purpose of writing it back out as a netlist.
t
Ok, Thank you, Tim.
Hi Tim, it is possible to know if there DRC error in a .gds file without looking the design into magic IDE?
t
You mean to run magic in batch to process DRC? Yes, there are some scripts for that. By far the easiest one to use is from IIC-JKU osic-multitool: https://github.com/iic-jku/osic-multitool/blob/main/iic-drc.sh Just download that file, make it executable, set environment variables
$PDK_ROOT
and
$PDK
, and run
iic-drc.sh <cellname>
, and it will give you a formatted dump of DRC violations. It can run both magic and klayout DRC (run without any arguments to see the options).
118 Views