IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> cadence SPB17.4 part database -> 正文阅读

[游戏开发]cadence SPB17.4 part database

前言

从x宝上弄了一个工程师同学做好的CIS元器件数据库,按照文档部署了一次,试了一下,确实挺好用。

全局元件库的好处:和项目分离,以后可以重用,有技术积累。
看了一个老家伙的博客,他说,以前没有用全局元件库,结果到他写博客时,没积累下什么能重用的元件库,很遗憾。他说,从那篇博客开始,他就要用全局元件库。

只要不是弄临时项目,大家感觉差不多。能重用的东西,才是有价值的。

我在想,我要是从头弄一个,该咋整呢?
看了一些中文资料,大概知道咋弄了。
那SPB17.4自带的官方文档中,有没有原厂的文档可以指导我来从头弄一遍呢?

翻了一下SPB17.4的doc目录,找到了 => d:\Cadence\SPB_17.4\doc\cisug\setup.html

用了1天,按照SPB原厂文档,将如何建立CIS元件全局库走了一遍,自己动手才印象深刻,比看人家写好嚼碎的文章感觉好。

实验

SPB的元件数据库中包含多个表,每一个表代表一类器件(e.g. 电阻)。

每个表中的每一行代表一个具体元器件(e.g. 表贴电阻,插件电阻)

当前表中的一行的每个列,代表具体元器件的属性(e.g. 公司的元器件GUID[my_BOM_ID_0001], 原厂名称[幸亚电子],购买链接[嘉立创])

元器件数据库可以是一个电子表格(csv, txt(用’,'分隔的行集))或者是一个数据库(SQLite库,或 access数据库)。

但是超过1000个元件的库,使用数据库比使用电子表格的好处多。
所以官方也没有提供使用电子表格的库例子,都是数据库的CIS 库例子(sqlite db or access db)

CIS数据库的好处

数据管理
部件的搜索
输入部件信息时方便
关键字段去重

CIS电子表格或文本库的坏处

查询困难(无法基于SQL查询,效率低很多)
从已有元件复制为一个新元件困难
无法对一个元件库进行并发操作(如果想要并发操作也不是不行,也是需要将文本库转为一个内存数据库,所以还不如直接用数据库)。

CIS数据库的特点

  • 用ODBC驱动连接未知数据库,使用SQL语句进行增删改查.
  • Part Name 字段只支持 LONGVARCHAR, VARCHAR,CHAR 3种SQL定义,否则报错。
  • 除Part Name 之外的字段,支持以下SQL类型:
CHAR
NUMERIC
DECIMAL
INTEGER
SMALLINT
FLOAT
REAL
DOUBLE
DATETIME
VARCHAR

如果字段不是以上类型的SQL定义,报错。
如果字段不是以上SQL类型,但是为DATETIME类型,不报错,但是对应字段的数据显示为空。

  • 字段数量没有限制
  • 字段名称没有限制
  • 字段名称不要重复(这个有点废话)
  • 必选属性,必须要单独设置为字段(因为SPB设计文件要用)
  • 原理图中的管脚必须要带有电器特性(这个可以用NO Connect标注)
  • CIS数据库可以使用多个表,每一类的元件可以作为一个表。e.g. 表1-电阻,表2-电容
  • CIS数据库可以进行多表查询(高级用法,可以不用管), e.g. 表A中的一个字段内容为另外一个表的GUID

创建表字段属性的方法

这段有点没有意义,因为字段数量不是很多,而且每种元件类的表,字段都是一样的。

  • 从现有的数据库表中,将结构导出来,用导出来的SQL建立新表。
  • 从BOM表单中导出字段结构。
  • 手工建立表字段。

字段格式约定

官方给的本地例子库目录为 D:\Cadence\SPB_17.4\tools\capture\samples
将所有的.DB和.MDB都收集起来如下:
在这里插入图片描述
打开看了一下,是按照digkey的字段格式弄的。最多17个字段。
用SQLite工具打开一个DB, 导出SQL如下:

--
-- 由SQLiteStudio v3.3.3 产生的文件 周六 3月 19 18:31:10 2022
--
-- 文本编码:UTF-8
--
PRAGMA foreign_keys = off;
BEGIN TRANSACTION;

-- 表:Resistor
DROP TABLE IF EXISTS Resistor;

CREATE TABLE Resistor (
    [Part Number]              VARCHAR (255),
    [Part type]                VARCHAR (255),
    Value                      VARCHAR (255),
    Description                VARCHAR (255),
    Power                      VARCHAR (255),
    Tolerance                  VARCHAR (255),
    [Schematic Part]           VARCHAR (255),
    [Allegro PCB Footprint]    VARCHAR (50),
    PSpice                     VARCHAR (255),
    [Manufacturer Part Number] VARCHAR (255),
    Manufacturer               VARCHAR (255),
    [Distributor Part Number]  VARCHAR (255),
    Distributor                VARCHAR (255),
    Price                      FLOAT,
    Availability               VARCHAR (255),
    Datasheet                  VARCHAR (255),
    ActivepartsID              VARCHAR (255) 
);


COMMIT TRANSACTION;
PRAGMA foreign_keys = on;

看数据的内容,可以明白字段该怎么填。
在这里插入图片描述
完整的一行带头如下:

Part Number	Part type	Value	Description	Power	Tolerance	Schematic Part	Allegro PCB Footprint	PSpice	Manufacturer Part Number	Manufacturer	Distributor Part Number	Distributor	Price	Availability	Datasheet	ActivepartsID
ERJ-2GEJ115X	Carbon Film	1.1M	Carbon Film Resistor 1.1M OHM 1/16W 5% 0402 SMD	1/16W	5%	discrete\RESISTOR,SMALL R1,analog\R	smdres	R	ERJ-2GEJ115X	Panasonic - SCD	P1.1MJTR-ND	Digi-Key	0.025245	In Stock	Res.pdf	

自己建立表时,如果自己还有新的字段属性,填在后面就行。
这些字段有必须的和可选的。

必须的字段

Part Number

唯一的物料编号(e.g. 公司名称缩写 + 数字 => MY_BOMID_0001)

Required to identify the part in association with the CIS Part_Number property type. This property is required by the part manager and the bill of materials report. CIS lets you enter more than one database part with the same number in the database. However, you should use a unique part number for each part and have no duplicate part entries in your database.

Part Type

物料类型(e.g. 碳膜电阻, 表贴电阻)

Identifies the part type. The Part Database Explorer uses this property to define the part database folder hierarchy. Use this property to facilitate part searches. Typical contents are resistor, resistor\fixed, capacitor, capacitor\electrolytic, IC, IC\Memory\SRAM, connector, and so on. The levels of the hierarchy are defined using the backslash (\) character (or any character you define in the configuration). You can define any number of levels in the hierarchy.

This property is also used by the Part Reference Associations option. (See “Defining part reference associations”. This property is case-sensitive. Make sure you use uppercase-lowercase conventions consistently when entering values for this property.

Schematic Part

原理图符号的标识 (格式 : 库名称 + “\” + 元件名称), 这个字符串要传到capture中要用的,写错了,放数据库元件时,就没有原理图符号。

The part name. This property is required to use the Place Database Part command. Only the part name is necessary if the part is stored in the same directory as the custom schematic part libraries (.OLB files) that you configure in Capture. (See the OrCAD Capture User’s Guide for more information about configuring part libraries.)

However, to make sure that you don’t accidentally place an identically named part, you should include the library name, a backslash (\), and then the part name. Examples include:

DISCRETE\CAP
DISCRETE\DIODE
OPAMP\CMP01

In addition, you can use the explicit path so CIS can locate an unconfigured library. For example:

C:\MYLIB\DISCRETE\CAP

Caution:

Do not directly reference the schematic part libraries that are supplied with Capture CIS (resource libraries). Because the resource libraries in your installations of Capture CIS are often changed during upgrades to new software versions, the library names and paths in your database can be made invalid. Instead, create your own custom libraries by renaming the resource library files or copying individual parts from the resource libraries to your custom libraries.

Value

元件值(e.g. 260R)

The part value. Examples are 1.2K, 10.0uF, and 74ALS374. CIS supports the use of common magnitude identifiers (such as K and uF).

The database query uses intelligent unit conversion to interpret common magnitude identifiers in part definitions, since entries in part databases are often inconsistent (for example, the Value for a 2.7K resistor can be 2.7K, 2,700, 2.70K, 2.700K, 2700.0, 0.0027M, etc.). Unit suffixes (such as F for farads or H for henries) are ignored in translation.

The magnitude identifiers supported in CIS include:



可选字段

Availability

在公司物理仓库中,该种元件的剩余库存数量。(这个字段对于大多数公司都是没意义的)

Number of the parts in stock at your company.

Data Sheet

该元件对应的数据表文档位置名称。(这个字段有用)

The name of the detailed datasheet for this part. Select the Browsable check box in the configuration for CIS to automatically launch the appropriate browser for this property.

Examples include: 74ALS374.PDF, http://www.chipmaker.com/specs/74ALS374, and RES1K1/4W.DOC.

You can browse any format you want. CIS uses the application assigned to that file extension in your Windows registry. (Extension assignments are managed in the Windows Explorer. See your MS Windows documentation for more information.) For example, a .DOC entry might cause CIS to launch Microsoft Word, and a URL entry might cause it to launch your default web browser.

CIS uses the PATH environment variable and the current working directory to find the specified document.

Description

元件概述(描述)

A brief description of the part.

Distributor

供应商名称(卖家名称或购买url)

Name of part distributor.

Distributor Part Number

原厂的元件编号(部件商品型号)。

Part number used to order from the distributor.

Manufacturer

原厂商(元件生产商)名称。

Name of part manufacturer.

Manufacturer Part Number

订货编号, e.g. 嘉立创的商品编号 C269742

Part number used to order from the manufacturer.

PCB Footprint

PCB封装名称。
这个名称不能像原理图元件属性那样,用库+""+元件名称 来表示。
必须直接写封装名称。
如果封装找不到,需要自己加载对应的PCB库。或指定库路径。

The PCB footprint name (from the footprint library) assigned to a part.

Unlike Schematic Part property names, you cannot use directory paths for libraries with PCB footprint names. If you use a path with a PCB footprint name, the footprint will not display in the CIS explorer’s footprint window.
You can assign multiple PCB footprints to a single part by entering them in the part’s footprint field in your part database and separating each footprint name with the multi-value delimiter.

The default value of the multi-value delimiter is a comma. However, when setting administrative preferences during database configuration, you can change the character CIS recognizes as the delimiter to a colon, semi-colon, question mark, or vertical bar. For information, see “Setting administrative preferences”.
Then, when you update your design’s part status, CIS can approve and make current a schematic part which has several acceptable footprint names. Also, if a database part has several different valid PCB footprints, you will be able to choose any one of them when you are placing parts from the database parts window. All the configured PCB footprints for the database part will be available from a drop-down list under the PCB Footprint property name.

Price

元件的单价
这个字段有用,出BOM单后,可以大致看出板子的成本。
只有这个字段是float类型,其他字段都是TEXT类型.

Part price. Use this information when selecting parts to design for cost. Include this property in reports to get a cost roll-up of your design.

Rating

元件额定值,e.g. 工作电压/电流/功率
e.g. 1/4W, 1A

The maximum rating for the part (for example, maximum voltage or power dissipation).

Tolerance

元件的公差或要求的精度
e.g. 精度1%

The percent tolerance specified for the part.

设置ODBC数据源

这个操作网上资料很多,SPB官方说的也和网上一样。扫了一眼,不再学习这段。

DBC文件的创建

DBC文件是SPB要用的,用来解释CIS数据库和SPB设计数据之间的关系。
DBC文件可以手工建立/用SPB数据库配置向导来建立。

用向导来建立DBC文件

向导可以多次运行,来指定数量不等的字段和SPB设计文件对接。
如果数据库文件有更新(新加入了元件),估计得重新运行这个向导。

Capture’s Options menu => CIS Configuration
必须先新建一个原理图,焦点在原理图中时,才有这个菜单。
在这里插入图片描述
在这里插入图片描述
Click the New button. CIS displays the Database Configuration Wizard.
点击new按钮,往下走。
在这里插入图片描述
选中配置好的数据源
这个数据源配置的时候,就指定了使用哪个具体的数据库。

在这里插入图片描述
选择要使用的元件类的表,一般是全选。
在这里插入图片描述
指定SPB用到的2个字段是DB中的哪2个字段?
所以给DB中的字段起名字时,最好和SPB用到的字段名称一样,才好些。
要不一个表都要选择多轮(因为需要的变量不止2个),那有点头痛,要很专心才行。

这2个字段,每一种元件类的表都要选一次。一直到每个表都选择完了设计字段和表字段的对应关系。

现在选的2个字段是 Part_Number 和 Value

在这里插入图片描述
这是下一个元件类的表字段选择。
在这里插入图片描述
当表都选完了,SPB又让从第一个表开始选另外2个字段。
现在选的2个字段是 Part_Type 和 Schematic_Part
在这里插入图片描述
当表都选完了,SPB又让从第一个表开始选另外2个字段。
现在选的2个字段是 PCB_Footprint 和 PSpice_Model
封装如果做好了,就勾上选择,在DB字段里面选。
仿真模型字段如果在DB中定义了,就勾上选择,在DB字段里面选。

在这里插入图片描述
选择原理图中要用到的DB字段(原理图中放置的元件属性显示出来的有哪些?)
在这里插入图片描述
查看元件属性时,哪些DB属性要显示出来?
在这里插入图片描述
哪些元件属性可以在原理图上设置为显示或不显示?
在这里插入图片描述
设置多表查询时的外键
在这里插入图片描述

Click the Finish button. CIS displays the Configure Database dialog box and the wizard is complete

点击完成后,又出现了配置对话框…
还好,这个对话框属于确认性质的对话框,不需要改啥东西。
将4个TAB页都看一下,点击完成对话框中的确定按钮。
在这里插入图片描述
出现对话框,保存定义好的.DBC文件。终于接近尾声…
在这里插入图片描述
回到了开始的DRC配置对话框入口,点击确定按钮回CIS主UI.
在这里插入图片描述

手工配置DRC

和向导配置不同的是,需要点击浏览按钮。
在这里插入图片描述
我感觉自动配置向导就挺好,反正一个库就整这一次,挺好的。
不再研究手工配置库的操作细节了。

又往下翻了一下文档,主要就这么多了。
明天自己整个自己的新空库,开始搞起来。

备注

看中文资料,还得设置.ini文件,让SPB知道DB中的库中的元件名称在哪里?
这步原厂文档没讲。 等有时间再找找。应该不用去动ini的,应该UI上就能设置。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:25:48  更:2022-03-21 21:27:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 18:57:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码