virtools中map的制作方法!

合集下载

Virtools中文手册

Virtools中文手册

Virtools技术介绍法国拥有许多技术上尖端的小型三维引擎或平台公司。

例如,Virtools所开发的三维引擎成为微软XBox认可系统。

其特点是方便易用,应用领域广(游戏机,互联网,工业合作等)。

全球交互三维开发解决方案公司VIRTOOLS日前推出了最新版本Virtools Dev 2.1实时三维互动媒介创建工具。

Virtools在其Dev接口上加入了许多新功能,改善了工作流程,让用户可以专注于创作出完美的交互三维画面。

Virtools Dev 2.1具备多项全新功能,其中包括20多种新增的“行为模块(Behavioural Module)”,以及全新的DirectX 8.1引擎。

在其行为引擎(Behavioural Engine)及各管理系统上添加了新功能,Virtools SDK及Virtools Web Player允许用户随意操控,享受全新的体验。

Dev 2.1无论在图形用户接口(GUI)、行为引擎、管理系统与渲染引擎方面均达到了前所未有的水平。

Virtools具有灵活、易操作的特点,其“行为模块”可以重复使用,因此,不但加速了生产过程,降低生产成本,并使投资回报更大。

开发人员可以使用“行为数据库”或在C++中,借助于Virtools的软件研发套件(SDK)进行创作。

使用者界面介绍场景编辑器(3D Layout)在3D Layout的区域内可以显示目前正在编辑的场景,使用者可以在这区域内即时检视编辑、修改的状况。

所有的对象包括3D的物体、灯光、摄影机、线段...等,都可以在这部分中做修改,如位置的移动、旋转、缩放等,并即时显示修改后的结果。

档案资源管理(Level Manager)在档案中的所有对象,都会依照分类(CK Class的分类),显示在这部分,如3D 物体就会在此分类显示(3D 物体泛指档案中的3D模型),灯光会显示在Light的分类中,摄影机会显示在Camera的分类中...等,方便使用者管理档案中的资源。

Cadence-virtuoso的使用简介(版图绘制)

Cadence-virtuoso的使用简介(版图绘制)

第二章Virtuoso Editing的使用简介全文将用一个贯穿始终的例子来说明如何绘制版图这个例子绘制的是一个最简单的非门的版图§ 2 1 建立版图文件使用library manager首先建立一个新的库myLib关于建立库的步骤在前文介绍cdsSpice时已经说得很清楚了就不再赘述与前面有些不同的地方是由于我们要建立的是一个版图文件因此我们在technology file选项中必须选择compile a new tech file,或是attach to an exsiting tech file这里由于我们要新建一个tech file因此选择前者这时会弹出load tech file的对话框如图2-1-1所示图2-1-1在ASCII Technology File中填入csmc1o0.tf即可接着就可以建立名为inv的cell了为了完备起见读者可以先建立inv的schematic view和symbol view具体步骤前面已经介绍其中pmos长6u宽为0.6u nmos长为3u宽为0.6u model 仍然选择hj3p和hj3n 然后建立其layout view其步骤为在tool中选择virtuoso layout然后点击ok§ 22绘制inverter掩膜版图的一些准备工作首先在library manager中打开inv这个cell的layout view即打开了virtuoso editing窗图2-2-1 virtuoso editing窗口口如图2-2-1所示版图视窗打开后掩模版图窗口显现视窗由三部分组成Icon menu , menu banner ,status banner.Icon menu(图标菜单)缺省时位于版图图框的左边列出了一些最常用的命令的图标,要查看图标所代表的指令只需要将鼠标滑动到想要查看的图标上图标下方即会显示出相应的指令menu banner菜单栏,包含了编辑版图所需要的各项指令并按相应的类别分组几个常用的指令及相应的快捷键列举如下Zoom In -------放大 (z)Zoom out by 2------- 缩小2倍(Z)Save ------- 保存编辑(f2) Delete ------- 删除编辑(Del)Undo ------- 取消编辑(u)Redo -------恢复编辑 (U)Move ------- 移动(m)Stretch ------- 伸缩(s)Rectangle -------编辑矩形图形(r)Polygon ------- 编辑多边形图形(P)Path ------- 编辑布线路径(p) Copy -------复制编辑 (c) status banner状态显示栏位于menu banner的上方显示的是坐标当前编辑指令等状态信息在版图视窗外的左侧还有一个层选择窗口Layer and Selection Window LSWLSW视图的功能1可选择所编辑图形所在的层2可选择哪些层可供编辑3可选择哪些层可以看到由于我们所需的部分版图层次在初始LSW中并不存在因此下一步要做的是建立我们自己的工艺库所需的版图层次及其显示属性为了简单起见以下仅列出绘制我们这个版图所需的最少版图层次层次名称说明Nwell N阱Active 有源区Pselect P型注入掩膜Nselect N型注入掩膜Contact 引线孔连接金属与多晶硅/有源区Metal1 第一层金属用于水平布线如电源和地Via 通孔连接metal1和metal2Metal2 第二层金属用于垂直布线如信号源的I/O口Text 标签Poly 多晶硅做mos的栅下图是修改后的LSW图2-2-2 LSW如何来修改LSW中的层次呢以下就是步骤1切换至CIW窗口在technology file的下拉菜单中选择最后一项edit layers出现如图窗口图2-2-3 edit layers2在technology library中选择库mylib先使用delete 功能去除不需要的层次然后点击add添加必需的层次add打开如下图的窗口图2-2-4其中layer name中填入所需添加的层的名称Abbv是层次名称缩写Number是系统给层次的内部编号系统保留128256的数字作为其默认层次的编号而将1127留给开发者创造新层次Purpose是所添加层次的功用如果是绘图层次一般选择drawing Priority是层次在LSW中的排序位置其余的选项一般保持默认值在右边是图层的显示属性可以直接套用其中某些层次的显示属性也可以点击edit resources自己编辑显示属性如图2-2-5所示这个窗口还可以在LSW中调出编辑方法很简单读者可以自己推敲就不再赘述上述工作完毕后就得到我们所需的层次接着我们就可以开始绘制版图了§ 2 3 绘制版图一画pmos的版图新建一个名为pmos的cell1画出有源区在LSW中点击active dg注意这时LSW顶部显示active字样说明active层为当前所选层次然后点击icon menu中的rectangle icon在vituoso editing窗口中画一个宽为 3.6u长为6u的矩形这里我们为了定标必须得用到标尺点击misc/ruler即可得到清除标尺点击misc/clear ruler如果你在绘制时出错点击需要去除的部分然后点击delete icon2画栅在LSW中点击poly dg画矩形与有源区的位置关系如下图0.6u6u(gate width)1.5u3.6u图2-2-5 display resource editor3画整个pmos为了表明我们画的是pmos管我们必须在刚才图形的基础上添加一个pselect层这一层将覆盖整个有源区0.6u接着我们还要在整个管子外围画上nwell它覆盖有源区1.8u 如下图所示pselect1.8unwell4衬底连接pmos的衬底nwell必须连接到vdd首先画一个1.2u乘1.2u的active矩形然后在这个矩形的边上包围一层nselect层覆盖active06u最后将nwell的矩形拉长完成后如下图所示nselectactivepselect这样一个pmos的版图就大致完成了接着我们要给这个管子布线二布线pmos管必须连接到输入信号源和电源上因此我们必须在原图基础上布金属线1首先我们要完成有源区源区和漏区的连接在源区和漏区上用contact dg层分别画三个矩形尺寸为0.6乘0.6注意contact间距为1.5u2用metal1dg层画两个矩形他们分别覆盖源区和漏区上的contact覆盖长度为0.3u3为完成衬底连接我们必须在衬底的有源区中间添加一个contact这个contact每边都被active覆盖0.3u4画用于电源的金属连线宽度为3u将其放置在pmos版图的最上方布线完毕后的版图如下图所示图2-3-1 pmos版图通过以上步骤我们完成了pmos的版图绘制接下来我们将绘制出nmos的版图三画nmos的版图绘制nmos管的步骤同pmos管基本相同新建一个名为nmos的cell无非是某些参数变化一下下面给出nmos管的图形及一些参数具体绘制步骤就不再赘述图2-3-2nmos四完成整个非门的绘制及绘制输入输出1新建一个cell inv将上面完成的两个版图拷贝到其中并以多晶硅为基准将两图对齐然后我们可以将任意一个版图的多晶硅延长和另外一个的多晶硅相交2输入为了与外部电路连接我们需要用到metal2但poly和metal2不能直接相连因此我们必须得借助metal1完成连接具体步骤是a在两mos管之间画一个0.6乘0.6的contactb在这个contact上覆盖poly过覆盖0.3uc在这个contact的左边画一个0.6乘0.6的via然后在其上覆盖metal2dg过覆盖0.3ud用metal1连接via和contact过覆盖为0.3u从下图中可以看得更清楚metal13输出连起来任意延长一个的metal1与另一个相交然后在其上放置一个via接着在via上放置metal2五作标签1在LSW中选择层次text d3点击create/label在弹出窗口中的label name中填入vdd并将它放置在版图中相应的位置上2按同样的方法创制gnd A和Out的标签完成后整个的版图如下图2-3-4 非门的版图至此我们已经完成了整个非门的版图的绘制下一步将进行DRC检查以检查版图在绘制时是否有同设计规则不符的地方第三章 Diva验证工具使用说明 版图绘制要根据一定的设计规则来进行也就是说一定要通过DRC Design RuleChecker检查编辑好的版图通过了设计规则的检查后有可能还有错误这些错误不是由于违反了设计规则而是可能与实际线路图不一致造成版图中少连了一根铝线这样的小毛病对整个芯片来说都是致命的所以编辑好的版图还要通过LVS Layout VersusSchematic验证同时编辑好的版图通过寄生参数提取程序来提取出电路的寄生参数电路仿真程序可以调用这个数据来进行后模拟下面的框图可以更好的理解这个流程图 3-0-1 IC后端工作流程验证工具有很多我们采用的是Cadence环境下集成的验证工具集DIV A下面先对DIV A作一个简单介绍DIV A是Cadence软件中的验证工具集用它可以找出并纠正设计中的错误它除了可以处理物理版图和准备好的电气数据从而进行版图和线路图的对查LVS外还可以在设计的初期就进行版图检查尽早发现错误并互动地把错误显示出来有利于及时发现错误所在易于纠正DIV A工具集包括以下部分1设计规则检查iDRC2版图寄生参数提取iLPE3寄生电阻提取iPRECadence cdsSPICE 使用说明资料收藏 PCB 收藏天地4 5电气规则检查 iERC 版图与线路图比较程序 iLVS 需要提到的是 Diva 中各个组件之间是互相联系的 有时候一个组件的执行要依赖另 一个组件先执行 例如 要执行 LVS 就先要执行 DRC 在 Cadence 系统中 Diva 集成在版 图编辑程序 Virtuoso 和线路图编辑程序 Composer 中 在这两各环境中都可以激活 Diva 要 运行 Diva 前 还要准备好规则验证的文件 可以把这个文件放在任何目录下 这些规则文 件的写法下面专门会进行说明 也会给出例子 这些文件有各自的默认名称 如 做 DRC 时的文件应以 divaDRC.rul 命名 版图提取文件以 divaEXT.rul 命名 做 LVS 时规则文件应 以 divaLVS.rul 命名§31DRC 规则文件的编写我们制定了以下规则 n 阱的最小宽度 阱与阱之间的最小间距 ndiff 到 nwell 的最小间距 pdiff 到 nwell 的最小间距 p mos 器件必须在 nwell 内 有源区的最小宽度 有源区之间的最小间距 多晶硅的最小宽度 多晶硅间的最小宽度 多晶硅与有源区的最小间距 多晶硅栅在场区上的最小露头 源 漏与栅的最小间距 引线孔的最小宽度 引线孔间的最小间距 多晶硅覆盖引线孔的最小间距 metal1 覆盖引线孔的最小间距 金属 1 的最小宽度 金属 1 间的最小间距 金属 2 的最小宽度 金属 2 间的最小间距 金属 2 的最小挖槽深度 通孔的最小宽度 通孔间的最小间距 通孔与引线孔间的最小间距 metal1 覆盖通孔的最小间距 4.8u 1.8u 0.6u 1.8u仍旧以前面的非门为例 1.a n 阱(well) 1.b 1.c 1.d 1.e 2.a 2.b 3.a 3.b 3.c 3.d 3.e 4.a 4.b 4.c 4.d 5.a 5.b 6.a 6.b 6.c 7.a 7.b 7.c 7.d 有源区 active1.2u 1.2u 0.6u 0.6u 0.6u 0.6u 0.6u 0.6u 0.9u 0.3u 0.3u 1.2u 0.9u 1.2u 1.2u 1.2u 0.6u 0.9u 0.6u 0.3u第 11 页 共 11 页多晶硅poly引线孔 contact金属 1metal1金属 2metal2通孔 viaCadence cdsSPICE 使用说明资料收藏 PCB 收藏天地7.e metal2 覆盖通孔的最小间距 0.3u 7.f 通孔与多晶硅的最小间距 0.3u 结合上述规则 我们就可以编写出相应的 DRC 规则检查文件 见附录 1 取名为 divaDRC.rul 这个文件的第一部分是层次处理 用于生成规则文件中所要应用到的层 次 可以是原始层或是衍生层 例如 nwell=geomOr("nwell") 在文件中引用到的所 有原始物理层次都要用双引号括起来 这一句的目的是在后面应用到 nwell 这个原始物 理层次时 不需要再用引号括起来 前面几句都是这个意思 后面四句则生成版图验证 中必须的一些层次 有一点需要注意的是 在 geomOr 的关键字和 ( 之间不能出现 空格 nwell=geomOr (“nwell”)的写法系统在编译时会报错 下面这个语句相当于一个条件转移语句 当有drc命令时 执行下面的规则 否则跳 转到下一个命令 ivIf( switch( "drc?" ) then 在设计规则检查中 主要的语句就是drc 了 先简单介绍一下这个语句的语法 [outlayer]=drc(inlayer1 [inlayer2] function [modifiers] ) outlayer表示输出层 如果定义 给出 输出层 则通过drc检查的出错图形就可以保 存在该输出层中 此时 如果没有modifiers选项 则保存的是原始的图形 如果在modifiers 选项中定义了修改方式 那么就把修改后的结果保存在输出层中 如果没有定义outlayer 层 出错的信息将直接显示在出错的原来层次上 Inlayer1和inlayer2代表要处理的版图层次 有些规则规定的是只对单一层次的要求 比如接触孔的宽度 那么可以只有inlayer1 而有些规则定义的是两个层次之间的关系 如 接触孔和铝线的距离 那么要注明两个层次 Function中定义的是实际检查的规则 关键字有sep 不同图形之间的间距 , width 图形的宽度 , enc 露头 , ovlp(过覆盖), area 图形面积 , notch 挖槽的宽度 等 关系有>, <, >=, <=, ==等 结合起来就是 sep<3, width<4, 1<enc<5 这些关系式 例如 drc(nwell width < 4.8 "Minimum nwell width =4.8") 在此例中 没有outlayer 的定义 也没有modifiers的定义 所以发现的错误都直接显示在nwell层上 例子中 inlayer 就是nwell 检查的只是n阱层的规则 function是width<4.8 表示n阱宽度小于4.8微米 所以上面这句的执行结果就是把n阱层中宽度小于4.8u的图形当做错误输出 后面引号中的 信息起到说明提示作用 需要时可以查询 对查错没有实际意义 同样需要注意的是 在drc 和 之间同样不能有空格 否则系统会提示没有drc语句 从上面讨论不难看出 DIVA 规则文件的编写对格式有一定要求 在规则文件中我们还可以看到saveDerived语句 如 saveDerived(geomAndNot(pgate nwell) "p mos device must in nwell") 这一句将输出不在nwell内部的pgate pmos 这种写法在规则文件的编写中经常碰到 要熟练掌握 另外 在DRC文件中 引号引出的行是注释行 以上就是对DRC文件编写的一些简单介绍 对于其中使用的关键字 作者有专门的说明 文章 同时在本文后面作者还会给出一个完整的DRC校检文件并给出详细说明 读者可以参 照它 以加深对文件编写的理解§32 版图提取文件的介绍上面已经提到 通过DRC验证的版图还需要进行LVS也就是版图和线路图对查比较 实际 上就是从版图中提取出电路的网表来 再与线路图的网表比较 那么如何提取版图网表呢 这里我们就要使用到DIVA的extract文件 下面是它的简单介绍 首先 同DRC一样 extract文件的最开始同样是这样一条语句第 12 页 共 12 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地ivIf switch extract then 它相当于一个条件转移语句 当有extract这个命令时 执行下面的规则 否则跳转到另外 的循环 接着 extract文件中要进行的是层次定义 它一般分为三个步骤 1 识别层定义 recognition layer 2 终端层定义 terminal layer 3 伪接触层定义 psuedo_contact layer 然后是定义层次间的连接关系 使用geomConnect语句将版图间的不同层次连接起来 一个 extract文件只能有一个geomConnect语句 构成完整的网表 例如句子 geomConnect via contact psd nsd poly metal1 via via metal1 metal2 其中 via语句的作用是使用连接层连接任意数目的层次 但要注意的是 一个via语句中只 能出现一个连接层 但在geomConnect语句中via语句可以出现的次数不限 以上语句表示 在有contact的地方 psd nsd poly metal1 是相互连接的 在有via 的地方metal1和metal2 相连 注意后一个via和前一个的意义不同 上述工作完成之后 我们接着要进行的工作是器件的提取 device extraction 使 用extractDevice语句 extractDevice 语句定义电路中用到的元器件 这是提取文件中的 关键语句 语法说明如下 extractDevice( reclayer termlayer model physical ) 其中reclayer是识别层 它应该是后来通过逻辑关系生成的提取层 这个层上的每一个图形 都会被当作是一个元器件 Termlayer是端口层 它表示的是元器件的端口 一定要是可以连接的层次 具体的端口定 义因元器件而异 Model指的是元器件的类型 与端口要对应 例如下两句 extractDevice( pgate (GT "G")(psd "S" "D")(NT "B")"pfet ivpcell" ) extractDevice( ngate (GT "G")(nsd "S" "D")(pwell "B")"nfet ivpcell" ) 分别提取出pmos管和nmos管 接着很重要的一步是器件尺寸测量 使用measureParameter语句 例如 w1 measureParameter length ngate butting nsd .5 这一句测量的是nmos的沟道宽度 注意后面的.5必须加上 否则测出的将是两倍的沟道宽度 下面使用saveInterconnect 这个命令把连接的层次写到提取出来的网表中 以便在做 LVS时 可以与线路图中的网表互相对比 saveInterconnect( nsd psd poly contact metal1 ) saveRecognition 这个命令将提取产生的可以识别的图形保存下来 通常和 extractDevice语句中的识别层一致 saveRecognition( ngate "ngate" ) saveRecognition( pgate "pgate" ) 以上就是对extract文件的一个简要介绍 读者可以参看附录中完整的例子 以加深对它的 理解§3接下来 就是LVS检查了3LVS文件的介绍LVS文件在diva中 由于版图提取在extract中就已经完成第 13 页 共 13 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地中的逻辑结构相对就比较简单 只需进行网表比较 参数比较 以及把一些 并联或串联 的元器件归并等即可 所以这一部分文件不会因为工艺层次不同而有很大不同 可以根据范 本做少许改动 以下只介绍一下LVS的基本结构 lvsRules procedure(mosCombine(value1,value2) ……. ) Procedure(mosCompare(lay,sch) ……. ) permuteDevice(parallel “pmos” mosCombine) compareDeviceProperty(“pmos” mosCompare) ) 至于例子 读者可以参考附录§3一 DRC 的说明4Diva 的用法编 辑 好 的 验 证 文 件 都 存 在 ..\export\home\wmy\myLib\ 下 文件名分别是 divaDRC.rul divaEXT.rul divaLVS.rul 有了这三个文件就可以进行版图验证了 下面 将以一个非门为例子来进行说明 在编辑版图文件的同时就可以进行DRC检查 在virtuoso版图编辑环境中 单击Verify 菜单 上面提到的DIVA工具都集成在这个菜单下 先介绍设计规则检查DRC 单击第一个子 菜单DRC就会弹出DRC的对话框 如下图 3-4-1 DRC 菜单窗口第 14 页 共 14 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地Checking Method 指的是要检查的版图的类型 Flat 表示检查版图中所有的图形 对子版图块不检查 与电路图中类似 最上层电路 由模块组成 而模块由小电路构成 有些复杂的版图也是如此 Hierarchical 利用层次之间的结构关系和模式识别优化 检查电路中每个单元块内部是 否正确 hier w/o optimization 利用层次之间的结构关系而不用模式识别优化 来检查电路中每 个单元块 Checking Limit 可以选择检查哪一部分的版图 Full 表示查整个版图 Incremental 查自从上一次 DRC 检查以来 改变的版图 by area 是指在指定区域进行 DRC 检查 一般版图较大时 可以分块检查 如果选择这种方式后 Coordinate 这个输入框就变为可输入 可以在这个框内输入坐标 用矩形的左下角和右上角的坐标来表示 格式为 12599:98991 115682:194485 或者先单击 Sel by Cursor,然后用鼠标在版图上选中一个矩形 这个输入框也会出现相应 的坐标 如果不出现可以多选几次 Switch Names 在DRC文件中 我们设置的switch在这里都会出现 这个选项可以方便我们对版图文件进行 分类检查 这在大规模的电路检查中非常重要 Run-Specific Command FileInclusion Limit上面的两项并不是必需的 可以根据默认设定 Echo Commands 选上时在执行DRC的同时在CIW窗口中显示DRC文件 Rules File 指明DRC规则文件的名称 默认为divaDRC.rul Rules Library 这里选定规则文件在哪个库里 Machine 指明在哪台机器上运行DRC命令 local 表示在本机上运行 对于我们来说 是在本机运行的 选local remote 表示在远程机器上运行 Remote Machine Name 远程机器的名字 在填好规则文件的库和文件名后 根据实际情况填好 Checking Method 和 Checking Limit就可以单击OK运行 这时可以在CIW窗口看到运行的信息 同时在版图上也会出现发 亮的区域 如果有错误 错误在版图文件中可以看到 另外也可以选择Verify-Markers-Find菜单来帮助找错 单 击菜单后会弹出一个窗口 在这个窗口中单击apply就可以显示第一个错误 这个窗口较简 单 大家看一下 再试几次就可以了 同样 可以选择Verify-Markers-Explain来看错误的原因提示 选中该菜单后 用鼠标 在版图上出错了的地方单击就可以了 也可以选择Verify-Markers-Delete把这些错误提示删 除 Virtuoso版图编辑环境下的菜单见图3-4-2第 15 页 共 15 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地图 3 –4-2Virtuoso 菜单二版图提取Extractor说明为了进行版图提取 还要给版图文件标上端口 这是LVS的一个比较的开始点 在LSW 窗口中 选中 metal1 pn 层 然后在 Virtuoso 环境菜单中选择 pn 指得是引脚 pin Create-Pin 这时会出来一个窗口 如下图 3-2-3 创建版图端口窗口 填上端口的名称 Terminal Names 和Schematic中的名字一样 模式 Mode 一般选 rectangle 输入输出类型 I/O Type 等 至于Create Label属于可选择项 选上后 端口 的名称可以在版图中显示 填好可以直接在版图中画上端口 往往有好几个端口 可以都画好在单击Hide 这 些端口仅表示连接关系 并不生成加工用的掩模板 只要求与实际版图上铝线接触即可 也没有规则可言第 16 页 共 16 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地版图的完成后 就可以提取了 在版图编辑环境下选择Verify –extractor 下弹出菜单如图 3-2-4Extractor 窗口图 3-2-5 提取出的文件 填好提取文件库和文件名后 单击OK就可以了 然后打开Library Manager 在库myLib下 nmos单元中增加了一个文件类型叫extracted的文件 可以用打开版图文件同样的方式打开 它 图3-2-5就是提取出来的版图 可以看到提取出来的器件和端口 要看连接关系的话 可以选择Verify-probe菜单 在弹出窗口中选择查看连接关系 版图的准备工作基本上就完成了 接下来是线路图的准备工作 线路图的准备工作相第 17 页 共 17 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地对较简单 有几个要注意的地方 首先 在库的选用上 要用Sample库中的元件 其次 线 路图的端口名称要与版图中的端口名称一致 最后 在线路编辑完成后要进行检查 可以直 接单击左边第一个快捷键 也可以选择菜单Check--Current Cellview 在版图和线路图的准备工作完成后就可以进行LVS了图3-2-6 LVS 参照图3-2-6的弹出菜单 填好规则文件的库和文件名 要进行LVS的两个网表 其实 在LVS中比较的是两个网表 一个是schematic中 另一个是extracted 所以两个schematic文 件也可以比较 只是一般没这个必要 设置完以后单击RUN 片刻后就回弹出一个窗口表 示LVS完成或者失败 失败时可以在上面的菜单中单击Info看运行的信息再进行处理 LVS 完成后 可以在上面的弹出菜单中单击Output 这时会弹出LVS的结果 当然 LVS完成并不是说LVS通过了 可能会有很多地方不匹配 这时要查看错误可以 在LVS窗口中单击Error Display 即可在Extracted和Schematic 中查看错误第 18 页 共 18 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地第四章 Cadence 中 Verilog 的一些使用方法§41Verilog 的文本编辑器随着电路规模的增大和复杂 传统的图形输入模式已不可行 语言描述电路 成为潮流 它的方便性和好的更改性 维护性在实践中得到很好的体现 尤其现 在强大的综合工具 和系统集成对核的需求性使 Verilog 更有用武之地 每个硬 件工程师应该学习掌握它 在进入 Cadence 后在命令行中键入 textedit *.v↙ (此处*为文件名 在 textedit 命令后应带上文件名) 键入上述命令后进入文本编辑框 和 Windows 中常用的文本编辑框很象图 4-1-1textedit 文本编辑框界面 图中的主菜单 File View Edit Find 及各自底下的子菜单和 Windws 中的 文本编辑器差不多 使用方法相似 这里就不多说了 编好程序保存可以进 行后续工作了§4一2Verilog 的模拟仿真命令的选择 在命令行中键入 verilog↙ 会出现关于此命令的一些介绍 如下 -f <filename> read host command arguments from file. -v <filename> specify library file -y <filename> specify library directory -c compile only -s enter interactive mode immediately第 19 页 共 19 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地-k <filename> set key file name -u convert identifiers to upper case -t set full trace -q quiet -d decompile data structure Special behavioral performance options (if licensed): +turbo speed up behavioral simulation. +turbo+2 +turbo with second level optimizations. +turbo+3 +turbo+2 with third level optimizations. +listcounts generate code for maintaining information for $listcounts +no_turbo don't use a VXL-TURBO license. +noxl disable XL acceleration of gates in all modules Special environment invocation options (if licensed): +gui invoke the verilog graphical environment 在上面的参数选择中 简单介绍几个常用的: (1)-c 首先应该保证所编程序的语法正确性 先进行语法的检查 选择参数- c 键入 如下命令 verilog –c *.v↙ 根据 Cadence 的报告 查找错误信息的性质和位置 然后进入文本编辑器进 行修改 再编译 这是个反复的过程 直到没有语法错误为止 (2)-s 进入交互式的环境 人机交互运行和下面的参数联合使用 (3)+gui & verilog 仿真有命令和图形界面两种方式 图形界面友好和 windows 使用很 象 很好掌握 一般都使用图形方式 &”符号是后台操作的意思 不影响 前台工作 如此时你可以在命令行输入其它的命令 其它的命令参数选择比较复杂 这里就不介绍了 故我们这里常用的命令是 verilog –s *.v +gui &↙ (*代表文件名) 进入图形交互界面 $附 命令行输入 !!↙ 是执行上一条命令 命令行输入 !* ↙ (*代表字母) 是执行最近的以*开头的命令 上述附注对命令输入速度提高有所帮助 二 SimVision 图形环境 SimVision 是 Verilog-XL 的图形环境 主要有 SimControl Navigator Signal Flow Browswer Wactch Objects Window SimWave 等窗口第 20 页 共 20 页。

版图绘制及Virtuoso工具软件

版图绘制及Virtuoso工具软件

工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计
GDS文件操作
17/ 103
版图设计规则简介
工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计
GDS文件操作
18/ 103
版图设计规则简介(续)
工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计
GDS文件操作
19/ 103
PMOS电流源负载差分对
工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计
GDS文件操作
20/ 103
Virtuoso软件的 简介及使用
工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计
GDS文件操作
21/ 103
创建一个新库
File->New->Library
工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计
GDS文件操作
22/ 103
创建Layout Cellview
File->New->Cellview
指定Cellview编辑模式
工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计
GDS文件操作
23/ 103
Layout Editor Window
工艺流程
Design Rule
Virtuoso软件
PDK简介
版图设计

code map 使用方法

code map 使用方法

code map 使用方法Code Map 使用方法一、介绍Code Map 是一种在软件开发中常用的可视化工具,用于展示代码之间的关系和依赖关系。

通过Code Map,开发人员可以更加直观地理解代码结构,帮助他们更好地理解和修改代码。

本文将介绍Code Map 的使用方法,帮助读者快速上手和使用该工具。

二、安装与启用1. 安装 Visual Studio:首先,你需要安装 Visual Studio 开发环境。

Code Map 是Visual Studio 的一个插件,只能在Visual Studio 中使用。

你可以从微软官网下载并安装最新版本的 Visual Studio。

2. 启用Code Map:在安装完Visual Studio 后,打开Visual Studio,点击菜单栏的"工具",然后选择"扩展和更新"。

在弹出的窗口中,选择"在线",在搜索框中输入"Code Map",然后点击"下载" 和 "安装" 按钮。

3. 重启 Visual Studio:安装完成后,需要重启 Visual Studio 才能使 Code Map 生效。

三、创建 Code Map1. 打开一个项目:在Visual Studio 中,打开一个已有的项目或者创建一个新的项目。

2. 创建 Code Map:在解决方案资源管理器中,右键点击你想要创建Code Map 的项目或文件,选择"查看",然后选择"Code Map"。

这样就创建了一个新的 Code Map。

四、操作 Code Map1. 添加节点:在Code Map 中,节点代表代码文件或代码块。

你可以通过拖拽文件或代码块到 Code Map 中来添加节点。

2. 添加关系:在Code Map 中,关系代表代码文件之间的依赖关系。

版图绘制及Virtuoso_工具软件

版图绘制及Virtuoso_工具软件

2020/5/1
共41页
20
Display Control Window
2020/5/1
共41页
21
Virtuoso下的快捷键的使用(1)
• Ctrl+A 全选 • Shift+B Return,升到上一级视图 • Ctrl+C 中断某个命令,一般用
ESC代替。 • Shift+C 裁切(chop)。 • C 复制,复制某个图形 • Ctrl+D 取消选择。亦可点击空白
改变你的访问权利
Library Manager – Edit – Access Permissions form.
使用 UNIX command chmod 来改变你在该 Library中的访问权利(用的很少)
2020/5/1
共41页
37
版图中的Layout单元消失了
A cellview often contains instances of cells from other design libraries. If you open a cellview that contains instances of cells from a library that the layout editor cannot find, the following happens:共41页来自13一个简单的例子
2020/5/1
共41页
14
3、 Virtuoso软件的简介及使用
• 创建Layout Cellview File->New->Cellview
2020/5/1
共41页
15
Layout Editor Window
2020/5/1
共41页
16

Virtools精彩实例教程

Virtools精彩实例教程

Virtools精彩实例教程 - Virtools (1)2007-01-28 16:23:20 作者:佚名来源:互联网浏览次数:980 文字大小:【大】【中】【小】自从大型电玩VR快打上市以后,游戏业界便开始吹起了3D的风潮。

当时每次到游艺场,总会看到游戏台上挤满了一堆等着对打的人群。

这对当时游戏界还是以2D平面造型为主流的情况下,实时3D 运算的效果所带给玩家的冲击可以说是相当的大的。

也因此带动了整个游戏界转而开始研究起实时3 D的游戏。

当然在一开始的过渡期中。

游戏公司常会以在动画软件里头预先着色(Pre-Render)出图形,然后再以传统的2D秀图的方式产生动态效果以产生”假3D”的感觉。

不过慢慢的,随着经验的累积以及3D引擎的研发技术成熟。

真正的实时3D游戏就如雨后春笋般的一个一个冒上来,而且更随着硬件技术的提升与玩家的期待,实时3D的游戏其多边形的数量愈来愈高,这代表着角色的造型愈来愈精致(各位可以比较VR快打一代到最新的VR快打四代之间的差异就可以了解其进化的程度了)。

算一算,从VR快打至今,也才不过十来个年头。

国内在当时虽然也是十分的轰动,但是相对于3D游戏的大受欢迎以及国外厂商的竞相投入,国内的游戏公司,却几乎没有人敢踏入这个领域。

开发实时3D的游戏或者其它相关的多媒体,首先冲击到的,就是研发人员。

不管是程序设计师或者是美术人员,他们都必须要去面临一个完全陌生的东西。

在当初,3D动画软件还是许多人连碰都没有碰过的东西,自然很难以理解要做出一个这样的游戏,美术人员需要”用手画出多少张的图才行啊?”。

当时的我,只能佩服日本的美术人员”毅力十足”。

而随着神秘面纱慢慢的褪去,笔者才大致了解到实时3D的制作概念。

当然,连笔者都能知道的东西,我想在游戏界里头应该已经都不是秘密了。

只是,即使知道了该怎么做,国内投入这个领域的,还是几乎为零。

这是为什么呢?答案是,3D引擎的开发旷日废时。

要研发一套3D游戏,可能代表着你必须投入相当多的人力、物力,以及财力才行。

Virtools开发虚拟仿真软件场景展示类的制作术

Virtools开发虚拟仿真软件场景展示类的制作术

Virtools开发虚拟仿真软件场景展示类的制作术作者:张俏焦战来源:《无线互联科技》2015年第03期摘要:文章介绍了virtools下快速开发场景漫游,通过轻松简单的方式实现第一人称、第三人称漫游模式制作及切换,并解决人物穿越3D模型的问题,为非计算机类人员提供成熟便捷的虚拟仿真解决方案。

关键词:Virtools;第三人称;虚拟场景漫游在众多的虚拟仿真系统中,煤矿生产环境、龙卷风现场等很多高危场景、现实很难动态再现场景需要虚拟仿真,而在虚拟仿真环境制作中,最主要的是角色控制及视角控制技术。

那么如何通过Virtools的模组开发一个简单的虚拟仿真系统,笔者将通过角色控制技术、摄像机控制技术、碰撞检测技术来具体介绍基于virtools的虚拟仿真场景展示的关键技术。

1 虚拟仿真系统中的控制角色技术虚拟仿真系统中的控制角色技术,最常用的通过游戏控制杆、键盘、鼠标等输入接口设备控制角色的运动,在Virtools中提供已经封装好的两个模组分别是:Character Controller模组和Unlimited Controller模组。

1.1 使用Character Controller设置角色动作将角色Eva放入场景,将制作好的Characters/Animations/Skin Character Animations/Eva/的Run、Wait、Walk等动画拖动放到角色身上,即添加好了角色的运动动画。

如图1所示。

左键单击Building Blocks/Characters/Movement/Character Controller模组拖到Eva角色模型上,在弹出的设置框中,分别指定Stand Animation(站立动画)为wait、Walk Animation(前走动画))为walk、Walk Backward Animation(后退动画))为walk Bckwd和Run Animation (跑动动画))为run。

Virtools_简单教程

Virtools_简单教程

I/ u nOt 一旦 I 被觸發就執行行為模組的 n 設定,完成後會觸發 O t u 並停止運作 。
L o I / o pO t opn Lo u
一旦 I 被觸發行為模組就開始運作,隨即 n 在 L o O t L o I 間執行外部迴圈,直到 o p u和 o p n 完成行為模組的設定才會觸發 O t u 並停止運作。
方向光 ( i co a L h) Dr t n l i t ei g
只具有方向屬性,沒有照射範圍的限制, 即空間中充滿同一方向的光線。
環境光 (mb n L h) A i ti t e g
充滿整個空間的光線,沒有特定位置和照 射方向,只具有色彩屬性。環境光會均勻照明 整個場景,物件表面不會有明暗的區別。
流程連接線上顯示的數字,代表流程延遲的 影格 (a ) f me 數。 r
行為模組的類型
根據運作方式區分,行為模組有三種類型:
O 1 O /f . n f / 2I O t .n u / 3L o I L o O t . opn op u
O /f n Of 一旦 O 被觸發行為模組就持續 n 執行,直到 O f f 被觸發才會停止運作。
參數運算 P rmee O eai ) aa tr p rt n o
數學運算 例如加、減、乘、除 、抓取 資料 例如抓取物件的位置 或轉換參數類型 例如將整數轉換成字串 。
B z r rge s nB e i Po rsi B e o
V l :輸出參數 A與 B之間的變化值。 ae u D l :這次的 V l 值 ea t ae u 上次的 V l 值。 ae u
參數 (aa tr P rmee)
在行為模組的參數輸入(I) pn上有一個小 方格,這個小方格稱為參數。參數好比一個 容器,存放著特定類型的資料。

Virtools4.0+For+Max+输出插件详解

Virtools4.0+For+Max+输出插件详解

Virtools4.0 For Max 输出插件详解Export as Objects: 输出为3D物体。

Export as a Character: 输出为一个角色。

Export Animation Only: 仅输出动画。

Export Level(produce.cmo): 输出为Level , 在一般情况下这个选项是用来直接将MAX场景导出为CMO文件的。

(这里需要注意的是,输出插件3种输出格式NMO、CMO、VMO,当选择这个选项导出为NMO后,在Virtools导入时会做为一个没有名字的Scene导入,)Character Name:角色的名字,当导出角色时可用。

Animatiion Name:动画的名字,当导出动画色可用。

Starting Camera:当导出为Level可设置场景初始相机。

二.一般选项:此主题相关图片如下:Export selection groups as places: 将MAX中的组(Groups)导出为Places.Rescale Scene’s unit: 重设场景单位,将场景导入VT时重设场景单位为米。

(个人觉得这个选项很有用,以前有的模型要在MAX中手动缩放并修改场景单位不仅麻烦,MAX还总是出错。

)Hide Helper Objects: 隐藏辅助物体,MAX中的辅助物体在导入Virtools后默认为隐藏状态。

File Compression Level: 导出文件的压缩级别,从0到9压缩级别越高文件越小。

Detect and Share identical: 资源共享,这里可以设置共享动画,Mesh,材质和贴图。

(这个功能也很好用,以前在MAX中只有用Instance方式复制的关联物体才可以共享Mesh,现在只要两个物体的Mesh数据是一样的(比如顶点数,顶点位置),只要勾选这里的Mesh选项,导出后两个物体也会共享一个Mesh。

其它的动画,材质和贴图也是一样的,只在数据一样就会在导出时共享一三.3D物体选项:此主题相关图片如下:Deactivate Mesh Channels: 冻结Mesh通道.在导出Virtools后,使物体的Mesh通道默认为冻结状态。

map的操作方法

map的操作方法

map的操作方法一、map的基本概念。

1.1 map就像是一个超级收纳盒。

它可以把各种东西按照一定的规则放在不同的小格子里。

在编程的世界里呢,map是一种数据结构,它主要的功能就是存储键值对。

就好比你有很多双鞋子,每双鞋子都有一个对应的鞋盒,这个鞋盒就像是键,鞋子就是值。

1.2 它特别的灵活。

可以用来处理各种各样的数据关系。

比如说,你要管理一个班级学生的成绩,每个学生的名字就是键,他对应的成绩就是值。

这就像每个学生都有自己专属的“成绩小格子”,方便你随时找到想要的信息。

2.1 创建map。

创建map就像搭建一个新的收纳架。

在很多编程语言里,都有专门创建map的语法。

比如说在Java里,你可以用HashMap或者TreeMap。

这就好比你选择不同类型的收纳架,有的收纳架可能是按照顺序摆放东西(TreeMap类似这种有序的),有的就比较随意(HashMap就无序一些)。

创建的时候就像是你先把这个收纳架的框架搭好,准备往里面放东西。

2.2 添加元素。

往map里添加元素就像往收纳盒里放东西。

还是以学生成绩为例,你想把小明的成绩90分放进map里,你就把“小明”这个键和90这个值对应起来放进map。

这就好比你把写着“小明”的纸条贴在装着90分试卷的小盒子上,然后把这个小盒子放在收纳架上。

操作起来很简单,只要按照编程语言规定的语法来就行,就像按照收纳架的使用说明来放东西一样。

2.3 查找元素。

查找元素的时候呢,map就像一个贴心的小助手。

你只要告诉它你要找的键,它就能快速地把对应的值找出来给你。

比如说你想知道小明的成绩,你只要在map里查找“小明”这个键,它就能把90分这个值给你。

这就像你在收纳架上找贴着“小明”纸条的小盒子一样,只要纸条标记清楚了,就能很快找到。

三、map的优势。

3.1 高效性。

map查找元素的速度那是相当快的。

就像一个经验丰富的快递员,能够在众多包裹中迅速找到你要的那个。

不管你map里存储了多少个键值对,它都能快速定位。

版图工具Virtuoso的技巧

版图工具Virtuoso的技巧

版图工具Virtuoso的技巧Shift+Z 缩小版图视图Ctl+Z 放大版图视图,也可点住鼠标右键不放并圈住想要放大的区域,然后松开C copyK 画标尺Shift+K 取消标尺P 画pathM move挪动S stretch可以选择可拉伸的对象(如矩形框)的边缘进行拉伸F3 很有用,在选取相应工具显示相应属性对话框,可以设置画线的走向,斜角等等;还有如果想要实现图形的镜像对称,也可以用F3键,选择对话框中的sideway(左右镜像)和updown(上下镜像)。

Shift+X 进入版图中的子模块;Shift+B 从子模块版图中返回上层版图。

Shift+C 裁切(Chop)。

选中图形,然后随意裁切画好的图形,按F3有很多设置。

Ctrl+F 显示上层等级;Shift+F 显示所有等级。

这个在调用多层Instance时用起来比较好,很方便。

G Gravity,就是吸附的意思,如果格点设置不合适或者遇到不规则的斜边时,很难将鼠标放到图形的端点或边上,按一下g吧,搞定了。

Shift+M Merge,合并工具,好多线叠在一起很难看,那么merge一下吧,所有连在一起的图形会变成一个平滑的整体。

Shift+O Rotate,旋转,如果你要画一个角度很别扭的图形,那么首先在最舒适的角度画好了,然后大O,随便转到你需要的角度。

T 是Layer Tap,层切换。

按T,点击一个图形,就自动切换到刚刚点击图形的的层上去了,用T就不用总点LSW了。

Y Yank,区域复制,如果你想复制某个区域的全部图形而且又不是完整的图像,那么copy就不行了,我们有yank,先按y,鼠标框选要复制的区域,然后Shift+y,粘贴即可。

方向键移动版图的视图;Ctrl+方向键可以移动Cell;Shift+方向键鼠标每次移动半个格点距离。

鼠标右键放大(相当于z+左键),连续选取多个图形:shift+左键;如果不小心选多了,可以用ctrl+左键取消单个选择。

基于Virtools的漫游地图算法实现

基于Virtools的漫游地图算法实现







U ’ :




在 Vi o l , 般选 择漫游 者 自身 坐标 系的 z轴正 方 向为 其前 进 方 向 , 据 向量 w r os中 一 t 根 的几何 意 义可
知, 漫游者的前进方 向在世 界坐标系 中的表示 即为 w 前进 方 向在俯视 图 中的投 影 向量 为 :, 图: , w视 俯 < u > u ・ .因为无法直接求取向量 w 视 到贴图中的子图片的序号的映射, 俯 ,目 所以采用先将向量 w 视 映射 目
方法 , 并制作 出 3个 自成体 系 的通 用模块 .
1 前 进 方 向实 时 显示模 块
该 模块 用一个 2 rme D F a 来指示 漫游 者的前进 方 向 , 为 目标 2 rme 称 D F a .它 的贴 图 由一 系列 指示 方 向的小 图片组 成 , 成一个 按规 则均匀 分布可 表 示 角度 的子 图片序 列 .该 模块 的 目的是 实 现对 漫 游者 前 形 进方 向三维 向量 的实时 检测 , 获取它 在俯视 图 中的二维 方 向向量 , 并 实时确定 用于 指示方 向的子 图片的序
号 , 该子 图片显 示在 目标 2 rme 将 D F a 上.
1 1 算 法设 计 .
用 S和 S 分 别表示 漫游者 的 自身坐标 系和 Vi o l r os中的世 界坐标 系.如果 坐标 系 S中的标准 向量 i t ,
_ k在坐标系中s分别表示为 U 一<: “ U >, 『 和 “ : V 一<
用 Vi o l D v3 5平 台已经提供 的 B r os e . t B编 程实 现. 目前 Vi o l 台下 的漫 游地 图算 法还 存在 诸 多不 r os平 t

基于Virtools的漫游地图算法实现

基于Virtools的漫游地图算法实现

基于Virtools的漫游地图算法实现3D动力网】在用Virtools制作类似漫游的应用中,可以使用这3个通用模块快速实现漫游地图的4种功能,提高了开发效率。

在漫游者位置实时显示功能算法中使用双重定位策略和地图缩放策略,保证了整个定位显示画面的准确性和流畅性。

针对在Virtools Dev 3.5平台下实现漫游地图的各种功能存在实现算法不完善等问题,给出漫游者前进方向实时显示、漫游者位置实时显示、漫游地图的缩放和跳转等功能的实现方法,并制作出3个自成体系的通用模块。

在用Virtools制作类似漫游的应用中,可以使用这3个通用模块快速实现漫游地图的4种功能,提高了开发效率。

在漫游者位置实时显示功能算法中使用双重定位策略和地图缩放策略,保证了整个定位显示画面的准确性和流畅性。

漫游地图在大场景漫游应用中是不可或缺的组成部分[1-4],能显示漫游者的位置和方向,能实现漫游者在场景中的跳转等功能。

在Virtools Dev 3.5平台下还没有既成的BB(Behavior Building Block)可以快速实现漫游地图的一些基本功能。

在开发时只能先设计出漫游地图的一些基本功能的实现算法,再利用Virtools Dev 3.5平台已经提供的BB编程实现。

目前Virtools平台下的漫游地图算法还存在诸多不足,也没有提供可以快速实现这些功能的通用的BG(BehaviorBuilding Graph)模块。

文中在Virtools Dev3.5平台下,分析漫游者前进方向实时显示、漫游者位置实时显示、漫游地图的缩放和跳转等功能的实现方法,并制作出3个自成体系的通用模块。

1 前进方向实时显示模块该模块用一个2D Frame来指示漫游者的前进方向,称为目标2D Frame。

它的贴图由一系列指示方向的小图片组成,形成一个按规则均匀分布可表示角度的子图片序列。

该模块的目的是实现对漫游者前进方向三维向量的实时检测,并获取它在俯视图中的二维方向向量,实时确定用于指示方向的子图片的序号,将该子图片显示在目标2D Frame上。

python中map的创建方式

python中map的创建方式

python中map的创建方式
Python中的map函数是用来进行映射操作的,它会将一个函数应
用到序列的所有元素上,并将结果存储在一个新的序列中。

创建一个map的步骤如下:
首先,定义一个带参数的函数,例如:def sqr(x): return x*x;
其次,使用map函数去调用这个函数,map函数的语法为:
map(func, seq),seq代表的是要处理的序列,比如:map(sqr,
[1,2,3,4]),意思是把sqr函数应用到[1,2,3,4]序列上,函数最多接
受两个参数。

最后,map函数会返回一个新的序列,该序列包含相应的处理结果,比如,上述例子会返回[1,4,9,16],也可以将这个结果存储在变量中,比如:res = map(sqr, [1,2,3,4])。

由于map函数最多只能接受两个参数,所以它不能用来处理多个
参数的函数,这时候可以使用python的lambda函数来简化上述操作,比如:res = map(lambda x,y:x+y,[1,2,3],[4,5,6]),这段代码会计
算[1,2,3]和[4,5,6]两个序列对应元素相加的结果,返回的新序列为[5,7,9]。

总的来说,map的创建方式是非常简单的,首先,定义一个带参数
的函数,然后,使用map函数去调用这个函数,最后,map函数会返回
一个新的序列,该序列包含相应的处理结果,如果是多参数的函数,
可以使用lambda函数简化操作。

virtools教程:3d模型制作

virtools教程:3d模型制作

virtools教程:3d模型制作 - Virtools (1) 2007-01-27 18:38:37 作者:佚名来源:互联网浏览次数:2193 文字大小:【大】【中】【小】制作3d模型大概是最基本的工作,但受限于目前一般PC硬件运算能力与Virtool本身所能程受的负荷范围,因此3D模型不能作到非常精细,不然会导致运作时系统不稳定而当机。

一般而言,整个场景作出来的polygon面数最好是维持在10000~15000面之间,同时贴图亦不要超过10mb左右为最佳。

1.利用地形图作为描绘底图最佳我们调阅台大周围地区的数值地形图,将整个椰林大道范围输出成一张底图,以利制作3d模型。

2.拉出各建筑物量体利用地形图当底图后,再利用Polygon中Create Polygon Tool、Split及Extrude等功能,将量体拉出。

◎建筑物量体的高度,由于缺乏数据,因此以三角函数测量的结果为数据。

上一篇:鼠标悬浮物体高亮显示的教程- Virtools 下一篇:virtools 教程:模型汇入 - Virtools 3.细修模型有些模型量体不大,但却重要且型体较复杂就要作细一点,但是在作时一定要控制polygon 的面数,以免作得太细导致数据量暴增而使Virtool 无法负载。

每polygon 面要记住不要有内角超过180度的情形发生,不然会形成不合法的面,造成显示上的问题。

4.其它注意事项(1)看不见的面﹝如背部﹞要删除以节制polygon 面数。

(2)非特别重要的树木植栽不用作成模型,最后到Virtool 以3d Sprite 方式作,以控制资源。

(3)模型确定后记得把History 删除,然后作最佳化处理(Optimize),如此一来将模型转到Virtool 后才不会变形或扭曲。

FusionMaps地图XML文档基本配置详解

FusionMaps地图XML文档基本配置详解

FusionMaps地图XML文档基本配置详解最近在用FusionMaps来制作地图。

FusionMaps是通过XML配置文档来设置表现形式,包括颜色,字体等。

也是通过XML配置文档设置FusionMaps的一些功能。

下面我翻译了官网的doc文档,将FusionMaps的一些基本配置信息列了出来。

后面应该还会有几篇关于FusionMaps的文章,是关于XML的高级配置以及自定义FusionMaps地图。

一个基本的XML文档为以下格式:<map borderColor='005879'fillColor='D7F4FF'numberSuffix='Mill.' includeValueInLabels='1'labelSepChar=':'baseFontSize='9'> <data><entity id='NA'value='515'/><entity id='SA'value='373'displayValue='C/S America:373M' toolText='Central and South America:373Million(Including External Islands)'/><entity id='AS'value='3875'/><entity id='EU'value='727'/><entity id='AF'value='885'/><entity id='AU'value='32'/></data></map>其中最重要的是map标签和entity标签,map标签用来设置地图的全局格式,entity用来设置地图分裂的每一块区域的信息。

如何在常见编译器中设置选项生成map文件

如何在常见编译器中设置选项生成map文件

如何在常见编译器中设置选项生成map文件Microsoft Visual C++ 6.0使用Microsoft Visual C++ 6.0打开一个已有工程,在菜单栏中选择:Project——Settings,这将打开Project Settings对话框,请选择Link选项卡,勾选选项:“Generate mapfile”(如图1),点击确定,然后重新编译整个工程,map文件将与exe文件生成到同一目录中。

图1Microsoft Visual C++ 2003,2005,2008,2010使用Microsoft Visual Studio .NET 2003,或Microsoft Visual Studio(版本号为 2005,2008,或2010)其中任意一个编辑器打开一个已有的Microsoft Visual C++工程,在菜单栏中选择:Project——Properties,这将打开工程的Property Pages对话框,请选择Configuration Properties——Linker——Debugging,在选项Generate Map File处选择:“Yes(/MAP)”(如图2),点击确定按钮,然后重新编译整个工程,map文件将与exe文件生成到同一目录中。

图2Borland C++Builder 6使用Borland C++Builder 6打开一个已有的C++工程,在菜单栏中选择:Project——Options,这将打开工程的Project Options对话框,请选择Linker选项卡,在Map file分组框中选择选项:“Detailed”,并勾选选项:“Show mangled names”(如图3),点击确定按钮,然后重新编译整个工程,map文件将与exe文件生成到同一目录中。

图3Embarcadero® C++Builder®(XE,XE2,XE3)使用Embarcadero® C++Builder®( XE,XE2或XE3)其中任意一个编辑器打开一个已有的C++工程,在菜单栏中选择:Project——Options,这将打开工程的Project Options对话框,选择C++ Linker——Output,在选项Map file type处选择:“Detailed segment map”,并勾选选项:“Map with mangled names”(如图4),点击确定按钮,然后重新编译整个工程,map文件将与exe文件生成到同一目录中。

版图绘制及VIRTUOSO的使用

版图绘制及VIRTUOSO的使用
处实现。
• Ctrl+F显示上层等级 • Shift+F显示所有等级 • F fit,显示你画的所有图形 • K 标尺工具 • Shift+K清除所有标尺。 • L 标签工具
• M 移动工具 • Shift+M 合并工具,Merge • N 斜45对角+正交。 • Shift+O 旋转工具。Rotate • O 插入接触孔。 • Ctrl+P 插入引脚。 Pin • Shift+P 多边形工具。Polygon • P 插入Path。路径。 • Q 图形对象属性。选中一个图形先 • R 矩形工具。绘制矩形图形。 • S 拉伸工具。可以拉伸一个边。也
• System default location ./.cdsenv
2019/5/19
共85页
24
• File
.cdsinit
• Purpose
A Cadence SKILL language file
executed when the Cadence design framework II (DFII)
ault.drf
• System default location ./display.drf
2019/5/19
共85页
27
Using the Display Options Form
2019/5/19
共85页
28
Using the Layout Editor Options Form
2019/5/19
2019/5/19
共85页
20
Layout Editor 菜单(1)
Abstract用于版图抽取,Dracula Interactive用于Dracula工具进行DRC等 Verify菜单下的DRC等是用于Diva工具的。

vue中list的map方法

vue中list的map方法

vue中list的map方法在Vue中,我们经常使用`v-for`指令来遍历一个列表并渲染出其中的元素。

而要更方便地对列表进行操作和转换,Vue还提供了`map`方法。

`map`方法是数组的一个原生方法,它可以将一个数组中的每个元素按照指定的规则转换成另一个数组,并返回该数组。

在Vue中,我们可以使用`map`方法来对列表进行转换,生成一个新的列表,并将其显示在界面上。

以一个简单的例子来说明,假设我们有一个存储了学生姓名的数组`students`,我们想要将每个学生的姓名作为标题显示在页面上。

我们可以在Vue的`data`选项中声明`students`数组,并通过`v-for`指令遍历它。

```html<template><div><h2>学生列表:</h2><ul><li v-for="student in students" :key="student.id">{{ }}</li></ul></div></template><script>export default {data() {return {students: [{ id: 1, name: '张三' },{ id: 2, name: '李四' },{ id: 3, name: '王五' }]};}};</script>```现在,我们想要将学生姓名的首字母转换成大写再进行显示。

这时,我们可以使用`map`方法对`students`数组进行转换,生成一个新的数组`studentNames`。

然后,在模板中使用`studentNames`来遍历显示。

```html<template><div><h2>学生列表:</h2><ul><li v-for="name in studentNames" :key="name.id">{{ name }}</li></ul></div></template><script>export default {data() {return {students: [{ id: 1, name: '张三' },{ id: 2, name: '李四' },{ id: 3, name: '王五' }]};},computed: {studentNames() {return this.students.map(student => .toUpperCase()); }}};</script>```在上面的代码中,我们在组件的`computed`属性中定义了一个计算属性`studentNames`,它通过对`students`数组中的每个学生姓名调用`toUpperCase`方法来将其转换成大写,并返回一个新的数组。

半导体MAP生成算法

半导体MAP生成算法

半导体MAP生成算法半导体制造的设备自动化程度逐渐提高,使得制造过程中所产生的大量数据能够收集和存储。

这些数据包括设备参数、工艺参数、工艺结尾、以及不同的工艺步骤等等。

为了更好地分析和利用这些数据,研究者们提出了半导体设备的制造生成算法。

半导体MAP(Manufacturing Analytics Platform)生成算法是一种用于分析和预测半导体制造数据的算法,它能够将制造数据转化为有用的信息和知识。

该算法使用复杂的数学模型和算法来处理数据,为制造商提供实时的数据分析和决策支持。

半导体MAP生成算法的主要目标是提高制造过程的效率和质量。

它可以通过分析历史数据来预测未来的制造过程,从而减少生产线上的故障和停机时间。

另外,该算法还能够发现潜在的问题和改进机会,帮助制造商调整参数和改进生产工艺,从而提高产品的质量和可靠性。

1.数据收集和处理:首先,需要从半导体制造设备中收集大量的实时数据。

这些数据需要经过清洗和预处理,以确保其准确性和可靠性。

2.特征提取和选择:在数据处理的基础上,需要从数据中提取和选择最相关的特征。

这些特征可以包括设备参数、工艺参数、产品特性以及其他相关的物理和化学特性。

3.模型训练和优化:通过将历史数据与其对应的结果进行训练,可以建立起预测模型。

在模型训练的过程中,需要选择和优化合适的算法和模型参数,以提高模型的预测性能。

4.预测和分析:在模型训练完成后,可以使用该模型对未来的制造过程进行预测和分析。

通过对实时数据进行监测和分析,可以发现潜在的问题和改进机会,并及时采取措施以提高制造效率和质量。

半导体MAP生成算法在半导体制造中有着广泛的应用。

它可以帮助制造商监测和优化生产过程,减少故障和停机时间,提高产品的质量和可靠性。

此外,该算法还可以为制造商提供决策支持,帮助他们制定和调整生产计划,从而最大限度地提高生产效益。

虽然半导体MAP生成算法能够提供有用的信息和知识,但其实现并不容易。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档