Yuan Mei
06/08/2024, 2:19 PMpsdm.1 : min. psdm spacing in periphery : 0.38um
. How to fix this?Mitch Bailey
06/25/2024, 11:03 PMYuan Mei
06/25/2024, 11:36 PMYuan Mei
06/25/2024, 11:54 PMmagicStream = Step.factory.get("Magic.StreamOut")
mag = magicStream(state_in=sta_post_pnr.state_out)
mag.start()
Yuan Mei
06/25/2024, 11:55 PMMitch Bailey
06/26/2024, 12:18 AMgds readonly yes
before importing the gds. This sets the GDS_FILE
property in the temporary magic data with a pointer to the original gds file. When the top level magic data is exported to gds, the gds for the macro is read verbatim from the original gds file.
@Tim Edwards is that correct? Or do you think this might be resolved with cif *hier write enable
?Yuan Mei
06/26/2024, 12:21 AMMitch Bailey
06/26/2024, 12:41 AMmag
object will produce a gds file. You may be aware that gds and stream data refer to the same thing - streamout is the process of creating a gds file. The Magic.StreamOut
function uses magic to convert def data to gds data.
class StreamOut(MagicStep):
"""
Converts DEF views into GDSII streams using Magic.
If ``PRIMARY_GDSII_STREAMOUT_TOOL`` is set to ``"magic"``, both GDS and MAG_GDS
will be updated, and if set to another tool, only ``MAG_GDS`` will be
updated.
"""
There might be a *.mag
artifact from that process. Is that what you’re using? gds
data is binary, mag
data is text. You can try editing the file to determine which.
Maybe setting cif *hier write enable
will fix it then. Or using just using the CIFhier
property on the hierarchy with the error.
> *hier write [ enable | disable ]
> This sets a global option that enables (default) or disables the generation of output CIF or GDS layers due to interaction between subcells (not including inter-array interactions; see below). For large standard cell layouts where the standard cells are known to abut properly without causing spacing or overlap errors, disabling hierarchical generation can greatly reduce the amount of time needed to generate output. Defining the property CIFhier inside a cell will override the use of *hier write disable and force hierarchical output for that cell and its descendents.
http://opencircuitdesign.com/magic/commandref/cif.htmlYuan Mei
06/26/2024, 12:44 AMMitch Bailey
06/26/2024, 12:46 AMcif *hier write enable
option?Yuan Mei
06/26/2024, 1:07 AMcif *hier write enable
. The problem is still there.Mitch Bailey
06/26/2024, 1:43 AMYuan Mei
06/26/2024, 1:48 AMMitch Bailey
06/26/2024, 2:13 AMshift_register_r95
? Does it show the same psdm
?Mitch Bailey
06/26/2024, 2:29 AMpsdm
based on it’s assumption of psdm
. psdm
is not actually a layer that is stored in the magic data base. It is calculated as with the minimum overlap of diffusion adjusted to avoid spacing and width errors. You can see what magic will streamout as psdm
with the cif see PSDM
command (feedback clear
to remove the markers).
What I suggest you do is to not use the magic version of shift_register_r95
but use the gds instead. Set gds readonly yes
and then import the gds. Do not modify anything in shift_register_r95
.