I recently rushed to make a tapeout using Caravan ...
# caravan
h
I recently rushed to make a tapeout using Caravan (the analog Caravel). Here a few learnings that caused me quite of bit of lost time, so maybe helpful for others: * Magic changes cells when reading in a GDS. When this is not wanted (e.g., when using an existing IP block in GDS form as part of a larger design), then before reading the GDS with
gds read file.gds
in Magic do
gds readonly true
. * This sets the property
GDS_FILE
in Magic, that it uses as reference when writing the GDS from the MAG file later. * When a cell needs to be changed, this property has to be removed by doing a
property GDS_FILE ""
on this cell. * The SPICE netlist of the analog design normally resides in the
xschem
folder. However, in order to pass the consistency check of the MPW-precheck of efabless, the netlist has also to be placed into the folder
netgen
. * Run a local mpw-precheck early in order to detect issues. The DRC ruleset from KLayout can differ to whatever one is using locally, so expect new DRC errors to pop up. * This repo <https://github.com/iic-jku/sky130_adc_202311> passes all the mpw-prechecks and the TO procedure on the efabless site, so can be used as a reference and template.
👍 7
Many thanks to @Tim Edwards and @Mitch Bailey for helping me out and contributing these helpful learnings!
👍 2
t
Many thanks to @Harald Pretl for defining a good analog flow!
j
Thanks @Harald Pretl Cc @Alfonso Cortés @Mario Romero
@Harald Pretl do you have any tips on how to run mixed-signal top simulations without crashing? we are finding issues with this when, for example, we run relatively long transients (which we need to verify functionality)
h
@Patrick Fath is currently doing extensive simulations using
ngspice
and
xyce
. Patrick, any hints? @Jorge Marin Can you maybe describe your crashes a bit further?