Quantcast
Channel: Cadence Custom IC Skill Forum
Viewing all articles
Browse latest Browse all 5066

primary file for design is invalid

$
0
0

Hello

I am using Ic 616 along with calibre for physical verification. 

I have a file that has a custom made layout and am trying to instantiate it in another layout out file (create multiple instances of that cell). When I run DRC, the CIW shows the following message:

ERROR (XSTRM-341): The translation stopped for the following reason: Cannot open design RRAMgen/1T1R_LEAF_tune/layout: "Open of RRAMgen/1T1R_LEAF_tune/layout failed - primary file for design is invalid.". Ensure that the specified cellview exists on disk and that you have permission to open it, then run the translation again.

I do not know though if this is a calibre related issue or I can fix it through SKILL. A snippet from my skill is below:


procedure(LEAF(m,cvID)

;cvID=dbOpenCellViewByType("RRAMgen" "1T1R_LEAF_tune" "layout" "maskLayout" "w")
;dbCreateRect(cvID list("RX" "drawing") list(0:0.36 0.38:0.6))
;dbCreateRect(cvID list("M1" "drawing") list(0:0.36 0.12:0.6))
;dbCreateRect(cvID list("M2" "drawing") list(0:0.36 0.12:0.6))
;dbCreateRect(cvID list("V1" "drawing") list(0.01:0.43 0.11:0.53))
;dbCreateRect(cvID list("CA" "drawing") list(0.015:0.435 0.105:0.525))
;dbCreateRect(cvID list("M1" "drawing") list(0.26:0.36 0.38:0.6))
;dbCreateRect(cvID list("M2" "drawing") list(0.26:0.056 0.38:0.6))
;dbCreateRect(cvID list("V1" "drawing") list(0.27:0.43 0.37:0.53))
;dbCreateRect(cvID list("CA" "drawing") list(0.275:0.435 0.365:0.525))
;dbCreateRect(cvID list("PC" "drawing") list(0.16:0.111 0.22:0.875))

for(i 1 m

dbCreateRect(cvID list("RX" "drawing") list(0:0.36+(i-1)*0.24 0.38:0.6+(i-1)*0.24))
dbCreateRect(cvID list("M1" "drawing") list(0:0.36+(i-1)*0.24 0.12:0.6+(i-1)*0.24))
dbCreateRect(cvID list("M2" "drawing") list(0:0.36+(i-1)*0.24 0.12:0.6+(i-1)*0.24))
dbCreateRect(cvID list("V1" "drawing") list(0.01:0.43+(i-1)*0.24 0.11:0.53+(i-1)*0.24))
dbCreateRect(cvID list("CA" "drawing") list(0.015:0.435+(i-1)*0.24 0.105:0.525+(i-1)*0.24))
dbCreateRect(cvID list("M1" "drawing") list(0.26:0.36+(i-1)*0.24 0.38:0.6+(i-1)*0.24))
dbCreateRect(cvID list("M2" "drawing") list(0.26:0.056+(i-1)*0.24 0.38:0.6+(i-1)*0.24))
dbCreateRect(cvID list("V1" "drawing") list(0.27:0.43+(i-1)*0.24 0.37:0.53+(i-1)*0.24))
dbCreateRect(cvID list("CA" "drawing") list(0.275:0.435+(i-1)*0.24 0.365:0.525+(i-1)*0.24))
dbCreateRect(cvID list("PC" "drawing") list(0.16:0.111+(i-1)*0.24 0.22:0.905+(i-1)*0.24))
)

dbCreateRect(cvID list("M1" "drawing") list(0:0.6+(m-1)*0.24 0.12:0.82+(m-1)*0.24))
dbCreateRect(cvID list("M2" "drawing") list(0:0.6+(m-1)*0.24 0.12:0.82+(m-1)*0.24))
dbCreateRect(cvID list("V1" "drawing") list(0.01:0.709+(m-1)*0.24 0.11:0.809+(m-1)*0.24))
dbCreateRect(cvID list("PC" "drawing") list(0.08:0.905+(m-1)*0.24 0.22:1.045+(m-1)*0.24))
dbCreateRect(cvID list("M1" "drawing") list(0.07:0.91+(m-1)*0.24 0.23:1.040+(m-1)*0.24))
dbCreateRect(cvID list("V1" "drawing") list(0.105:0.93+(m-1)*0.24 0.195:1.0195+(m-1)*0.24))


dbCreateRect(cvID list("RR" "drawing") list(0.17:0.0 0.47:0.3))
dbCreateRect(cvID list("VRB" "drawing") list(0.27:0.1 0.37:0.2))
dbCreateRect(cvID list("VRT" "drawing") list(0.27:0.1 0.37:0.2))
dbCreateRect(cvID list("M1" "drawing") list(0.26:0.069 0.64:0.229))
dbCreateRect(cvID list("V1" "drawing") list(0.53:0.099 0.63:0.199))
dbCreateRect(cvID list("M2" "drawing") list(0.52:0.0 0.64:0.229))
)

procedure(T1Rarray(M,N,m,cvID,cellID)
;cvID=dbOpenCellViewByType("RRAMgen" "1T1R_LEAF_tune" "layout")
;cellID = dbOpenCellViewByType("RRAMgen" "1T1R_array" "layout" "maskLayout" "w")

cell_height = 1.09+(m-1)*0.24
cell_width = 0.74

for(i 1 M
for(j 1 N
dbCreateInst(cellID cvID nil (j-1)*cell_width:(i-1)*cell_height "R0" 1)
)
)

for(i 1 N

dbCreateRect(cellID list("M2" "drawing") list(0.52+(i-1)*cell_width:0.0 0.64+(i-1)*cell_width:0.229+(M-1)*cell_height))

)

for(i 1 M

dbCreateRect(cellID list("M1" "drawing") list(0.0:0.09+0.6+(m-1)*0.24+(i-1)*cell_height 0.12+(N-1)*cell_width:0.09+0.6+(m-1)*0.24+0.13+(i-1)*cell_height))
dbCreateRect(cellID list("M1" "drawing") list(0.07:0.31+0.6+(m-1)*0.24+(i-1)*cell_height 0.23+(N-1)*cell_width:0.31+0.6+(m-1)*0.24+0.13+(i-1)*cell_height))

)

)

m=4
M=2
N=8
;load("/data1/RRAMgen/1T1Rgen.il")
;LEAF(m)
cvID=dbOpenCellViewByType("RRAMgen" "1T1R_LEAF_tune" "layout" "maskLayout" "w")
LEAF(m,cvID)
cellID = dbOpenCellViewByType("RRAMgen" "1T1R_array" "layout" "maskLayout" "w")
T1Rarray(M, N, m, cvID, cellID)


Viewing all articles
Browse latest Browse all 5066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>