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