搜档网
当前位置:搜档网 › 数字IC设计——整理

数字IC设计——整理

数字IC设计——整理
数字IC设计——整理

数字集成电路设计整理

一、概念

1. ASIC——Application Specific Integrated Circuit专用集成电路

ASIC在批量生产时与通用集成电路(IC)相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

ASIC分为全定制和半定制。全定制设计需要设计者完成所有电路的设计,半定制使用库里的标准逻辑单元(Standard Cell),设计时可以从标准逻辑单元库中选择SSI(门电路)、MSI(如加法器、比较器等)、数据通路(如ALU、存储器、总线等)、存储器甚至系统级模块(如乘法器、微控制器等)和IP核,这些逻辑单元已经布局完毕,而且设计得较为可靠,设计者可以较方便地完成系统设计。

全定制能够比半定制的ASIC芯片运行速度更快。

2.IP——Intellectual Property知识产权

3.数字后端

指将前端设计产生的门级网表通过EDA设计工具进行布局布线和进行物理验证并最终产生供制造用的GDSII数据的过程。其主要工作职责有:芯片物理结构分析、逻辑分析、建立后端设计流程、版图布局布线、版图编辑、版图物理验证、联络代工厂并提交生产数据。作为连接设计与制造的桥梁,合格的版图设计人员既要懂得IC 设计、版图设计方面的专业知识,还要熟悉制程厂的工作流程、制程原理等相关知识。

4.Standard Cell——标准单元库

5.RTL——寄存器传输级

描述通过一个寄存器到另一个寄存器的逻辑变换和传输来描述设计。逻辑值被存储在寄存器中,通过一些组合逻辑对其要求值,随后将结果存储于下一个寄存器。

RTL的功能类似于软件与硬件之间的桥梁。是与工艺无关的网表的文本结构描述。

6.布局(Place)布线(Route)

布图规划floorplan比布局更重要。规划包括指令,macro的放置,电源线的设计power plan。floorplan一旦确定,芯片的面积就定下来了,也与整个设计的timming和布通率有很大关系。

设计流程中主要反复调试的就在这一步。

注意:1、不能通过指定利用率来让工具自动觉得设计的尺寸,应通过指定宽/长来确定。

2、当放置很多macro单元时,memory block根据在设计中的作用尽量地放在标准单元周围。

3、电源线设计,要求在保证足够的电流密度前提下,尽量大的电源线宽度。

单元布局后,布图工具将时钟树插入。DC产生的是初级网表,缺少时钟树信息,故时钟树一定要插入到原有的网表中,并进行形式验证(网表之间,门级对门级的验证)。

布线分为全局布线和详细布线。全局布线用以确定布局的质量和提供估计延迟。所以在全局布线后要从版图提取一次时序信息,这些数据虽然没有详细布线后的时序信息准确,但可将这些估计延迟反标注进行静态分析(Prime time).

详细布线是布图工具的最后一步,此时提取芯片的实际时间延迟并在此进行Prime time 分析。

7.LVS——版图对原理图的检查

8.DRC——设计规划检查

在定案下单(tap out)之前进行7、8步。整个physical compiler流程:书《高级ASIC综合》P10.

9.GDS II

GDS II stream format, common acronym GDSII, is a database file format which is the de facto industry standard for data exchange of integrated circuit or IC layout artwork. It is a binary file format representing planar geometric shapes, text labels, and other information about the layout in hierarchical form. The data can be used to reconstruct all or part of the artwork to be used in sharing layouts, transferring artwork between different tools, or creating photomasks.

.数字后端工具及比较——Silicon Ensemble\Apollo\Astro\SOC Encounter

二、数字后端流程

1.数据准备。对于 CDN 的 Silicon Ensemble而言后端设计所需的数据主

要有是Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.lef、.tlf和.v的形式给出。前端的

芯片设计经过综合后生成的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的.gcf约束文件以及定义电源Pad的DEF(Design Exchange Format)文件。(对synopsys 的Astro 而言,经过综合后生成的门级网表,时序约束文件 SDC 是一样的,Pad的定义文件--tdf , .tf 文件

--technology file, Foundry厂提供的标准单元、宏单元和I/O Pad的库文件就与FRAM, CELL view, LM view 形式给出(Milkway 参考库 and DB, LIB file)

2.布局规划。主要是标准单元、I/O Pad和宏单元的布局。I/O Pad预先给

出了位置,而宏单元则根据时序要求进行摆放,标准单元则是给出了一定

的区域由工具自动摆放。布局规划后,芯片的大小,Core的面积,Row

的形式、电源及地线的Ring和Strip都确定下来了。如果必要在自动放置标准单元和宏单元之后,你可以先做一次PNA(power network

analysis)--IR drop and EM

3.. Placement -自动放置标准单元。布局规划后,宏单元、I/O Pad的位

置和放置标准单元的区域都已确定,这些信息SE(Silicon Ensemble)

会通过DEF文件传递给PC(Physical Compiler),PC根据由综合给出的.DB

文件获得网表和时序约束信息进行自动放置标准单元,同时进行时序检查和单元放置优化。如果你用的是PC +Astro 那你可用write_milkway,

read_milkway 传递数据

4.时钟树生成(CTS Clock tree synthesis) 。芯片中的时钟网络要驱动电

路中所有的时序单元,所以时钟源端门单元带载很多,其负载延时很大并

且不平衡,需要插入缓冲器减小负载和平衡延时。时钟网络及其上的缓冲

器构成了时钟树。一般要反复几次才可以做出一个比较理想的时钟树。

---Clock skew

5.STA 静态时序分析和后仿真。时钟树插入后,每个单元的位置都确定下来

了,工具可以提出Global Route形式的连线寄生参数,此时对延时参数

的提取就比较准确了。SE把.V和.SDF文件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个文件传递给前端人员做后仿真。

对Astro 而言,在detail routing 之后,用starRC XT 参数提取,生成的E.V和.SDF文件传递给PrimeTime做静态时序分析,那将会更准确

6.ECO(Engineering Change Order)。针对静态时序分析和后仿真中出现的

问题,对电路和单元布局进行小范围的改动

7.Filler的插入(pad fliier, cell filler)。Filler指的是标准单元库和

I/O Pad库中定义的与逻辑无关的填充物,用来填充标准单元和标准单元之间,I/O Pad和I/O Pad之间的间隙,它主要是把扩散层连接起来,满足DRC规则和设计需要

8.布线(Routing)。Global route-- Track assign --Detail

routing--Routing optimization 布线是指在满足工艺规则和布线层数

限制、线宽、线间距限制和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来,这些是在时序驱动(Timing driven ) 的条件下进行的,保证关键时序路径上的连线长度

能够最小。--Timing report clear

9.. Dummy Metal的增加。Foundry厂都有对金属密度的规定,使其金属密

度不要低于一定的值,以防在芯片制造过程中的刻蚀阶段对连线的金属层过度刻蚀从而降低电路的性能。加入Dummy Metal是为了增加金属的密度。

10.. DRC和LVS。DRC是对芯片版图中的各层物理图形进行设计规则检查

(spacing ,width),它也包括天线效应的检查,以确保芯片正常流片。LVS 主要是将版图和电路网表进行比较,来保证流片出来的版图电路和实际需要的电路一致。DRC和LVS的检查--EDA工具 Synopsy hercules/ mentor calibre/ CDN Dracula进行的.Astro also include LVS/DRC check

commands.

11.. Tape out。在所有检查和验证都正确无误的情况下把最后的版图GDSⅡ

文件传递给Foundry厂进行掩膜制造。

Design Compiler的流程及其为Astro提供的准备文件

步骤:

1、根据设计规划写出verilog程序,运行命令:nedit

2、将编写的原码存储为.v格式

3、打开DC,首先setup综合过程中的link library\target library\symbol library.其中link lib与target lib一致,格式为.db; symbol lib格式为.sdb。

注意:link lib\target lib与symbol lib之间的关系和区别

A、DC是使用target lib中的单元进行综合设计,它指定工艺库的名称。而link lib定义的库单元只用于参考库的名称。*link lib中应包含target lib,如无定义则无法连接映射后的单元。

B、门级网表可以从一种工艺重新映射到两一种工艺。此时,link lib要包含新旧工艺库名;target lib包含新的工艺库名。通过translate命令实现。

C、symbol lib包含工艺库中的单元图形的库。

4、read刚刚编写的原码,此时点击门级符号,出现的门级网表是与工艺库无关的,必须通过综合后(design—compiler design)得到与库关联的netlist. 这个网表仍然保存为.v格式

数字IC设计经典笔试题

数字IC设计经典笔试题 张戎王舵蒋鹏程王福生袁波 摘要 本文搜集了近年来数字IC设计公司的经典笔试题目,内容涵盖FPGA、V erilogHDL编程和IC设计基础知识。 Abstract This article includes some classical tests which have been introduced into interview by companies in digital IC designing in recent years. These tests are varied from FPGA,verlog HDL to base knowledge in IC designing. 关键词 FPGA VerilogHDL IC设计 引言 近年来,国内的IC设计公司逐渐增多,IC公司对人才的要求也不断提高,不仅反映在对相关项目经验的要求,更体现在专业笔试题目难度的增加和广度的延伸。为参加数字IC 设计公司的笔试做准备,我们需要提前熟悉那些在笔试中出现的经典题目。 IC设计基础 1:什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质: 时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 4:建立时间与保持时间的概念?

集成电路IC设计完整流程详解及各个阶段工具简介

IC设计完整流程及工具 IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计。 前端设计的主要流程: 1、规格制定 芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。 2、详细设计 Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。 3、HDL编码 使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。 4、仿真验证 仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。仿真验证工具Mentor公司的Modelsim,Synopsys的VCS,还有Cadence的NC-Verilog均可以对RTL级的代码进行设计验证,该部分个人一般使用第一个-Modelsim。该部分称为前仿真,接下来逻辑部分综合之后再一次进行的仿真可称为后仿真。 5、逻辑综合――Design Compiler 仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基

浅谈数字IC设计技术(一)

浅谈数字IC设计技术(一) 摘要:随着数字电路设计的规模以及复杂程度的提高,对其进行设计所花费的时间和费用也随之而提高。根据近年来的统计,对数字系统进行设计所花的时间占到了整个研发过程的60%以上。所以减少设计所花费的实践成本是当前数字电路设计研发的关键,这就必须在设计的方法上有所突破。 关键词:数字系统;IC;设计 一、数字IC设计方法学 在目前CI设计中,基于时序驱动的数字CI设计方法、基于正复用的数字CI设计方法、基于集成平台进行系统级数字CI设计方法是当今数字CI设计比较流行的3种主要设计方法,其中基于正复用的数字CI设计方法是有效提高CI设计的关键技术。它能解决当今芯片设计业所面临的一系列挑战:缩短设计周期,提供性能更好、速度更快、成本更加低廉的数字IC芯片。 基于时序驱动的设计方法,无论是HDL描述还是原理图设计,特征都在于以时序优化为目标的着眼于门级电路结构设计,用全新的电路来实现系统功能;这种方法主要适用于完成小规模ASIC的设计。对于规模较大的系统级电路,即使团队合作,要想始终从门级结构去实现优化设计,也很难保证设计周期短、上市时间快的要求。 基于PI复用的数字CI设计方法,可以满足芯片规模要求越来越大,设计周期要求越来越短的要求,其特征是CI设计中的正功能模块的复用和组合。采用这种方法设计数字CI,数字CI包含了各种正模块的复用,数字CI的开发可分为模块开发和系统集成配合完成。对正复用技术关注的焦点是,如何进行系统功能的结构划分,如何定义片上总线进行模块互连,应该选择那些功能模块,在定义各个功能模块时如何考虑尽可能多地利用现有正资源而不是重新开发,在功能模块设计时考虑怎样定义才能有利于以后的正复用,如何进行系统验证等。基于PI复用的数字CI的设计方法,其主要特征是模块的功能组装,其技术关键在于如下三个方面:一是开发可复用的正软核、硬核;二是怎样做好IP复用,进行功能组装,以满足目标CI的需要;三是怎样验证完成功能组装的数字CI是否满足规格定义的功能和时序。 二、典型的数字IC开发流程 典型的数字CI开发流程主要步骤包含如下24方面的内容: (1)确定IC规格并做好总体方案设计。 (2)RTL代码编写及准备etshtnehc代码。 (3)对于包含存储单元的设计,在RTL代码编写中插入BIST(内建自我测试)电路。 (4)功能仿真以验证设计的功能正确。 (5)完成设计综合,生成门级网表。 (6)完成DFT(可测试设计)设计。 (7)在综合工具下完成模块级的静态时序分析及处理。 (8)形式验证。对比综合网表实现的功能与TRL级描述是否一致。 (9)对整个设计进行Pre一layout静态时序分析。 (10)把综合时的时间约束传递给版图工具。 (11)采样时序驱动的策略进行初始化nooprlna。内容包括单元分布,生成时钟树 (12)把时钟树送给综合工具并插入到初始综合网表。 (13)形式验证。对比插入时钟树综合网表实现的功能与初始综合网表是否一致。 (14)在步骤(11)准布线后提取估计的延迟信息。 (15)把步骤(14)提取出来的延迟信息反标给综合工具和静态时序分析工具。 (16)静态时序分析。利用准布线后提取出来的估计延时信息。 (17)在综合工具中实现现场时序优化(可选项)。

数字IC设计笔试面试经典100题

1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质: 时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 4:建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。 5:为什么触发器要满足建立时间和保持时间? 因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。 (比较容易理解的方式)换个方式理解:需要建立时间是因为触发器的D端像一个锁存器在接受数据,为了稳定的设置前级门的状态需要一段稳定时间;需要保持时间是因为在时钟沿到来之后,触发器要通过反馈来锁存状态,从后级门传到前级门需要时间。 6:什么是亚稳态?为什么两级触发器可以防止亚稳态传播? 这也是一个异步电路同步化的问题。亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。使用两级触发器来使异步电路同步化的电路其实叫做“一位同步器”,他只能用来对一位异步信号进行同步。两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间+ 第二级触发器的建立时间< = 时钟周期。

2017年数字IC设计工程师招聘面试笔试100题附答案

2017年数字IC设计工程师招聘面试笔试100 题附答案 1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质: 时序设计的实质就是满足每一个触发器的建立/保持时间的要求。

4:建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。 保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。 5:为什么触发器要满足建立时间和保持时间? 因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。 (比较容易理解的方式)换个方式理解:需要建立时间是因为触发器的D端像一个锁存器在接受数据,为了稳定的设置前级门的状态需要一段稳定时间;需要保持时间是因为在时钟沿到来之后,触发器要通过反馈来锁存状态,从后级门传到前级门需要时间。 6:什么是亚稳态?为什么两级触发器可以防止亚稳态传播?

数字IC设计工具介绍

COMPOSER - CADENCE 逻辑图输入 这个工具主要针对中小规模的ASIC以及MCU电路的逻辑设计,大的东西可能需要综合了。虽然现在电路越设计越大,有人言必称SYNOPSYS,但只要仔细到市场上端详一下,其实相当大部分真正火暴卖钱的东西还是用CADENCE的COMPOSER加VIRTUOSO加VERILOG—XL加DRACULA流程做的。原因很简单,客户可不买你什么流程的帐,什么便宜性能又好就买什么。备用PC上的工具:WORKVIEW OFFICE DC - SYNOPSYS 逻辑综合 这个不用说了,最经典的。但老实说在我们现在的设计流程里用得还不多,最关键问题还是一个市场切入问题。备用工作站上的工具:AMBIT,这个工具其实很不错,它和SE都是CADENCE出的,联合起来用的优势就很明显了。PC上用的备用工具可以选NT版的SYNOPSYS,SYNPILIFY也不错,但主要是用做FPGA综合的。其实最终你拿到的库有时最能说明问题,它不支持某工具,转换?急吧。 VIRTUOSO - CADENCE 版图设计 这个大家比较熟了,但个人还是喜欢用PC上的TANNER。原因是层与层之间的覆盖关系用调色的模式显示出来比直接覆盖显示就是舒服。可惜人家老大,国产的《熊猫》也学了这个模式。倒是以前有个COMPASS,比较好用,可惜现在不知哪去了。 SE - CADENCE 自动布局布线 有了它,很多手工版图的活儿就可以不用做的,实在是一大进步。可惜残酷市场上如果规模不大的东西人家手画的东西比你自动布的小40%,麻烦就大了。APOLLO用的人还不是很多吧。PC上的TANNER 据说也能做,针对线宽比较粗,规模不太大的设计。 VERILOG—XL - CADENCE 逻辑仿真 VERILOG就是CADENCE的发明,我们的版本比较老,现在该工具是不是停止开发了?CADENCE 新推都叫NC-VERILOG。SYNOPSYS的VCS是不是比NC强,反正两公司喊的挺凶,哪位对这个两个东西都比较了解,不妨对比一下。PC上的Model Sim也很不错。我一直觉得仿真是数字逻辑设计的核心,DEGUG 靠脑子和手推是不够用的。可惜往往有时候还不能过分依赖仿真结果,因为一些因素还是不能完全包罗进去。如果哪天真的仿真完芯片就必定OK了,做芯片的乐趣也没了。 DRACULA - CADENCE LVS、DRC、ERC、LPE 虽然比较老,已经成了CADENCE搭售的产品,但是经典了。 STAR—SIM - SYNOPSYS(原A VANT!)后仿真 如果你对小规模的电路不放心(尤其是自建库的设计),用这个做一次FULL-CHIP的后仿真,问题就不大了。还有一个是查电路的故障,一个芯片所有逻辑设计都对的,东西就出不来,可以针对性的仿真内部的关键信号。不看过就不知道,其实内部信号的传输远不如你在数字仿真时漂亮。 以上都是传统工具,还有好多新出的工具,因为只是停留在概念基础上,不敢评论了。 以下是几个硬件工具: 示波器、信号发生器、逻辑分析仪: 尤其是逻辑分析仪,查找硬件故障,甚至分析简单的通讯协议,好东西。

数字ic设计实验报告

数字集成电路设计 实验报告 实验名称二输入与非门的设计 一.实验目的 a)学习掌握版图设计过程中所需要的仿真软件

b)初步熟悉使用Linux系统 二.实验设备与软件 PC机,RedHat,Candence 三.实验过程 Ⅰ电路原理图设计 1.打开虚拟机VMware Workstation,进入Linux操作系统RedHat。 2.数据准备,将相应的数据文件拷贝至工作环境下,准备开始实验。 3.创建设计库,在设计库里建立一个schematic view,命名为,然后进入电路 图的编辑界面。 4.电路设计 设计一个二输入与非门,插入元器件,选择PDK库(xxxx35dg_XxXx)中的nmos_3p3、 pmos_3p3等器件。形成如下电路图,然后check and save,如下图。 图1.二输入与非门的电路图 5.制作二输入与非门的外观symbol Design->Create Cellview -> From Cellview,在弹出的界面,按ok后出现symbol Generation options,选择端口排放顺序和外观,然后按ok出现symbol编辑界面。按照需 要编辑成想要的符号外观,如下图。保存退出。

图2.与非门外观 6.建立仿真电路图 方法和前面的“建立schemtic view”的方法一样,但在调用单元时除了调用analogL 库中的电压源、(正弦)信号源等之外,将之前完成的二输入与非门调用到电路图中,如下图。 图3.仿真电路图 然后设置激励源电压输出信号为高电平为3.5v,低电平为0的方波信号。 7.启动仿真环境 在ADE中设置仿真器、仿真数据存放路径和工艺库,设置好后选择好要检测的信号在电路中的节点,添加到输出栏中,运行仿真得到仿真结果图。

数字ic设计经验分享

摘要:随着数字电路设计的规模以及复杂程度的提高,对其进行设计所花费的时间和费用也随之而提高。根据近年来的统计,对数字系统进行设计所花的时间占到了整个研发过程的60%以上。所以减少设计所花费的实践成本是当前数字电路设计研发的关键,这就必须在设计的方法上有所突破。 关键词:数字系统;IC;设计 一、数字IC设计方法学 在目前CI设计中,基于时序驱动的数字CI设计方法、基于正复用的数字CI设计方法、基于集成平台进行系统级数字CI设计方法是当今数字CI设计比较流行的3种主要设计方法,其中基于正复用的数字CI设计方法是有效提高CI设计的关键技术。它能解决当今芯片设计业所面临的一系列挑战:缩短设计周期,提供性能更好、速度更快、成本更加低廉的数字IC芯片。 基于时序驱动的设计方法,无论是HDL描述还是原理图设计,特征都在于以时序优化为目标的着眼于门级电路结构设计,用全新的电路来实现系统功能;这种方法主要适用于完成小规模ASIC的设计。对于规模较大的系统级电路,即使团队合作,要想始终从门级结构去实现优化设计,也很难保证设计周期短、上市时间快的要求。 基于PI复用的数字CI设计方法,可以满足芯片规模要求越来越大,设计周期要求越来越短的要求,其特征是CI设计中的正功能模块的复用和组合。采用这种方法设计数字CI,数字CI包含了各种正模块的复用,数字CI的开发可分为模块开发和系统集成配合完成。对正复用技术关注的焦点是,如何进行系统功能的结构划分,如何定义片上总线进行模块互连,应该选择那些功能模块,在定义各个功能模块时如何考虑尽可能多地利用现有正资源而不是重新开发,在功能模块设计时考虑怎样定义才能有利于以后的正复用,如何进行系统验证等。 基于PI复用的数字CI的设计方法,其主要特征是模块的功能组装,其技术关键在于如下三个方面:一是开发可复用的正软核、硬核;二是怎样做好IP复用,进行功能组装,以满足目标CI的需要;三是怎样验证完成功能组装的数字CI是否满足规格定义的功能和时序。 二、典型的数字IC开发流程 典型的数字CI开发流程主要步骤包含如下24方面的内容: (1)确定IC规格并做好总体方案设计。 (2)RTL代码编写及准备etshtnehc代码。 (3)对于包含存储单元的设计,在RTL代码编写中插入BIST(内建自我测试)电路。 (4)功能仿真以验证设计的功能正确。 (5)完成设计综合,生成门级网表。 (6)完成DFT(可测试设计)设计。 (7)在综合工具下完成模块级的静态时序分析及处理。 (8)形式验证。对比综合网表实现的功能与TRL级描述是否一致。 (9)对整个设计进行Pre一layout静态时序分析。 (10)把综合时的时间约束传递给版图工具。 (11)采样时序驱动的策略进行初始化nooprlna。内容包括单元分布,生成时钟树 (12)把时钟树送给综合工具并插入到初始综合网表。 (13)形式验证。对比插入时钟树综合网表实现的功能与初始综合网表是否一致。 (14)在步骤(11)准布线后提取估计的延迟信息。 (15)把步骤(14)提取出来的延迟信息反标给综合工具和静态时序分析工具。 (16)静态时序分析。利用准布线后提取出来的估计延时信息。

数字IC设计学习路线

数字IC必读书籍 本文将从简单到复杂的顺序依次列出数字IC设计需要阅读的书籍。 1、数字电路基础 数字IC设计最基础的书籍了,相关书籍比较多,可以随意挑选:主要是为了弄清楚与或门电路,触发器、译码器、脉冲产生、逻辑化简等待。 读书策略: 用时短、打基础、必读 认真阅读、把书中的习题都做一遍、每章节重点必须要掌握。 书籍选择: 数字电路与系统(第3版)戚金清,王兢编 2、《数字集成电路--电路、系统与设计》 经典书籍:畅销书、本书详细地介绍了MOS管原理、CMOS组合逻辑、时序逻辑、加法器乘法器等运算单元、存储结构、以及时序、互连、电路寄生效应,包含充分的理论分析和电路结构图。掌握此书能为数字IC设计打下非常坚固的基础。 读书策略:非常重要、堪称数字IC设计基石、慢慢研读---基础书籍此书耗时较长,不必一口气看完,慢慢研读即可、掌握其中的理论知识、理论推导不必非常了解,能够知道公式的结论即可。 3、《Verilog数字系统设计教程(第4版)》 Verilog语言学习经典书籍,教你学会使用Verilog编写电路,实现

常见功能。Verilog是IC设计必须掌握的语言、常备此书,时常查阅。 读书策略:必读、时常查阅----基础书籍 第一遍可以快速阅读、知道知识点含义以及相应的位置、忘记的时候翻一翻书籍。 4、《Verilog编程艺术》 本书介绍了大量verilog实现实例、包含计算单元、分频电路、状态机等,并且介绍了verilog设计的良好习惯,可以称之为初学者的Verilog规范与素材库。 读书策略:verilog进阶书籍、常备---进阶书籍 对于初学者来说,此书很使用,Verilog数字系统设计教程知识介绍了verilog的设计语法与少量实例,此书能够帮助我们更扎实的掌握verilog语言、能够教会我们如何使用verilog语言设计电路。 5、《专用集成电路设计实用教程》 此书介绍了集成电路设计的整个流程,其中重点介绍了综合原理、电路优化、最后还介绍了后端各流程的知识点。学完此书,对电路设计流程以及综合原理、建立时间、保持时间等知识点会有深刻的了解。读出策略:系统而全面的书籍,有助于个人提升--基础书籍 6、《SOC设计方法与实现》

数字IC设计流程及工具介绍

数字IC设计流程及工具介绍 IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计。 前端设计的主要流程: 1、规格制定 芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。 2、详细设计 Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。 3、HDL编码 使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。 4、仿真验证 仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。仿真验证工具Mentor 公司的Modelsim,Synopsys的VCS,还有Cadence的NC-Verilog均可以对RTL 级的代码进行设计验证,该部分个人一般使用第一个-Modelsim。该部分称为前仿真,接下来逻辑部分综合之后再一次进行的仿真可称为后仿真。 5、逻辑综合――Design Compiler 仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)逻辑综合工具Synopsys的Design Compiler,仿真工具选择上面的三种仿真工具均可。 6、静态时序分析——STA Static Timing Analysis(STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。STA工具有Synopsys的Prime Time。 7、形式验证

数字ic设计流程word版

数字集成电路设计流程数字集成电路设计流程 数字集成电路设计流程 1. 设计输入 电路图或硬件描述语言 2. 逻辑综合 处理硬件描述语言,产生电路网表 3. 系统划分 将电路分成大小合适的块 4. 功能仿真 State Key Lab of ASIC & Systems, Fudan University 数字集成电路设计流程 5.布图规划 芯片上安排各宏模块的位置 6.布局 安排宏模块中标准单元的位置 7.布线 宏模块与单元之间的连接 8.寄生参数提取 提取连线的电阻、电容 9.版图后仿真 检查考虑连线后功能和时序是否正确 State Key Lab of ASIC & Systems, Fudan University 数字集成电路设计工具 . 主要的EDA vendor

– Synopsys:逻辑 综合,仿真器, DFT – Cadence:版图 设计工具,仿真 器等 – Avanti:版图设 计工具 – Mentor:DFT, 物理验证工具 – Magma: BlastRTL, Blast Fusion State Key Lab of ASIC & Systems, Fudan University 选择设计工具的原则 ..只用“sign-off”的工具 –保证可靠性,兼容性 ..必须针对芯片的特点 –不同的芯片需要不同的设计工具 ..了解设计工具的能力 –速度、规模等 State Key Lab of ASIC & Systems, Fudan University 设计工具的选择 ..设计输入 –任何文本编辑工具 – Ultraedit, vi, 仿真器自带编辑器…

数字ic设计实验报告

Harbin Institute of Technology 数字集成电路设计 实验报告 实验名称二输入与非门的设计 学生姓名:李嘉慧 学号:1132120128 班级:1321201 专业:电子信息科学与技术 任课教师:来逢昌

2016年5月 一.实验目的 a)学习掌握版图设计过程中所需要的仿真软件 b)初步熟悉使用Linux系统 二.实验设备与软件 PC机,RedHat,Candence 三.实验过程 Ⅰ电路原理图设计 1.打开虚拟机VMware Workstation,进入Linux操作系统RedHat。 2.数据准备,将相应的数据文件拷贝至工作环境下,准备开始实验。 3.创建设计库,在设计库里建立一个schematicview,命名为,然后进入电路图 的编辑界面。 4.电路设计 设计一个二输入与非门,插入元器件,选择PDK库(xxxx35dg_XxXx)中的nmos_3p3、pmos_3p3等器件。形成如下电路图,然后check and save,如下图。

图1.二输入与非门的电路图 5.制作二输入与非门的外观symbol Design->Create Cellview -> From Cellview,在弹出的界面,按ok后出现symbol Generation options,选择端口排放顺序和外观,然后按ok出现symbol编辑界面。按照需 要编辑成想要的符号外观,如下图。保存退出。 图2.与非门外观

6.建立仿真电路图 方法和前面的“建立schemtic view”的方法一样,但在调用单元时除了调用analogL 库中的电压源、(正弦)信号源等之外,将之前完成的二输入与非门调用到电路图中,如下图。 图3.仿真电路图 然后设置激励源电压输出信号为高电平为3.5v,低电平为0的方波信号。 7.启动仿真环境 在ADE中设置仿真器、仿真数据存放路径和工艺库,设置好后选择好要检测的信号在电路中的节点,添加到输出栏中,运行仿真得到仿真结果图。

数字IC设计——整理

数字集成电路设计整理 一、概念 1. ASIC——Application Specific Integrated Circuit专用集成电路 ASIC在批量生产时与通用集成电路(IC)相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。 ASIC分为全定制和半定制。全定制设计需要设计者完成所有电路的设计,半定制使用库里的标准逻辑单元(Standard Cell),设计时可以从标准逻辑单元库中选择SSI(门电路)、MSI(如加法器、比较器等)、数据通路(如ALU、存储器、总线等)、存储器甚至系统级模块(如乘法器、微控制器等)和IP核,这些逻辑单元已经布局完毕,而且设计得较为可靠,设计者可以较方便地完成系统设计。 全定制能够比半定制的ASIC芯片运行速度更快。 2.IP——Intellectual Property知识产权 3.数字后端 指将前端设计产生的门级网表通过EDA设计工具进行布局布线和进行物理验证并最终产生供制造用的GDSII数据的过程。其主要工作职责有:芯片物理结构分析、逻辑分析、建立后端设计流程、版图布局布线、版图编辑、版图物理验证、联络代工厂并提交生产数据。作为连接设计与制造的桥梁,合格的版图设计人员既要懂得IC 设计、版图设计方面的专业知识,还要熟悉制程厂的工作流程、制程原理等相关知识。 4.Standard Cell——标准单元库 5.RTL——寄存器传输级 描述通过一个寄存器到另一个寄存器的逻辑变换和传输来描述设计。逻辑值被存储在寄存器中,通过一些组合逻辑对其要求值,随后将结果存储于下一个寄存器。 RTL的功能类似于软件与硬件之间的桥梁。是与工艺无关的网表的文本结构描述。 6.布局(Place)布线(Route) 布图规划floorplan比布局更重要。规划包括指令,macro的放置,电源线的设计power plan。floorplan一旦确定,芯片的面积就定下来了,也与整个设计的timming和布通率有很大关系。

数字IC设计流程

数字ic设计流程 1. 首先是使用HDL语言进行电路描述,写出可综合的代码。然后用仿真工具作前仿真,对理想状况下的功能进行验证。这一步可以使用Vhdl或Verilog作为工作语言,EDA工具方面就我所知可以用Synopsys的VSS(for Vhdl)、VCS (for Verilog)Cadence的工具也就是著名的Verilog-XL和NC Verilog 2.前仿真通过以后,可以把代码拿去综合,把语言描述转化成电路网表,并进行逻辑和时序电路的优化。在这一步通过综合器可以引入门延时,关键要看使用了什么工艺的库这一步的输出文件可以有多种格式,常用的有EDIF格式。综合工具Synopsys的Design Compiler,Cadence的Ambit 3,综合后的输出文件,可以拿去做layout,将电路fit到可编程的片子里或者布到硅片上这要看你是做单元库的还是全定制的。全定制的话,专门有版图工程师帮你画版图,Cadence的工具是layout editor单元库的话,下面一步就是自动布局布线,auto place & route,简称apr cadence的工具是Silicon Ensembler,Avanti的是Apollo layout出来以后就要进行extract,只知道用Avanti 的Star_rcxt,然后做后仿真,如果后仿真不通过的话,只能iteration,就是回过头去改。 4,接下来就是做DRC,ERC,LVS了,如果没有什么问题的话,就tape out GDSII 格式的文件,送制版厂做掩膜板,制作完毕上流水线流片,然后就看是不是work 了做DRC,ERC,LVSAvanti的是Hercules,Venus,其它公司的你们补充好了btw:后仿真之前的输出文件忘记说了,应该是带有完整的延时信息的设计文件如:*.VHO,*.sdf RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->PT----DRC,LVS--->TAPE OUT 1。PT后一般也要做动态仿真,原因:异步路径PT是做不了的 2。综合后加一个形式验证,验证综合前后网表与RTL的一致性 3。布版完成后一般都会有ECO,目的手工修改小的错误 SPEC->ARCHITECTURE->RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->P T----DRC,LVS--->TAPE OUT SPEC:specification,在进行IC设计之前,首先需要对本IC的功能有一个基

数字ic设计流程与模拟IC

数字ic设计流程与模拟IC 1. 首先是使用HDL语言进行电路描述,写出可综合的代码。然后用仿真工具作前仿真,对理想状况下的功能进行验证。这一步可以使用Vhdl或Verilog作为工作语言,EDA工具方面就我所知可以用Synopsys的VSS(for Vhdl)、VCS(for Verilog)Cadence的工具也就是著名的Verilog-XL和NC Verilog 2.前仿真通过以后,可以把代码拿去综合,把语言描述转化成电路网表,并进行逻辑和时序电路的优化。在这一步通过综合器可以引入门延时,关键要看使用了什么工艺的库这一步的输出文件可以有多种格式,常用的有EDIF格式。综合工具Synopsys的Design Compiler,Cadence的Ambit 3,综合后的输出文件,可以拿去做layout,将电路fit到可编程的片子里或者布到硅片上这要看你是做单元库的还是全定制的。全定制的话,专门有版图工程师帮你画版图,Cadence的工具是layout editor单元库的话,下面一步就是自动布局布线,auto place & route,简称apr cadence的工具是Silicon Ensembler,Avanti的是Apollo layout出来以后就要进行extract,只知道用Avanti的Star_rcxt,然后做后仿真,如果后仿真不通过的话,只能iteration,就是回过头去改。 4,接下来就是做DRC,ERC,LVS了,如果没有什么问题的话,就tape out GDSII 格式的文件,送制版厂做掩膜板,制作完毕上流水线流片,然后就看是不是work 了做DRC,ERC,LVSAvanti的是Hercules,Venus,其它公司的你们补充好了 btw:后仿真之前的输出文件忘记说了,应该是带有完整的延时信息的设计文件如:*.VHO,*.sdf RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->PT----DRC,LVS--->TAPE OUT 1。PT后一般也要做动态仿真,原因:异步路径PT是做不了的 2。综合后加一个形式验证,验证综合前后网表与RTL的一致性 3。布版完成后一般都会有ECO,目的手工修改小的错误 SPEC->ARCHITECTURE->RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->PT----DRC, LVS--->TAPE OUT SPEC:specification,在进行IC设计之前,首先需要对本IC的功能有一个基本的定义。 ARCHITECTURE:IC的系统架构,包括算法的设计,算法到电路的具体映射,电路的具体实现方法,如总线结构、流水方式等。 在IC前端的设计中,ARCHITECTURE才是精华,其他的大部分都是EDA工具的使用,技术含量不高。 dv, design verification,验证 和前端、后端并列。 DFT, design for test. 前后端合作,并与tapeout 后测试合作。 ir-drop. 后端和验证合作。 SI, 后端。 low-power design ,前后端合作.

数字IC设计经典笔试题

数字IC设计经典笔试题

数字IC设计经典笔试题 张戎王舵蒋鹏程王福生袁波 摘要 本文搜集了近年来数字IC设计公司的经典笔试题目,内容涵盖FPGA、VerilogHDL编程和IC设计基础知识。 Abstract This article includes some classical tests which have been introduced into interview by companies in digital IC designing in recent years. These tests are varied from FPGA,verlog HDL to base knowledge in IC designing. 关键词 FPGA VerilogHDL IC设计 引言 近年来,国内的IC设计公司逐渐增多,IC 公司对人才的要求也不断提高,不但反映在对相

关项目经验的要求,更体现在专业笔试题目难度的增加和广度的延伸。为参加数字IC设计公司的笔试做准备,我们需要提前熟悉那些在笔试中出现的经典题目。 IC设计基础 1:什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除能够使用带时钟的触发器外,还能够使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。

相关主题