在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1842|回复: 8

[求助] 用skill做八边形电感

[复制链接]
发表于 2024-8-30 11:10:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
求助skill画八边形电感的算法,或者哪位大佬能够提供一个八边形电感Pcell的skill。

目前想做一个电感的PCell,卡在了skill绘制的地方,我的思路是用CreatePath函数再自动根据输入参数计算出走path线的点位,就能实现一个八边形电感,但是我量了其它工艺库中提供的电感发现不是一个正八边形,这就很难通过纯粹的计算进行绘制,而skill走path线的难点在于如何保证走出的线是45度角不会有DRC问题,有大佬能提供个思路没,或者有现成的skill脚本就更好了。
发表于 2024-8-30 14:26:40 | 显示全部楼层
脚本讨论区有
 楼主| 发表于 2024-8-30 14:55:58 | 显示全部楼层


没找到,只有圆形电感和四边形电感
发表于 2024-9-2 11:10:41 | 显示全部楼层
感谢分享
发表于 2024-9-2 14:30:58 | 显示全部楼层
关键是计算各顶点的坐标。下面是我以前画8边形电感的代码,你感兴趣的话可以自己研究下。


Side = 8
Turns = 3
Radius = 65
NumPoints = Turns*Side + 2 +4
SpiralWidth = 10.0
SpiralSpace = 2.0
pi = 4*atan(1)
Radius1 = Radius + SpiralWidth/2.0
Step = (SpiralWidth + SpiralSpace)/Side
Angle = 2*pi/Side

point = list(-Radius1:-5)

Angle1 = 0
for( n 1 NumPoints-2
    a1 = -cos(Angle1)/Radius1
    b1 = sin(Angle1)/Radius1
    a2 = -cos(Angle1+Angle)/(Radius1+Step)
    b2 = sin(Angle1+Angle)/(Radius1+Step)
    XCoor = (b1-b2)/(a2*b1-a1*b2)
    YCoor = (a1-a2)/(a1*b2-a2*b1)
    XCoor = round(XCoor*100)/100.0
    YCoor = round(YCoor*100)/100.0   
    point = cons(XCoor:YCoor point)
    Radius1 = Radius1 + Step
    Angle1 = Angle1 + Angle
  )
Angle1 = Angle1 + Angle
YCoor = 0
point = cons(XCoor:YCoor point)
XCoor = XCoor+37
point = cons(XCoor:YCoor point)

cv = geGetEditCellView()
rodCreatePath(
        ?name  "sp"
        ?cvId  cv
        ?layer "METAL5"
        ?width SpiralWidth
        ?pts   point
  )

 楼主| 发表于 2024-9-2 14:53:18 | 显示全部楼层


oxide94 发表于 2024-9-2 14:30
关键是计算各顶点的坐标。下面是我以前画8边形电感的代码,你感兴趣的话可以自己研究下。


多谢大哥,我前几天也整出了个,但是在radius太小的时候会明显看到边长不相等,你这个比我的靠谱多了。

还有一个问题需要请教下,我做的电感pcell调用出来跑DRC在layout stream out的时候出问题,报错是:
Pcell evaluation failed for 'MyPcells/Inductor/layout' because the pcell SKILL code contains eiter a syntax error or an unsupported XStream funtion.
为啥会不支持我自己做的pcell?
发表于 2024-9-2 15:19:12 | 显示全部楼层


David.Z 发表于 2024-9-2 14:53
多谢大哥,我前几天也整出了个,但是在radius太小的时候会明显看到边长不相等,你这个比我的靠谱多了。

...


可能用了不支持在Pcell中使用的函数
 楼主| 发表于 2024-9-2 15:40:18 | 显示全部楼层


YuSHL 发表于 2024-9-2 15:19
可能用了不支持在Pcell中使用的函数


好的,我自己研究研究,还有个问题,自己做的电感pcell最终能不能做成可以想pdk下的pcell那样可以直接用于仿真,比如我也做一个model或者我能不能根据layout上的电感拿到一些参数,就像寄生抽取一样得到电感值和一系列参数用于前仿。
发表于 2024-9-2 17:07:54 | 显示全部楼层


David.Z 发表于 2024-9-2 15:40
好的,我自己研究研究,还有个问题,自己做的电感pcell最终能不能做成可以想pdk下的pcell那样可以直接用 ...


这个就比较麻烦。你要建立电感的等效电路,下图所示是一个例子。然后对电感进行电磁场仿真,得到电感的s参数。用ADS对等效电路进行仿真,让等效电路的s参数尽量拟合电磁场仿真得到的s参数,以得到R,C,L的值,最后将得到的RCL等效电路放进cadence,产生网表,才可以用于cadence仿真。


                               
登录/注册后可看大图

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-21 23:28 , Processed in 0.021514 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表