模拟IC芯片设计开发的流程

IC的设计,模拟和数字, 还有混合IC, 在设计方法, 注意点, 工具等有明显的区别, 我主要以模拟无线接收IC系统设计为例说明.

一个IC芯片的设计开发大致包括如下步骤.

1.       潜在市场挖掘

一样IC产品, 投入巨大, 没有巨大的潜在市场或者收益回报, 是很难想象的. 这就要求公司的决策者要有超前的眼光, 发掘潜在的应用点, 比如3G商业化进程中, 手机终端的功能不断的挖掘, 08年下期, 手机终端开始集成CMMB数字电视的功能. 如果设计公司早期能在这方面(DVB, ASTC等)积累一定的经验,则可以在国内的行业中领先一步.

2.       IC初期的规格设定

根据用途范围不通, 规格肯定不通, 比如车载的和一般家用的, 还有军用的, 各个用途对IC的耐性能度都不通, 像ESD耐压, 温度变化等. 当然最重要的,还是根据协议标准来制定IC产品的规格, 比如GSM中频处 LPF的cut-off量好像要达到50dBc以上, 另外数字移动电视如果是OFDM的64QAM变调的话, 则一般要求PLL的位相噪音积分值要在1degrms以下.

3.       确定总体架构

根据成本, 工艺, 设计难易度, 人力等, 来确定到底是采用哪种结构,

每种架构都有其优缺点, 比如零中频接收器, mixer不用考虑, 镜像干扰, 不需要LPF, 设计难度降低, 但是同时也面临了, DC offset的问题, 用DC server电路经过设当的设计可以解决问题, 但是挑战性较大.

中频, lower-IF, Zero-IF, 还有mixer up-down形式, 需要根据具体的应用, 来确定最佳的结构.

4.       设计阶段

根据公司现有人力,物力资源, 项目管理者制定好各block具体设计目标后, member同时进行设计. 项目管理者必须对系统性能有充分的熟悉程度, 并且要使各单元电路分配到合理的设计目标, 比如VGA的话, 同时要求很高的P1dB, 功耗要求的话, 是很难的设计课题. (模拟设计的折衷, 最普遍也是最难得问题), 又比如VCO, 一般相位噪音和Kv(电调速度?)是折衷的关系的, 所以相位噪音要求高的时候, 一般都牺牲面积和功耗,
同时是Kv保持一定的值, 来满足相位噪音的高要求.

个别block电路设计, 在要求设计者一定的经验水平的基础上, 一般选用有常用的结构, 采用新颖的结构的时候, 特别要注意对其元件参数变动, 温度, 电压变动的sim(corner simulation).

5 layout设计

这时候, 基本要确定了IC的pin数目, 封装PKG的类型(这也是需要项目管理者确定的), 然后layout设计者可以根据pin的配置, 来确定block的位置, 这里关于个别block设计,

主要有差分信号的地方要对称配置, 信号线, gnd, 电源line要合理配置等, 这里主要谈一下总的layout设计.

1)      LO和RF要分开, VCO, xtal都是主要的噪声源, 这些block不能靠RF,IF太近

2)      要设计test block电路, 以便能在测试阶段, 都能对每个关键的block电路性能进行测试

3)      信号的流向要自然, 比如RF信号从左到右, LO信号从下到上等

4)      Block之间的line 根据要求来选择第几层line, 比如LO的block, 对损耗要求不是很高, 则可以用metal1, 2等line节约面积.

5.       后期仿真

这里根据CAD资源, 每个block的back annotation sim是必不可少的, block串接起来, 局部系统的仿真现在随着cad tool的发展也可以实现了, 比如用agilent 的Goldengate 小信号高速仿真器, 大大提高仿真时间, 提高设计精度.

6.       封装

流片这里不具体讲了, 一般component的变化浮动都已经考虑进设计过程了.

关于封装, 如果是高功耗的IC, 则一定要进行热阻抗测试, 关于热阻抗, 以后我再具体谈一下, 对于一些小的封装公司, 热阻抗的测试往往不是很完善, 这最终可能会导致使用保存温度范围的要求达不到规格.

7.       测试

测试包括block测试, 系统测试, esd, 选别测试等多项目. 每个环节都很重要,

第一次流片的话, 测试越具体, 则会发现越多的曾在设计中没有考虑的东西, 比如设计的时候block设计, 只考虑了p1db, IP3等, 其实比如数字电视接收IC, 还有考虑CTO, CBO等参数, 还有附近频带的干扰, 比如模拟电视信号的干扰等等

另外测试的时候, 如果PCB板也是自己设计的话, 这里我也谈谈自己的一些感受. 用protel, allegro等带drc check的软件要比autocad来的强. 主要电压线设计成可以分离的那种类型, 尽量避免平行临近走线. 在关键部位, 多考虑设计些预备pad, 增加测试的灵活度.

在这里我只是最简单的谈谈我对IC产品开发的认识, 所列的各个环节最关键的部分.

以后有时间逐步再详细讨论一下各部分和细节的部分.

模拟IC芯片设计开发的流程的更多相关文章

  1. [转]关于几本模拟IC设计书

    1.P.R.Gray的书 这本书被业界誉为模拟IC的Bible,盛名之下,必无虚士.现在已经出到第四版,作者无一例外是业界大牛,该书论述严谨,思路清晰,对电路分析透彻,定义严格明确,无愧Bible之名 ...

  2. EClipse开发NDK流程

    EClipse开发NDK流程(现在studio也在2.2之后支持了非常简单,只要创建项目的时候勾选c++支持就可以了)   什么情况下使用ndk,1.保护代码,java很容易反编译,c/c++反汇编比 ...

  3. git开发部署流程

    git的分支操作 https://blog.csdn.net/QH_JAVA/article/details/77853605 Git 开发部署流程 采用业界成熟方案 Git Flow 分支方式进行开 ...

  4. smart git使用+单人开发一般流程

    单人开发一般流程 clone checkout develop start gitflow start feature 写代码... 选中文件stage(相当于add) commit push fea ...

  5. [转] electron实战开发详细流程

    [From] http://www.myk3.com/arc-8856.html 很久没有更新博客,人越来越懒了,唉 说好做的electron教程距离上次玩electron已经过去了好几个月了.. 这 ...

  6. webWMS开发过程记录(一)- 软件开发的流程

    前言:计划开发一个webWMS,并将开发过程比较完整的记录下来.希望可以完成这个目标 软件开发的流程: 1. 了解该项目的相关概念. 了解所要开发的软件属于什么产品.该产品的基本定义是什么?基本功能模 ...

  7. 【1】TensorFlow光速入门-tensorflow开发基本流程

    本文地址:https://www.cnblogs.com/tujia/p/13862339.html 系列文章: [0]TensorFlow光速入门-序 [1]TensorFlow光速入门-tenso ...

  8. 03python开发之流程控制

    03 python开发之流程控制 目录 03 python开发之流程控制 3 流程控制 3.1 流程判断之if判断 3.1.1 代码块 3.1.2 if判断基础语法 3.1.3 案例 3.1.4 if ...

  9. pip:带你认识一个 Python 开发工作流程中的重要工具

    摘要:许多Python项目使用pip包管理器来管理它们的依赖项.它包含在Python安装程序中,是Python中依赖项管理的重要工具. 本文分享自华为云社区<使用Python的pip管理项目的依 ...

随机推荐

  1. 根据CSS的class选择DOM

    // 网上参考的,自己修改了一部分 // 代码如下,纯JS,要求浏览器支持 getElementsByClassName 方法 <script type="text/javascrip ...

  2. UNIX环境高级编程——信号(API)

    一.信号在内核中的表示     实际执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未决(Pending).进程可以选择阻塞(Block)某个信号.被阻塞的信号 ...

  3. LINUX0.11 内核阅读笔记

    一.源码目录 图1 二.系统总体流程: 系统从boot开始动作,把内核从启动盘装到正确的位置,进行一些基本的初始化,如检测内存,保护模式相关,建立页目录和内存页表,GDT表,IDT表.然后进入main ...

  4. OJ题:字符串分隔

    题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于10 ...

  5. Leetcode_19_Remove Nth Node From End of List

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41778305 Given a linked list, r ...

  6. RecyclerView实现瀑布流效果(二)

    在上篇中我们知道RecyclerView中默认给我们提供了三种布局管理器,分别是LinearLayoutManager.GridLayoutManager.StaggeredGridLayoutMan ...

  7. [Ext.Net]客户关系管理系统

    本人在企业中非专业人士,交流学习. 1.登录 2.系统主界面 3.用户与角色 3.菜单管理 4.角色与授权 5.登陆日志 6.简易工作流 7.客户分类 8.客户管理 9.报价管理 业务员反馈 报价明细 ...

  8. R-- Apply族函数

    APPLY族函数: apply(x,a,f) 对矩阵或数据框的某一维度作用函数fx为矩阵或数据框:a为1代表行,a为2代表列:f为作用函数. lapply(x,f) 对x的每一个元组作用函数f,结果以 ...

  9. 纯命令提交代码到git仓库(教你怎么装逼)

    如果不喜欢用命令的请点链接:http://blog.csdn.net/xiangzhihong8/article/details/50715427 我这里用纯命令,主要是因为这两天不知道什么原因,ba ...

  10. div+css基础教程

    本文存下来作为备忘. 第一节  了解div+css 一.什么是div+css div元素是html(超文本语言)中的一个元素,是标签,用来为html文档内大块(block-level)的内容提供结构和 ...