It looks like you're new here. If you want to get involved, click one of these buttons!
Hi Matthias,
I just noticed that what etch method behaves differently when using mask.etch vs just etch, namely it adds 2*dbu to the width when using etch without mask.
For example I have 200nm wide mask feature for devleoping resist opening using mask().etch - which produces 200nm wide opening. But when I etch hardmask through that opening in the resist, the resulting width in the hardmask is 200nm+2*dbu. Is it a bug or feature or necessity of the xsection engine?
Is there a way to have it 1:1 ?
delta(20 * dbu)
@SiOx = grow(0.7, 0.7, :mode => :round)
@resist = grow(0.4, 0.4, :mode => :round)
#developing resist
mask(@l_litho).etch(0.5, 0, :mode => :round, :into => @resist)
#etching hardmask
etch(0.3, 0.0, :into => @SiOx)
Mask feature:
Result after resist development: mask(@l_litho).etch(0.5, 0, :mode => :round, :into => @resist)
Result after etching into SiOx: etch(0.3, 0.0, :into => @SiOx)
Comments
Sigh ...
This is why I abondoned XSection. It suffers from a lot of simplifications. It is a smart painting tool, nothing else. People simply expect too much.
"delta" is some cleanup distance and XSection is free to apply variations of this dimension.
You have set it to 20*dbu which I assume is 20nm. On each side. You can first set the DBU to something smaller (using
dbu
, e.g. to 1e-5) and resetdelta
to somewhat less, if possible. Then this effect will be reduced, but never vanish.Matthias
I'll note that in real process lithography there is often
a mask sizing applied at mask fab paperwork time, to
return an on-wafer feature CD that is as-drawn, based
on known lithography error (PR develop, over/under-etch,
etc. all stack up per layer).
So you could do that "as if" and note the same in any
reportage, and nobody would blink. You've quantified the
"process error" here, the rest is clerical.