集成电路设计流程总体要求课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《集成电路设计流程总体要求课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集成电路设计 流程 总体 要求 课件
- 资源描述:
-
1、总体要求总体要求系统功能设计系统功能设计寄存器传输级寄存器传输级描述描述寄存器传输级寄存器传输级模拟与验证模拟与验证子系统子系统/功能块功能块综综 合合门级逻辑门级逻辑网表网表逻辑模拟逻辑模拟与验证与验证电路模拟电路模拟与验证与验证版图生成版图生成逻辑图逻辑图电路图电路图集成电路设计流程集成电路设计流程最终版图数据最终版图数据与测试向量与测试向量制版制版与工艺流片与工艺流片计算机辅助计算机辅助测试测试(ICCAT)生产定型生产定型工艺模拟工艺模拟版图几何设计规则和版图几何设计规则和电学规则检查电学规则检查网表一致性检网表一致性检查和后仿真查和后仿真集成电路设计方法集成电路设计方法 对于具体的集
2、成电路,一般采用全定制设对于具体的集成电路,一般采用全定制设计方法或各种专用集成电路的设计方法。计方法或各种专用集成电路的设计方法。全定制设计方法用于通用数字、模拟、数模混合全定制设计方法用于通用数字、模拟、数模混合集成电路。例如:通用微处理器、存储器等。集成电路。例如:通用微处理器、存储器等。专用集成电路专用集成电路(Application-Specific Integrated Circuit):针:针对某一应用或某一客户的特殊要求而设计的集成对某一应用或某一客户的特殊要求而设计的集成电路,其特点是品种多、批量小、单片功能强,电路,其特点是品种多、批量小、单片功能强,例如:玩具用芯片、通信
3、专用芯片、语音芯片等。例如:玩具用芯片、通信专用芯片、语音芯片等。半定制,半定制,FPGAFPGA主流ASIC EDA研发商 开发商有开发商有Mentor GraphicsMentor Graphics、Cadence,Cadence,SynopsysSynopsys等。等。其开发工具众多,按照功能主要分为设计其开发工具众多,按照功能主要分为设计输入、综合、版图设计、静态时序分析、输入、综合、版图设计、静态时序分析、动态时序分析、功耗估计、可测性分析等。动态时序分析、功耗估计、可测性分析等。现场可编程门阵列(现场可编程门阵列(FPGA)的基本原理)的基本原理 FPGAFPGA出现在出现在202
4、0世纪世纪8080年代中期,与阵列型年代中期,与阵列型PLDPLD有有所不同,所不同,FPGAFPGA由许多独立的可编程逻辑模块组成,用户由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计。可以通过编程将这些模块连接起来实现不同的设计。FPGAFPGA器件具有高密度、高速率、系列化、标准化、器件具有高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证等特点。无限次反复编程,并可现场模拟调试验证等特点。FPGAFPGA由由可编程逻辑块(可编程逻辑块(CLB
5、CLB)、输入、输入/输输出模块(出模块(IOBIOB)及可编程互连资源()及可编程互连资源(PIRPIR)等三种)等三种可编程电路和一个可编程电路和一个SRAMSRAM结构的配置存储单元组成。结构的配置存储单元组成。CLBCLB是实现逻辑功能的基本单元,它们通常规则地是实现逻辑功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片中;可编程输排列成一个阵列,散布于整个芯片中;可编程输入入/输出模块(输出模块(IOBIOB)主要完成芯片上的逻辑与外)主要完成芯片上的逻辑与外部引脚的接口,它通常排列在芯片的四周;可编部引脚的接口,它通常排列在芯片的四周;可编程互连资源(程互连资源(IRIR
6、)包括各种长度的连线线段和一)包括各种长度的连线线段和一些可编程连接开关,它们将各个些可编程连接开关,它们将各个CLBCLB之间或之间或CLBCLB与与IOBIOB之间以及之间以及IOBIOB之间连接起来,构成特定功能的之间连接起来,构成特定功能的电路。电路。FPGAFPGA的基本结构图的基本结构图C CL LB BI IR RI IO OB BC CL LB BC CL LB BC CL LB BC CL LB BC CL LB BC CL LB BC CL LB BC CL LB BI IO OB BI IO OB BI IO OB BI IO OB BI IO OB BI IO OB B
7、I IO OB BI IO OB BI IO OB BI IO OB BI IO OB BI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR RI IR R1可编程逻辑块(可编程逻辑块(CLB)CLBCLB主要由逻辑函数发生器、触发器、数据选择器等主要由逻辑函数发生器、触发器、数据选择器等电路组成。电路组成。逻辑函数发生器主要由查找表逻辑函数发生器主要由查找表LUT(look up LUT(look up table)table)构成。构成。0000010100000101161R
8、AM输入A输入B输入C输入D查找表输出多路选择器查找表LUT输入1输入2输入3输入4输出函数发生器基于查找函数发生器基于查找表单元:表单元:3可编程互连资源(可编程互连资源(PIR)PIRPIR由许多金属线段构成,这些金属线段带有由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。可编程开关,通过自动布线实现各种电路的连接。实现实现FPGAFPGA内部的内部的CLBCLB和和CLBCLB之间、之间、CLBCLB和和IOBIOB之间的连之间的连接。接。XC4000XC4000系列采用分段互连资源结构,按相对长度系列采用分段互连资源结构,按相对长度可分为单长线、双长线和
9、长线等三种。可分为单长线、双长线和长线等三种。2输入输入/输出模块(输出模块(IOB)IOBIOB主要由输入触发器、输入缓冲器和输出触发主要由输入触发器、输入缓冲器和输出触发/锁锁存器、输出缓冲器组成,每个存器、输出缓冲器组成,每个IOBIOB控制一个引脚,它们控制一个引脚,它们可被配置为输入、输出或双向可被配置为输入、输出或双向I/OI/O功能。功能。FPGAFPGA采用采用SRAMSRAM进行功能配置,可重复编程,但系统掉进行功能配置,可重复编程,但系统掉电后,电后,SRAMSRAM中的数据丢失中的数据丢失。因此,需在因此,需在FPGAFPGA外加外加EPROMEPROM,将配置数据写入其
10、中,系统每次上电自动将数据引入将配置数据写入其中,系统每次上电自动将数据引入SRAMSRAM中。中。CPLDCPLD器件一般采用器件一般采用EEPROMEEPROM存储技术,可重复存储技术,可重复编程,并且系统掉电后,编程,并且系统掉电后,EEPROMEEPROM中的数据不会丢失,中的数据不会丢失,适于数据的保密。适于数据的保密。FPGAFPGA器件含有丰富的触发器资源,易于实现时序逻辑器件含有丰富的触发器资源,易于实现时序逻辑.如果要求实现较复杂的组合电路则需要几个如果要求实现较复杂的组合电路则需要几个CLBCLB结合起结合起来实现。来实现。CPLDCPLD的与或阵列结构,使其适于实现大规模
11、的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。的组合功能,但触发器资源相对较少。FPGAFPGA与与CPLDCPLD的区别的区别 FPGAFPGA为细粒度结构,为细粒度结构,CPLDCPLD为粗粒度结构。为粗粒度结构。FPGAFPGA内部有内部有丰富连线资源,丰富连线资源,CLBCLB分块较小,芯片的利用率较高。分块较小,芯片的利用率较高。CPLDCPLD的宏单元的与或阵列较大,通常不能完全被应用,的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此限,限制了
12、器件的灵活布线,因此CPLDCPLD利用率较利用率较FPGAFPGA器件低。器件低。FPGAFPGA为非连续式布线,为非连续式布线,CPLDCPLD为连续式布线。为连续式布线。FPGAFPGA器件器件在每次编程时实现的逻辑功能一样,但在每次编程时实现的逻辑功能一样,但走的路线不同走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键因此延时不易控制,要求开发软件允许工程师对关键的路线给予限制。的路线给予限制。CPLDCPLD每次布线路径一样,每次布线路径一样,CPLDCPLD的连的连续式互连结构利用具有同样长度的一些金属线实现逻续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互
13、连。辑单元之间的互连。连续式互连结构连续式互连结构消除了分段式互消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。且具有固定延时的通路。CPLDCPLD的延时较小。的延时较小。FPGA的主要应用领域FPGA作为主控芯片一作为主控芯片一数字逻辑数字逻辑 n单纯的数字逻辑,没有CPU和总线。n支持非常广泛的接口标准(PCI-E、SPI、I2C)。n 接口的转换。n 算法简单重复计算和数据量庞大的并行计算。n 快速的乘加处理。n EDA实验 FPGA的主要应用领域FPGA作为主控芯片二作为主控芯片二DSP处理处理 nFPG
14、A主要利用片内的乘加器模块。n基于硬件的并行处理,多个乘加模块可以在一个时钟周期内同时进行。具有更大的数据吞吐量。nFPGA的灵活性配置,使得数据的位宽可以调整。满足不同的设计需要。FPGA的主要应用领域FPGA作为主控芯片三作为主控芯片三嵌入式系统嵌入式系统 n简单地讲,就是在FPGA内部放置了一个或多个CPU n放置在FPGA内部的CPU有两种形式,第一种是硬核,出厂固定,无法更改。第二种是软核,可进行软件配置,可以通过软硬件相结合的方式,提高整体系统结构的灵活性,便于日后的升级和改进。n系统可裁剪。典型FPGA应用设计流程系统设计系统设计算法设计算法设计RTLRTL设计设计系统验证系统验
15、证算法验证算法验证RTLRTL验证验证逻辑综合逻辑综合布局布线布局布线后仿真后仿真数据流下载数据流下载硬件验证硬件验证典型的FPGA设计流程 电路功能设计电路功能设计 设计输入设计输入 前仿真(功能仿真)前仿真(功能仿真)综合综合(优化、综合、映射优化、综合、映射)综合后仿真综合后仿真 布局布线布局布线 后仿真(时序仿真)后仿真(时序仿真)生成下载文件,进行板级验证生成下载文件,进行板级验证 器件编程器件编程 电路调试电路调试典型的FPGA设计流程 电路功能设计电路功能设计在系统设计之前,首先要进行的是方案论证和在系统设计之前,首先要进行的是方案论证和FPGAFPGA芯片选择等准备工作。系统工
16、程师根据任务芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基元,然后再把每个基本单元划分为下一层次的基本单元,直到可以直接使用本单元,直到可以直接使用EDAEDA元件库为止。元件库为止。典型的FPGA设计流程 设计输入设计输入设计输
17、入是将所设计的系统或电路以开发软件设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给要求的某种形式表示出来,并输入给EDAEDA工具工具的过程。常用的方法有硬件描述语言(的过程。常用的方法有硬件描述语言(HDLHDL)和原理图输入方法等。原理图输入方式是一种和原理图输入方法等。原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需要的器件从元件库中应用比较广泛,它将所需要的器件从元件库中调出来,画出原理图。这种方法虽然直观并易调出来,画出原理图。这种方法虽然直观并易于仿真,但效率很低,且不易维护,不利于模
18、于仿真,但效率很低,且不易维护,不利于模块构造和重用。更主要的缺点是可移植性差,块构造和重用。更主要的缺点是可移植性差,当芯片升级后,所有的原理图都需要做一定的当芯片升级后,所有的原理图都需要做一定的改动。改动。典型的FPGA设计流程 设计输入设计输入目前,实际开发中应用最广的就是目前,实际开发中应用最广的就是HDLHDL输入法,输入法,利用文本描述设计,可以分为普通利用文本描述设计,可以分为普通HDLHDL和行为和行为HDLHDL。普通。普通HDLHDL有有ABELABEL、CURCUR等,支持逻辑方程、等,支持逻辑方程、真值表和状态机等表达方式,主要用于小型设真值表和状态机等表达方式,主要
19、用于小型设计。而在大中型工程中,主要使用行为计。而在大中型工程中,主要使用行为HDLHDL,其主流语言是其主流语言是Verilog HDLVerilog HDL和和VHDLVHDL。它们都是。它们都是美国电气电子工程师学会(美国电气电子工程师学会(IEEEIEEE)的标准,其)的标准,其共同特点有:语言与芯片工艺无关,利于自顶共同特点有:语言与芯片工艺无关,利于自顶向下设计,便于模块划分与移植,可移植性好,向下设计,便于模块划分与移植,可移植性好,具有很强的逻辑描述和仿真功能,而且输入效具有很强的逻辑描述和仿真功能,而且输入效率高。率高。典型的FPGA设计流程 功能仿真功能仿真功能仿真也叫前仿
20、真,是在编译之前对用户所功能仿真也叫前仿真,是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。仿真有延迟信息,仅对初步的功能进行检测。仿真前,要先利用波形编辑器和前,要先利用波形编辑器和HDLHDL等建立波形文等建立波形文件和测试向量(将所关心的输入信号组成序列)件和测试向量(将所关心的输入信号组成序列)仿真结果将会生成报告文件和输出信号波形,仿真结果将会生成报告文件和输出信号波形,从中便可以观察各个节点信号的变化。如果发从中便可以观察各个节点信号的变化。如果发现错误,则返回设计以修改逻辑设计。常用的现错误,
21、则返回设计以修改逻辑设计。常用的工具有:工具有:MentorMentor公司的公司的ModelsimModelsim、SynopsysSynopsys公公司的司的VCSVCS。典型的FPGA设计流程 综合综合将较高级抽象层次的描述转化为较低层次的描将较高级抽象层次的描述转化为较低层次的描述。综合优化根据目标与要求优化所生成的逻述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供辑连接,使层次设计平面化,供FPGAFPGA布局布线布局布线软件进行实现。综合优化是指将设计输入编译软件进行实现。综合优化是指将设计输入编译成由与门、或门、非门、成由与门、或门、非门、RAMRAM、触发器
22、等基本、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的逻辑单元组成的逻辑连接网表,而并非真实的门级电路。真实具体的门级电路需要利用门级电路。真实具体的门级电路需要利用FPGAFPGA制造商的布局布线功能,根据综合后生成的标制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。为了能转换成标准的准门级结构网表来产生。为了能转换成标准的门级结构网表,门级结构网表,HDLHDL程序编写必须符合特定综程序编写必须符合特定综合器所要求的风格。常用的工具:合器所要求的风格。常用的工具:synplifysynplify典型的FPGA设计流程 综合后仿真综合后仿真综合后仿真检查综合结果是否和原设
23、计一致。综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不是十分准后的实际情况还有一定的差距,并不是十分准确。目前的综合工具都较为成熟,对于一般的确。目前的综合工具都较为成熟,对于一般的设计可以省略这一步,但如果在布局布线之后设计可以省略这一步,但如果在布局布线之后发现电路结构与设计意图不符,则需要回溯到发现电路结构与设计意图不符,则需
24、要回溯到综合后仿真来确认问题所在。综合后仿真来确认问题所在。典型的FPGA设计流程 设计实现与布局布线设计实现与布局布线设计实现是将综合生成的逻辑网表配置到具体设计实现是将综合生成的逻辑网表配置到具体的的FPGAFPGA芯片上,布局布线是其中最重要的过程。芯片上,布局布线是其中最重要的过程。布局是将逻辑网表中的硬件原语和底层单元合布局是将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间做出选择。往往需要在速度最优和面积最优之间做出选择。布线根据布局的拓扑结构,利用芯片内部的各布线根据布局的拓扑结构,
25、利用芯片内部的各种连线资源,合理正确地连接各个元件。目前,种连线资源,合理正确地连接各个元件。目前,FPGAFPGA的结构非常复杂,特别是在由时序约束条的结构非常复杂,特别是在由时序约束条件时,需要利用时序驱动的引擎进行布局布线。件时,需要利用时序驱动的引擎进行布局布线。布线结束后,软件工具会自动生成报告,提供布线结束后,软件工具会自动生成报告,提供有关设计中各部分资源的使用情况。有关设计中各部分资源的使用情况。典型的FPGA设计流程 时序仿真时序仿真也叫后仿真,是指将布局布线的延时信息反注也叫后仿真,是指将布局布线的延时信息反注解到设计网表中来检测有无时序违规(不满足解到设计网表中来检测有无
展开阅读全文