OrCAD Capture自带元件库详解:从olb文件到Place Part高效搜索
发布时间:2026/10/6 16:30:57 锦皓数字建站

打开OrCAD Capture新建工程大多数人第一件事就是按P打开Place Part对话框然后对着左侧Libraries列表里几十个olb文件发呆。analog、discrete、misc、ttl……这些库名看着都眼熟但真让我找一个具体元件的时候根本不知道从哪个库下手。当年我刚开始用Cadence时为了找一个继电器符号把库挨个点了十几分钟最后发现它在relay.olb里而这个名字也太直白了纯粹是自己没摸清套路。这套自带元件库是Cadence从早期OrCAD一路继承下来的资源覆盖范围从模拟、数字、电源、连接器到航空电子、电子管都有版本越新内容越全。这篇文章就把自带库体系彻底捋一遍包括库文件的存放位置、常用和冷门库的具体分工、搜索和放置元件的操作细节、封装字段如何处理以及新手最容易踩的几个坑。1. 自带元件库的完整体系olb文件、存放目录与加载机制1.1 原理图符号库(.olb)和PCB封装库别混为一谈很多刚接触Cadence的人会把“元件库”理解成一个东西其实在Cadence里至少有两类库要分开看一类是原理图符号库也就是我们在Capture里看到的元件符号文件后缀是.olb另一类是PCB封装库对应Allegro里的.dra/.psm/.pad等文件。原理图库负责让元件在图纸上“画出来”PCB封装库负责让元件在板卡上“贴上去”。原理图里元件的PCB Footprint属性就是用来把这两者关联起来的。我见过不少新同事在原理图里放置了一个元件看起来有引脚有框就以为万事大吉结果导网表时报错说找不到封装这才发现原理图库只是符号板卡上的物理焊盘、丝印、阻焊统统要靠封装库。本文后面会专门讲PCB Footprint字段的处理这里先建立概念整个Cadence库体系至少是两层的不要指望一个olb文件解决所有问题。1.2 自带库的默认目录与安装版本差异OrCAD Capture的自带元件库在标准安装下位于Cadence安装目录的tools\capture\library子目录。不同大版本的默认路径大概是这样的Cadence版本默认库路径SPB 16.6C:\Cadence\SPB_16.6\tools\capture\librarySPB 17.2C:\Cadence\SPB_17.2\tools\capture\librarySPB 17.4C:\Cadence\SPB_17.4\tools\capture\library如果你当初安装时选择了精简安装或者只装了Allegro没装Capture这个目录里可能只有寥寥几个库文件甚至整个目录都不存在。所以拿到一个别人拷过来的工程之前最好先确认一下tools\capture\library目录是否存在、里面.olb文件数量是否正常。正常来说17.4版本这个目录下会有上百个.olb文件光74系列就按逻辑工艺分成了74ac、74als、74as、74f、74hc、74hct、74l、74ls、74s等多个文件。另外要提醒一点PSpice仿真用的模型库并不在这里。如果你要用PSpice做仿真需要的是tools\pspice\library目录下的元件库这属于另一套体系。很多初学者在这上面吃过亏明明Capture里能放元件一仿真就提示器件未定义多半是库里没有挂仿真模型或者用的是纯原理图符号库。1.3 Place Part里看不到库的常见原因与解决思路打开Place Part对话框后Libraries列表是空的或者只有一两个库这几乎是被问得最多的一个问题。最常见的处理方式是在Place Part对话框里点Add Library然后在弹出的文件选择框中定位到上文说的library目录把需要的.olb文件一个一个加进来。但这里有个细节在Place Part对话框里加载的库只对当前这个设计会话有效关掉重开可能又没了。更正规的做法是通过菜单Options → Design Properties在弹出的对话框中找到Library选项卡在这里添加或删除库并且调整它们在列表中的顺序。这样配置的库会随当前设计文件(.dsn)一起保存下次打开工程库列表还在。还有一个层次是Capture.ini配置文件这个文件记录了工具的全局库路径等信息位置在安装目录的tools\capture\Capture.ini。如果你发现打开任何一个工程都缺库而库文件明明存在可以打开这个ini文件检查[Part Libraries]部分的路径配置是否正确。不过不建议新手直接手改ini容易整个工具起不来先用GUI把Design Properties配好绝大多数情况都能解决。如果你确实改了Capture.ini改完最好备份原文件出问题还能还原。2. 常用库逐个点名哪类元器件该去哪个库找2.1 模拟器件三件套analog、discrete、linear这三个库是日常画原理图用到频率最高的库。analog.olb里面主要放运算放大器、比较器、模拟开关这类模拟集成器件。比如我要找一个通用运放输入OP或者具体型号命中的结果大概率就在这个库里。它的特点是型号比较老很多是经典的LM系列、OP系列、TL系列但恰好这些经典器件在工程中一直还在用。如果你画的是高速运放、精密运放这些较新的型号自带库里未必有那就需要自己建库或者从厂家下载。discrete.olb是分立器件的集合包括二极管、三极管、MOS管、晶振等。像常见的1N4148开关二极管、1N4007整流二极管、2N3904小信号三极管基本都在这个库里能搜到。这个库的元件命名比较规则搜索时用通配符很顺手。我习惯的做法是输入*3904*一下就能把所有带3904的器件刷出来再根据封装和参数筛选。linear.olb则是线性器件主要是比较器、基准源、线性稳压器这类输出跟随输入线性变化的器件。它和analog有点重叠但偏重电源和基准方向。如果你画的是电压基准、比较器电路优先到linear.olb里找命中率更高。这三个库的元件相互之间经常需要配合使用所以我在自己的设计模板里会把它们全部设为默认加载省得到时候临时再Add Library。2.2 数字逻辑和存储器74系列、cmos、memory、fpga家族数字电路方向自带库最丰富的是74系列。OrCAD把74系列按逻辑工艺拆成了很多个库74ls.olb、74hc.olb、74hct.olb、74ac.olb、74als.olb、74as.olb、74f.olb、74l.olb、74s.olb等。为什么要分开因为同样的逻辑功能在不同工艺下电气特性完全不同比如74LS00和74HC00虽然都是与非门但工作电压、速度、驱动能力差别很大分开建库是为了让工程师在选型时就能分清。如果你画的是5V供电的经典TTL电路去74ls或74s里找如果是3.3V/5V兼容的CMOS逻辑去74hc或74hct里找。c-mos.olb是另一个重要的数字库里面主要是CD4000系列CMOS器件也有555定时器这类经典芯片。CD4000系列和74系列的区别是工作电压范围宽、功耗低、速度慢在一些对速度不敏感的工业控制场合仍然常用。存储器方面memory.olb是通用存储器符号库dram.olb、eeprom.olb、prom.olb分别对应DRAM、EEPROM和PROM。坦白讲现在项目里用到的存储芯片型号五花八门这些自带库里的器件型号都比较老更多是作为符号模板存在。实际使用时我倾向于从厂家数据手册自己建符号或者复制一个同封装的现有元件改引脚名这样更贴近实际芯片。可编程逻辑部分fpga.olb、gal.olb、pld.olb分别对应FPGA、GAL和PLD器件。如果用的是Xilinx的老型号FPGA还可以去xilinx.olb里找。这部分库的器件大多比较老旧新一代FPGA建议直接用厂家提供的元件库Cadence自带库只能用来画概念框图。2.3 机电与控制元件connector、relay、switch、motor连接器是原理图里绕不开的东西。connector.olb里放着各种通用连接器符号排针、排母、DB系列串口连接器、IDC插座等都能在里面找到。这个库的引脚编号比较规整用起来方便。但要注意自带库里的连接器符号一般没有匹配具体的PCB封装需要你自己在PCB Footprint字段里填上公司封装库里的对应封装名。我见过有人直接用自带connector库画完原理图结果导网表时封装对不上最后只能在Allegro里一个一个手工改非常痛苦。relay.olb是继电器库包含线圈和触点符号。继电器在原理图里通常要分开画线圈和触点并且用别名关联这个库提供了比较规范的符号省得自己画。switch.olb是各种开关按键、拨码开关、单刀单掷、单刀双掷都有。另外还有一个switch-analog.olb它和机械开关不同里面的元件是模拟开关芯片比如CD4066这类别搞混了。motor.olb是电机符号库直流电机、交流电机、步进电机的符号都有。如果你只是画一个电机驱动板的原理图这个库基本够用。socket.olb则提供各种IC插座符号比如DIP封装用的插座画可更换芯片的板卡时会用上。2.4 电源、光电器件与无源滤波器regulator、opto、magnetic、tfilter电源方向regulator.olb是重点。三端稳压器7805、7812、LM317这类经典器件基本都在这里。这个库的符号把输入输出和地引脚都画好了比较直观。bipolar.olb里的双极型功率晶体管也常用于电源电路可以和regulator配合使用。bridge.olb是整流桥堆画交流转直流的电源输入级很常用。光电器件方面opto.olb里有发光二极管、光电二极管、光电三极管optoiso.olb则专门放光耦隔离器比如4N25、4N35这类。画隔离电路时我一般直接在optoiso里搜4N能出来一串型号非常方便。LED指示灯则在opto库里别去discrete里硬翻。magnetic.olb是磁性元件库包括电感、变压器、磁珠的符号。画电源滤波、隔离变压器电路时会用到。tfilter.olb是无源滤波器库里面是LC、RC构成的低通、高通、带通滤波器电路符号。这个库在原理图仿真阶段很有用直接拖一个标准滤波器拓扑出来改参数就行比手动连线快很多。3. 冷门库其实有大用arinc、tube、sample、vco、video这类库什么时候能救命很多人用Cadence好几年可能都没点开过下面这些库。但它们在某些特定项目里能救命。库文件名里面装什么什么时候用得上arinc.olb航空电子ARINC标准接口连接器航空、机载电子设备telcom.olb电信接口、DAA、语音编解码器电话线路、通信模块tube.olb真空电子管电子管功放、射频老电路gaul.olb砷化镓场效应管(GaAs FET)高频射频放大sample.olb采样保持器ADC前端信号调理vco.olb压控振荡器PLL锁相环、FM调制video.olb视频编解码、显示驱动器件模拟视频系统ccd.olbCCD图像传感器光学成像scr.olb可控硅整流器大功率移相控制thyristor.olb晶闸管大功率开关控制oscillator.olb时钟振荡器模块时钟电路codec.olb语音编解码器语音处理、电话机counter.olb计数器数字计数/分频decoder.olb译码器/编码器地址译码、显示译码latch.olb锁存器数据锁存asic.olbASIC门阵列符号自定义芯片占位att.olbATT电信电路元件老电信系统这里挑几个重点说一下。首次见到tube.olb的人十有八九会以为是“试管”或“管道”其实里面是真空电子管。做电子管音频功放、复古胆机的人会非常依赖这个库里面从12AX7到KT88常见的音频管符号都有。如果你偶尔接一个胆机项目又不想自己画符号这个库能省大量时间。但要注意电子管符号的引脚排列和实际管座是对应的放置后一定要对照数据手册检查一遍引脚号。arinc.olb对从事航电的人来说是宝贝。ARINC规范在商用飞机航电系统中到处都是这个库里的连接器符号就是按ARINC标准画的。普通做消费电子的人一辈子用不到但一接到机载设备项目翻遍全网找不到合适的符号最后发现Cadence自带库里就有那种感觉确实挺惊喜。sample.olb里的采样保持器比如LF398是数据采集系统里常用的器件。如果你画的多路ADC前端需要同步采样这个库能派上用场。vco.olb里的压控振荡器做PLL和频率合成时经常会搜一下。video.olb和ccd.olb则更适合做模拟视频和图像采集的老工程师现在数字视频普及后用得少了但维修老设备、分析老设计时价值很大。还有sym.olb和arrow.olb这两个库严格说不是“元件库”而是画图用的公共符号库。sym.olb里有电源符号、地符号、端口标记等适合画框图或层次图arrow.olb里则是各种方向的箭头。这两个库不能用来出PCB因为它们画出来的东西没有实际电气意义只适合标注和注释。我在画系统框图时经常会用到sym.olb里的端口符号但画正式原理图时不会把里面的东西当元件放。4. 在Place Part里搜元件加载库、通配符和跨库搜索的实操细节4.1 把库加进当前设计的两种方式前面已经说了通过Place Part对话框的Add Library可以临时加载库这种方式适合临时找一个器件打开Place Part点Add Library找到目标olb文件确认后就能在Libraries列表里看到双击后可以直接从右侧的Part List选择并放置。但如果你在一个项目里反复要用到某些库每次都Add Library就太蠢了。正确做法是打开Options → Design Properties在Library选项卡里维护一份该设计默认加载的库列表并且可以用Up和Down调整加载顺序。这个顺序不是无关紧要的当两个库里有同名元件时Capture会优先使用列表中靠前的库这个特性在后面的“同名冲突”部分会细说。把库列表配置好之后我建议顺手在Project Manager里把设计文件保存一次这样库配置信息会写入.dsn文件。下次打开工程Libraries列表就是完整的不用重新加载。4.2 精确搜索与模糊搜索的用法差异Place Part对话框里有一个搜索区域这里支持通配符搜索*匹配任意多个字符?匹配单个字符。比如你想找2N3904这个三极管直接输入“2N3904”是精确匹配输入“*3904”就能把所有以3904结尾的器件列出来输入“2N39??”则能匹配2N3904、2N3906等一系列型号。我的经验是找具体型号时先精确搜一遍没结果立刻用通配符放宽条件。因为Cadence自带库的元件命名规则并不是完全统一的有的型号带后缀有的不带精确搜索很容易漏掉。比如某颗二极管在库里的名字可能是“D1N4007”而不是“1N4007”直接输1N4007反而搜不到换成“4007”就出来了。不要试图把所有元件名背下来记住“先精确后通配”这个原则就够用了。实际项目中我放在Place Part搜索框里最多的就是加型号尾号比如485*、78、555基本一轮就能定位。4.3 Part Search搜不到时先检查这几件事“我明明知道这个库里有这个元件为什么搜不到”这种情况通常有四个原因。第一库没有加载。Part Search只能搜索当前已经加载到设计里的库它不会自动去扫描硬盘上所有的olb文件。所以搜之前先确认Libraries列表里已经把你怀疑的那个库加进来了。第二库文件路径变了。如果工程是从别人那里拷来的Design Properties里记录的库路径可能指向对方电脑上的目录打开后库列表会显示库名但实际加载失败。解决办法是重新Add Library把库路径指到你本机的library目录。第三元件名拼写和命名规则不符。不同版本的库同一颗元件命名可能有差异这时候用通配符多试几种方式比如把型号下半部分的字母去掉只搜数字部分。第四你用的是Capture CIS的ODBC数据库模式而不是传统本地库模式。CIS模式从企业级元器件数据库里查找物料和本地olb不是一个体系。如果你是CIS模式搜不到问题大概率出在ODBC数据源配置上这属于另一个话题。5. 封装字段、缓存更新和自建库维护真正提升效率的部分5.1 PCB Footprint字段怎么查、怎么改最安全放置元件后双击元件打开Property Editor能看到PCB Footprint属性。这个字段里的内容是一个字符串对应Allegro封装库里的封装名。比如一个贴片电阻的PCB Footprint往往填的是“R0603”或“RES_0603”这类封装名具体命名取决于你公司封装库的规范。自带库里有很多元件是预置了PCB Footprint字段的但也不排除一些元件这个字段是空的。尤其是misc.olb、sym.olb这些杂项库里的符号基本都没有对应封装。如果PCB Footprint为空网表导出后Allegro那边会缺封装轻则手工补重则整个封装映射全乱。改封装字段最安全的做法是复制元件到自己的库中再改而不是直接在自带库上动手。因为自带库会在软件升级时被覆盖而且你改了只有你机器上是新的别人机器上还是老的。以前带我的人说了一句很实在的话官方库是你的参考资料不是你的生产资料。我后来的习惯是凡是项目里要用的元件都从自带库里复制到自己的项目库里再把PCB Footprint统一改成公司封装名一个项目一套库清清楚楚。5.2 Design Cache不同步的处理流程这是很多新手百思不得其解的一个问题我明明改了某个元件库里的符号回到原理图之前放的元件怎么还是老样子原因在于Capture会在每个设计中维护一个Design Cache设计缓存。你第一次放置某个元件时Capture就把它的符号快照缓存在了当前设计里之后即使源库变了原理图中已放置的元件也继续使用缓存里的旧版本。这么做是为了保证设计稳定性但会让库修改“看起来无效”。要解决很简单在Project Manager面板左侧展开Design Cache找到你要更新的那个元件右键选择Delete把它从缓存中删掉然后重新从库里放置该元件。删缓存之前要先确认原理图里那些旧元件已经用新元件替换掉否则删了缓存后旧实例还在容易新旧混用。替换完之后再执行一遍Annotate重新编号确保位号正确。我在处理这类问题时通常会把要替换的元件全部在原理图中选中删除删缓存再重新放置一步到位避免残留旧版本。5.3 从自带库到公司自建库复制、编辑和团队共享自建库的维护说复杂也复杂说简单也简单。最基本的操作链条是三条。第一新建一个本地库。在Capture中File → New → Library保存为mylib.olb。然后在项目管理器里找到源头比如analog.olb展开它选中要复制的元件右键Copy再回到mylib.olb里右键Paste一个副本就到手了。第二编辑副本。双击mylib.olb里的元件进入Part Editor可以修改引脚名、引脚编号、图形、属性。改完保存原理图中就可以通过Add Library把这个本地库加载进来直接使用。第三从已有原理图反向生成库。Tools菜单下的Generate Part功能可以从当前设计生成一个包含所有元件的库文件。这个功能在我维护老项目时特别有用一个项目用了三四百种元件手工建库不现实跑一遍Generate Part所有元件符号就齐了后面再逐个完善封装字段和属性。团队共享方面我现在的做法是公司统一建一个共享库文件company.lib放在服务器固定目录里面包含所有常规物料的标准原理图符号和PCB Footprint。每个工程师的个人库仅放临时器件和实验性封装评审通过后由专人合并进共享库。这样既保证了物料统一又不会因为共享库被频繁修改而影响正在进行的项目。6. 几个容易翻车的小细节用之前最好知道6.1 同名元件在不同库里打架不同库里存在同名元件是很常见的。比如某些二极管、电阻符号在很多库里都有。当你把多个库同时加载到设计里搜索某个名字时会出来多行结果它们的Source Library指向不同的olb文件。这时候如果随手点第一行很可能会选到不是你想要的那颗。最典型的是同样的型号analog.olb里带仿真属性而discrete.olb里只有符号没有仿真模型如果要做PSpice仿真选错库就提示器件未定义。解决办法是搜索时留意Part List区域每一行的来源库列确认选中你要的那个库或者在设计属性里调整库的加载顺序让偏好的库排在前面。因为同排名时Capture会倾向先显示列表靠前库中的元件。6.2 版本升级带来的库兼容性Cadence大版本从16.6到17.2再到17.4.olb文件格式虽然大体兼容但高版本打开低版本库通常没问题低版本打开高版本库就可能不识别。这意味着你在17.4里编辑并保存过一个16.6版本的库文件回到16.6电脑上可能就打不开了。这个问题在多人协作的项目里尤其致命。如果你的同事还在用16.6而你在17.4里从库里复制了一个元件发给他他很可能报错。我的处理原则是团队内部统一大版本如果确实跨版本协作用来交流的库文件一律从低版本环境导出高版本环境只读不改实在要改符号改完后用低版本重做一遍。6.3 备份习惯与库目录规划最后必须强调备份。.olb文件是二进制格式损坏了几乎没有修复手段只能从备份恢复。我吃过一次亏想整理自建库一口气把一个项目里用到的几十个元件全都复制进一个新库然后大改引脚结果保存时机器断电新库直接打不开源库里的原始元件也被我删了最后只能根据旧的原理图手动恢复折腾了两天才补齐。从那以后我的库目录规划就固定成了三层第一层是Cadence安装目录里的官方自带库从不修改第二层是公司服务器上的共享库只有评审通过的稳定元件第三层是本地工作库用来放正在建的、试验性的元件每天下班前压缩备份一次关键节点再额外存档。这样即使本地库出了问题最多丢一天的工作量官方库永远不会被波及。官方自带库始终是起点不是终点。把它们当成一份大类齐全、命名规范的参考资料在此基础上逐步积累出属于自己团队的本地库这才是摸透这套体系之后更应该做的事。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。