<@U016EM8L91B> Is there a way to use Magic DRC en...
# magic
m
@User Is there a way to use Magic DRC engine as a separate program? I need to give something like the following file as input get the DRC results in real-time: box 0.0um 0.0um 0.5um 0.5um paint nwell By reading this file I should get nwell width DRC error instantly, I guess.
Also, would there be a license issue if I use the engine separately in my own project/program?
t
Yes, you can always call magic in batch mode with something like the following:
Copy code
#!/bin/bash
magic -dnull -noconsole /path/to/sky130A.magicrc << EOF
box 0.0um 0.0um 0.5um 0.5um
paint nwell
drc catchup
puts stdout [drc listall why]
EOF
or you can run the helpful script
${PDK_PATH}/libs.tech/magic/run_standard_drc.py
which will do the above, but more thoroughly and with better output.
1
m
@User Thanks a lot for the reply. One other question is there any documentation about the DRCs or I have no other ways except checking the Magic tech file?
t
@User: You get information about DRC errors in magic with the command
drc why
, or you can move from one error to the next with
drc find
, or you can get a complete dump of DRC errors with the script
run_standard_drc.py
, which is installed by open_pdks along with other magic files in
sky130A/libs.tech/magic/
.
m
@User Hi Tim, Thanks a lot for your time and patience. Actually what I’m looking for is some raw info of the DRCs. I mean how do you get proper informations to create the tech files in
sky130A/libs.tech/magic/
? I found some tables this link but I don’t know whether I’m looking in correct info or I should search somewhere else?
t
Yes, that's the correct location for the DRC rule documentation.
1