cadence skill 记录FPM不能保存问题

;FPM skill by Richard L. version=0.08 fpmontreal@gmail.com

;Tree:杂项(Chinese)/简单范例

;Desc:范例如何建立一个简单的二极管封装

;Vendor:Richard L.

;Count:1

;CVG64:示意图字段(测试中)

;Datasheet:

pL=12.7 ;引脚间距

pA=7.6 pB=3.5 pH=3.5 ;长宽高

pPad=2.0 pHole=1.2 ;焊盘直径和孔径

Courtyard=1.0 ;courtyard 庭院,我测试了一下应该是器件周围的距离

pName="MY-DIODE" ;给封装取个名字

_PrepareNewSym(pName) ;文件初始化

PadN=_PadTH_Default(pPad pHole) ;建立通孔园焊盘

_CreatePin(PadN -pL/2:0 "A") ;创建两个管脚 A 和 C

_CreatePin(PadN pL/2:0 "C")

;Place层

_Layer(lPkgGeoPlaceT) ;切换到PlaceTop层

_BoundHeight(_ShapeRectangle(pL+Courtyard*2 pB+Courtyard*2 0:0 pB/2) pH)

for(asm 0 1 ;丝印和装配层

if(asm==1 _Layer(lPkgGeoAsmT) _Layer(lPkgGeoSilkT)) ;层切换

_Rectangle(pA pB) ;矩形

;画三根线 下面画三根线.

_Line(list(-pL/2+pPad/2+SilkWidth/2+SilkGap:0 -pA/2:0));list 里面,前面是起点.后面是线的终点

_Line(list(pL/2-pPad/2-SilkWidth/2-SilkGap:0 pA/2:0))

_Line(list(-pA/2+1:pB/2 -pA/2+1:-pB/2))

)

_CreateRefValue(pName) ;必须的文字层

_SaveDesign(pName) ;保存文件

_MakeDevice(pName,2) ;需要的话附带生成DEVICE文件,0=IC 1=IO 2=DISCRETE

;FPM skill by Richard L. version=0.08 fpmontreal@gmail.com

;Tree:Connector/Header

;Desc:zh150 刘西振author

;Vendor:

;Count:20

;CVG64:bitmap field, not implemented yet.

;Datasheet:

Tabs='(

(2 3)

(3 4.5)

(4 6)

(5 7.5)

(6 9)

(7 10.5)

(8 12)

(9 13.5)

(10 15)

(11 16.5)

(12 18)

(13 19.5)

(14 21)

(15 22.5)

(16 24)

(1725.5)

(1827)

(1928.5)

(2030)

)

;courtyard 庭院,我测试了一下应该是器件周围的距离

Courtyard=1.0 pH=4 Pitch=1.5;pH估计是器件的高度

Width=4;先定义为器件的宽度

foreach(aTb Tabs

CKTS =nth(0 aTb)

A =nth(1 aTb) ;这个参数是获取 Tabs表格中的第二列的数据

sprintf(pName,"ZH150M-1X%d",CKTS)

_PrepareNewSym(pName)

PadN=_PadTH_Default(0.8 0.6)

;_PinArray(PadN Col Row PitchX/Y (P1=0:0 bRight bUp bRowFirst bPin1 bPinNum P1Offset=0 PAngle=0 TAngle=0)

_PinArray(PadN CKTS 1 Pitch 0 -(CKTS-1)*Pitch/2:0)

;bound

_Layer(lPkgGeoPlaceT)

;shape里面的第二个参数 上下宽度

_BoundHeight(_ShapeRectangle(A+Pitch+Courtyard*2 Courtyard*2+Width) pH)

;silkscreen & assembly

for(i 1 2

case(i

(1 _Layer(lPkgGeoSilkT))

(2 _Layer(lPkgGeoAsmT)))

;这个应该是画第一脚的 三角形的.

_Triangle(-(CKTS-1)*Pitch/2:-Width/2 2 90)

;这里面的第二个参数是矩形的上下宽度

_Rectangle(A+Pitch Width)

_Line(list(-(CKTS-1)*Pitch/2:Width/2 -(CKTS-1)*Pitch/2:Width/2-1) 1);这个第三个参数可以设置 线的粗细.

_Line(list((CKTS-1)*Pitch/2:Width/2 (CKTS-1)*Pitch/2:Width/2-1) 1);这个第三个参数可以设置 线的粗细.

)

;ref & val

_CreateRefValue(pName 0:-Width/2-tSilkHeight/2)

;_CrossCenter()

axlSetSymbolType("package");哈哈哈,这里一定要注意.之前的cadence 16.6 用fpm 创建的器件封装不能保存.是因为 setup ->design parameter的 design

;drawing type 的类型需要修改成为 package. 用了这个函数接口,就直接讲类型修改了. 后面就可以直接保存使用了.

_SaveDesign(pName)

_MakeDevice(pName 2) ;0-IC 1-IO 2-DISCRETE

);foreach

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值