空间中国网站地址多少,楚雄做网站建设的公司,网页设计制作软件,太原网站建设制作机构Cadence的Pcell designer官方入门教程
一、下载Pcell Designer
首先#xff0c;前往Cadence网站下载Pcell Designer软件 #xff08;具体安装过程就不记录了#xff0c;大家自己去看视频吧#xff09;
二、创建新的P-cell
然后打开Virtuoso#xff0c;点击Tools-…Cadence的Pcell designer官方入门教程
一、下载Pcell Designer
首先前往Cadence网站下载Pcell Designer软件 具体安装过程就不记录了大家自己去看视频吧
二、创建新的P-cell
然后打开Virtuoso点击Tools-Open Pcell Designer就可以打开了 然后选择导入的库及命名File to import可以导入已经创建好的Pcell。 然后就可以打开很多窗口这里我们可以点击这个按钮来调整安排不同的窗口 这里我们主要使用左侧窗口的控制台进行设计 首先我们先添加一些变量我们点击Device-Edit device type 这个界面允许我们从Pcell designer中创建CDF或者导入已经创建好的CDF文件这里我们点击Create 在添加的参数中我们可以选择其所属是CDForPcell参数both表示他们都是一般默认都是使用both 这里我们创建一个宽度参数名为w并将其类型type选择为number 然后我们点击提示prompt输入width选择单位unit选择为length metric长度度量表示当用户输入数字后单位将自动定义为默认单位um选择数值value默认数值为1u 然后添加其他参数当全部添加完成后点击ok 然后就会在后侧栏看到刚才定义的参数变量。并显示了其参数定义和默认数值
三、创建group和name
Pcell designer有两种按名称引用对象的机制第一个是Group组对应于数据库组允许在数据库本身内自动管理一组object可以从Pcell外部引用第二个是Name名字这表示object存储在Pcell内的变量里面。 这里将使用顶层单元设计器top cell designer的图形shape导入来说明这种方法当导入图形到Pcell designer在这种情况下我们选用可选的group 去定义他们 然后我们在控制台就可以看到刚才的两个矩形命令command被group command组命令给包围了。然后我们可以再次使用group command组命令其他对象object也可以包含在同一个组group里面 接下来我们将导入带有名称name的形状shape。我们将门极图像绿色的name命名为gate 然后我们就可以在控制台发现它直接导入了矩形命令command。并且其指定将输出的参数名称命名为gate。如果这样做的话每次设置变量gate的时候它都会覆盖overwrite该变量的原有值 另一种方法是导入许多这样的形状然后不给他们命名group name和name 然后我们可以在左侧command指示栏中输入name然后选中这些object点击右键选择Insert-Around 并将其命名为drain然后就可以发现这两个图形被归类到name里面了。就表示drain这个名字就等价于这两个图形了。每次使用给定名称时name command都会添加到变量中已定义的任何现有形状中。 其实group和name不仅适用于形状的导入还可以用它来收集整个Pcell的对象object然后可以在任何作为几何输入的命令中调用它们最终我们可以得到下面这些命令集
四、使用variable assistant
variable assistant显示在主控制台的右侧栏以及render window渲染窗口的右侧。这里显示的是variable的所有初始值及其名称。 如果渲染窗口render window有多个实例instance则variable assistant中会显示最后一个选定instance的相关值。并且在varibale assistant中还显示了与当前选择控制命令command中group指定变量的相关值如果变量值有变化的话右侧的variable assistant将对应的变量会变成绿色。 此外我们还可以对variable assistant显示的变量进行filter筛选和排序sort by表示排序可以进行A-Z排序show by表示过滤这里可以只显示Pcell相关的变量 还有一种方法是点击route在这里可以自定义命令command比如可以筛选查看input输入、output输出的命令因此variable assistant允许以不同的方式查看数据。
五、Geometric Queries
Geometric Queries允许你避免大量的计算在创建Pcells的时候相反我们可以通过正在创建的原理图或者symbol来对这些形状进行测量调节或者使用新的一组运算符从现有的object中创建新的形状。
copy command
下面来看一个在command中选择object的实例。首先使用copy command命令在这种情况下我们已经将Pcell单元设置为具有group和name这主要是为了给两者进行区分。我们可以将其source归类到一个现有的组group or name。这里选为group这里指定其距离dy为0.2就是将其宽度设置为0.2um 现在改为使用Expression类型但是为了缩小查找object的范围我们可以通过Geometric Queries几何查询来查找 打开后进行筛选在左侧栏中选择Layer operator层运算符并在该group周围arround插入layer operator 这样我们就可以选择复制该group的所在层的形状 然后点击Apply然后就可以发现得到了该group特定层的形状
distance operator
选择distance command将其命名为xdist然后再次使用Expression进行度量这里我们有一个小方便的vista按钮可以突出highlight显示Pcell中各种对象如edge边缘point点。这样可以很好的生成Geometric Queries几何查询。 然后我们可以来查看现在产生的Geometric Queries 在这里有一个快捷键我们可以直接复制expression 打开窗口后先将source group给删掉 然后在左侧栏中选择name command 然后希望xdist返回其自身值value它将会说明右边缘right edge之间的存在是针对这个特定pcell单元的。 表示drain需要相较于右边缘需大于0.205um
rectangle 最后一个例子是如何创建一个新形状 选择rectangle command并将其所在层设置为nump 还是source expression 选择or operator然后分别将Group设置为sourcename设置为drain。 但是现在它还包含在金属形状里面 然后使用grow operator这样可以指定增长的量使其在四个不同维度上进行生长。
六、创建Temporary shapes
Temporary shapes是用于创建object且不会直接出现在Pcell designer上。一种方法是在导入import时建立 可以发现创建的object被para command包围也可以发现在此处突出显示的shape不会直接出现在pcell中。 这允许我们在使用对象object时候如果我们把它向上移动然后重新启动这个填充指令。via fill command将会使用这些视图然后使用选中的这些视图填充此处的特定区域。 我们还可以做其他事情在这种情况下使用cross connect command交叉连接指令这里打算在电感pcell里面使用 这里使用了para command包围了它因为想创建、度量它所以在创建转弯线时复制到各个地方。在这里我们是看不到cross connect交叉互连线的但是在实际中他是不存在的 如果想更仔细查看这些para shape对象可以点击这个icon 因此para shape的好处是它避免了必须创建一个临时的object然后再Pcell删除掉他。
实践操作设计电感的Pcell 相信大家现在已经对画版图特别恼火了。因为如果不画版图就观察不了这些性质画了版图版图就固定了就无法对它的几何参数的规律进行研究。因此在设计这个放大器的时候我们就会做很多重复的重复劳动。所以我们今天讲一个基础软件的应用这个软件的名字叫P-cell designer 这里以电感的设计来进行讲解之后需要去尝试使用变压器设计 打开Cadence点击Tools-open pcell designer 就会打开rendering window这是渲染窗即把所谓的代码进行渲染。 shape drawing window可以在这里画草稿但是在开发模式下是用不到的 如果要定义一个参数化的几何图形首先要定义其参数 点击Device-Edit device type 然后这里有create把所有想要的参数都加入进来 这里特别要注意的是我们要设置其类型大部分是number且其默认数据的小数点直接决定了其是整数还是小数一般默认是要加小数点的不然除法会出现问题。 而像layer就是字符串类型 这里所有操作都是树状的不需要写入任何的代码 如果是写代码需要把每个点的坐标参数方程求解出来会非常麻烦。 这个软件的核心逻辑是根据程序运行到某一段run to select状态下已生成图像的量测结果得到随着参数变化的测量值。并根据这些测量值去生成新的参数化的几何结构。 总结下来就是根据参数化的测量值去生成新的参数化的几何结构 如何实现外围的圈首先是通过group就是一个几何组对一批几何组的图形进行操作。我们需要知道这里的group name是一个指针就是后面我们需要对这个已生成图像进行参数化的更改或参数化测量的时候就需要通过name为ind_layout这个字符串去访问到这个几何图形。这个字符串是指向这个几何图形的指针。 由于在这个VCO电感中不知道是需要重复多少圈的要重复n次也就是所谓的并联匝数。 这里把并联匝数定为n然后调用repeat command即for循环。 它的第一个量n即执行的次数自减1这个是内部变量 然后就是需要不断执行画圈的操作在这里不断调用八边形函数 在我们要实现跨工艺的电感或者不同层的电感就不要勾线layer而是勾选expression。 如果选择layer那么这就是固定死的东西了我们可以选择expression让layer作为变量手动输入M8M7 radius是电感的半径R是电感最内圈的内径n是匝数宽度为ws的间隔 对于这些group其名字本身也是由n生成的。 sprintf是格式化写入。以整数的形式变成一个字符串输出变成coil block是为了整理代码其本身是没有任何逻辑上的意义的。这种情况不会产生新的量。只是对现有的量进行量测或者定义一些局部变量的地方。所有的内容都是对上面的group去访问 然后画完之后就要进行measurement后面才能根据各种几何形状各种顶点去生成新的图像。 量测出来的值会随着参数尺寸的变化而变化 接下来调用了turtle海龟命令。这里可以制造一个指针参数化的轨迹。 line inner outer表示内到外的距离TAPL是延伸长度。 起始点是tap start这个点是通过前面量测结果得到的。 那么如何获得几何图形的抽象表征呢 选择expression 首先在render window把已有的几何图形都点一下 在这里就可以选择所有已有的 把它的框获取出来 找到定位的点会被高亮这样就能获得起始点了 并且这个点是参数化的就是在电感几何尺寸在变化的时候 然后再这个turtle的基础上生成path就是赋予一个轨迹实际的几何形状。实际的版图的mask 将其layer 然后是extension是中间挖槽的部分 由于担心超过限定的范围所以首先要查看是否有超过一定的值超了的话就要固定这个值。if主要用于做异常处理 如果超了的话就会报错。else命令返回报错信息到图上 chop就是对已有的图形用一个区域去切source的图形 切完之后去构建cross connect去掉一半只留下一半就变成45度的走线。 然后再镜像copy一下 是沿着中轴线my进行镜像。 distance 命令是量测两个位置之间的距离然后返回的类型值 result type如果返回来的值是用来移动的就使用transformation返回来的值绝对值就用lens返回来的是距离值就用x distance或者y distance 构建完之后还需要进行电磁仿真pin和label因此使用rectangle作为端口形状label表示名称P1 最后一步就是导出如果直接在本library导出就会打乱开发环境一般使用发布。因为直接使用的话这些底层构建代码就会暴露点击Tools-Deploy Pcell Designer Library 可以把开发库一般用dev命名发布到不带dev的库中这样就可以实现彻底的编码加密实现自己的pdk。 如果想要调用别人的pdk进来使用instance的命令。 调用一个晶体管进来 然后就会显示所有的可调参数然后添加进来used parameter这样就可以做嵌套式的pcell 成品后的效果 这里就可以像PDK库里面的电感一样改参数了 对于复杂电路PDK上没有这些元件就需要自己另外设计了。类似下面这个电路图需要挖槽才能做出足够粗的电感。
笔记总结