资源描述
Click to edit Master title style,Body Text(Bullet is Wingdings,80%,24 point bold Arial,indent 0.4),Second Level(Bullet is Wingdings,70%of text;22 point Arial,indent 0.5 and 0.8),Third Level(Bullet is Wingdings,60%of text;20 point Arial,indent at 1.1 and 1.4.),*,i-,第一章 集成电路,EDA,设计概述,1.1,数字系统设计,1.2EDA,技术,1.3IP,核复用技术与,SOC,1.4,实例演示:电子秒表电路的设计,内容概要,1.1,数字系统设计,问题的提出,(,设计要求,需求分析,),传统的数字系统设计方法,现代的(,EDA,)数字系统设计方法,内容概要,3,问题的提出,设计一个,电子秒表电路,,使之完成以下功能:,按,0.01s,的步长进行计时;,具有异步清零和启动,/,停止计数功能;,并用数码管显示其秒高位、秒低位,百分秒高位、百分秒低位。,为便于显示,秒和百分秒信号均采用,BCD,码计数方式。,4,解决方案,1,传统的数字系统设计方法,1.,根据设计要求划分功能模块;,2.,确定输入和输出的关系,画出,真值表,;,3.,由真值表写出,逻辑表达式,;,4.,利用公式或卡诺图进行,人工化简,;,5.,根据化简后的逻辑表达式,画出电路原理图,;,6.,在面包板上进行实验,,验证,电路的正确性;,7.,若无错误,再在透明薄膜上用贴图符号,贴,PCB,图,;,8.,检查后送制板厂制板;,9.,对,PCB,板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。,当然,根据我们学的知识,还可以用单片机,(,或,DSP)+,外围电路实现,编写单片机程序,搭积木的方式!,基于,电路板,的设计方法,采用固定功能的器件(通用型器件),通过设计,电路板,来实现系统功能,数字电路实验课,传统的数字系统设计方法,5,效率低下,所有这一切,几乎都是手工完成!,设计周期很长;,容易出错;,芯片种类多,数量大,受市场的限制;,设计灵活性差;,产品体积大。,特点,采用,自下而上,(,Bottom Up,)的设计方法,采用,通用型,逻辑器件,搭积木式的方式,在系统硬件设计的后期进行仿真和调试,主要设计文件是,电路原理图,,PCB,版图,缺点,6,解决方案,2,现代的数字系统设计方法,首先在计算机上安装,EDA,软件,它们能帮助设计者自动完成几乎所有的设计过程;再选择合适的,PLD,芯片,可以在一片芯片中实现整个数字系统。,基于,芯片,的设计方法,采用,PLD,(可编程逻辑器件,FPGA/CLPD,),利用,EDA,开发工具,通过,芯片,设计来实现系统功能。,EDA,软件,空白,PLD,+,数字系统,编程,+,HDL,(,Verilog,),现代的数字系统设计方法,通常采用自上而下(,Top Down,)的设计方法,采用可编程逻辑器件,在系统硬件设计的早期进行仿真,主要设计文件是用硬件描述语言编写的源程序,降低了硬件电路设计难度,特点,优点,:,效率高,所有这一切,几乎都是借助计算机利用,EDA,软件,自动,完成!,容易检查错误,便于修改;,设计周期短、成功率很高;,产品体积小。,数字系统的两种设计方法比较,特 点,传统方法,现代方法,采用器件,通用型器件(如,74,系列),PLD(FPGA/CPLD),设计对象,电路板,芯片,设计方法,自下而上,自上而下,仿真时期,系统硬件设计后期,系统硬件设计早期,主要设计文件,电路原理图,HDL,语言编写的程序,9,数字系统的设计,1.,自上而下的设计(,Top Down,),占据主导地位,辅助的设计手段,功能模块划分,子模块设计,系统级设计,功能级描述,功能仿真,门级描述,时序仿真,若仿真未通过,则需修改设计!,2.,自下而上的设计(,Bottom Up,),设计基本单元构成子模块子系统系统,1.2,EDA,技术,什么是,EDA,技术,EDA,技术的范畴,EDA,技术的历史,EDA,技术的特点,EDA,技术的发展现状,EDA,技术的发展方向,内容概要,什么是,EDA,技术?,EDA,(,Electronic Design Automation,,电子设计自动化),是在计算机的辅助下完成电子产品,设计方案的输入、处理、仿真和下载,的,的一种先进的,硬件设计,技术!,是立足于计算机工作平台开发出来的一整套先进的设计电子系统的,软件工具,。,是,微电子技术,中的核心技术之一,是现代集成系统设计的重要方法。,计算机并口,器件编程接口,PCB Board,PLD,编程目标文件,EDA,技术的范畴,IC,版图设计,PLD,设计,电路设计,PCB,设计,模拟电路,数字电路,混合电路,设计输入,逻辑综合,仿真,编程下载,本课程内容,!,芯片设计,电路设计,EDA,技术的历史,EDA,技术的历史,以,计算机,科学、,微电子,技术的发展为基础,汇集了计算机图形学、拓扑学和计算数学等学科的最新成果,3,个发展阶段,(,1,),CAD,(,Computer-Aided Design,)阶段(,19641978,),“,上帝,时代,”,最早的,EDA,技术:电路模拟、逻辑模拟、,MOS,同步和模拟、,PCB,布局、线路布线和标准电池等技术,只能进行,PCB,板布局布线和简单版图绘制,EDA,技术的历史,(,2,),CAE,(,Computer-Aided Engineering,)阶段(,19781997,),“,英雄,时代,”,电子,CAD,工具逐步完善,单点工具集成化,并从技术上向,CAE,过渡:诞生了先进的布局和布线、逻辑综合、,HDL,语言、模拟加速器和仿真器以及高级综合等技术,(,3,),EDA,阶段(,1993,现在),“,人性,时代,”,微电子工艺飞速发展,工艺水平已达到深亚微米级;晶体管集成度提高到百万门甚至千万门级;因特网开始进入广泛应用阶段,工程师们开始设计系统级芯片,(systems-on-chip),EDA,技术发展到物理校验、布局、逻辑综合、模拟设计以及软件,/,硬件协同设计。,EDA,技术已成为电子设计的重要工具,EDA,技术受制造技术驱动而发展,随微电子技术、计算机技术而发展,EDA,技术的特点,特征,:采用高级语言描述,具有系统级仿真和综合能力,(,1,),采用硬件描述语言,HDL,(,Hardware Description Language,),与原理图设计方法相比:,更适于描述,大规模,的系统,在,抽象,的层次上描述系统的,结构,与,功能,采用,HDL,的,优点,:,语言的公开可利用性,设计与工艺的无关性,宽范围的描述能力,系统级、算法级、,RTL,级、门级、开关级,便于组织大规模系统的设计,便于设计的复用、交流、保存与修改,EDA,技术的特点,(,2,),高层综合和优化,支持系统级的综合与优化。,综合,:通过,EDA,工具把用,HDL,语言描述的模块自动转换为用门级电路网表表示的模块,即将电路映射到器件的专用基本结构。,优化,:采用优化算法,将设计简化,去除冗余项,提高系统运行速度。,(,3,),并行工程,定义,:一种系统化的、集成化的、并行的产品及相关过程(指制造和维护)的开发模式。,现代,EDA,工具建立了并行工程框架结构的开发环境,支持多人同时并行进行设计。,一种软件平台结构,(,4,),开放性和标准化,开放性,:,EDA,工具只要具有符合标准的开放式框架结构,就可以接纳其他厂商的,EDA,工具一起进行设计,资源共享,标准化,:,随着设计数据格式标准化,EDA,框架标准化,即在同一个工作站上集成各具特色的多种,EDA,工具,它们能够协同工作。,17,EDA,技术的发展现状,EDA,技术在进入,21,世纪后,得到了更大的发展,突出表现在以下几个方面:,使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;,在,设计,和,仿真,两方面支持标准硬件描述语言的功能强大的,EDA,软件,不断推出。,电子技术全方位纳入,EDA,领域;,EDA,使得电子领域各学科的界限更加模糊,更加互为包容;,更大规模的,FPGA,和,CPLD,器件不断推出;,基于,EDA,工具的,ASIC,设计标准单元,已涵盖大规模电子系统及,IP,核模块;,软硬件,IP,核,在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;,SoC,高效低成本设计技术的成熟。,18,EDA,技术的发展方向,(,1,),将沿着智能化、高性能、高层次综合方向发展,(,2,),支持软硬件协同设计,芯片和芯片工作所需的应用软件同时设计,同时完成。,采用协同设计,可以及早发现问题,保证一次设计成功,缩短开发周期,这在设计大系统时尤为重要。,(,3,),采用描述系统的新的设计语言,这种语言统一对硬件和软件进行描述和定义,从开始设计功能参数的提出直至最终的验证。,能够使设计过程一体化;设计效率更高;而且必须从现存的方法学中深化出来,。,(,4,),推出更好的仿真和验证工具,随着单一芯片上逻辑门数量超过百万门,对设计的验证工作将变得比设计任务本身还要艰难。,19,1.3 IP,核复用技术与,SOC,一、,IP,核复用技术,二、片上系统,SOC,三、可编程片上系统,SOPC,内容概要,20,1.3 IP,核复用技术与,SOC,一、,IP,核复用技术,1,IP,与,IP,核,IP,(,Intellectual Property,),原意为知识产权、著作权,在,IC,设计领域指实现某种功能的设计。,完成某种功能的,虚拟,电路模块。又称为,虚拟部件,(,VC,,,Virtual Component,)。,它是以,HDL,语言描述的构成,VLSI,中各种功能单元的,软件群,。,IP,核,(,IP,模块),IP,核分为:软核、硬核及固核,21,1.3 IP,核复用技术与,SOC,(,1,)软核(,Soft Core,),定义:功能经过验证的、可综合的、实现后电路结构总门数在,5000,门以上的,HDL,模型。,指在寄存器级或门级对电路功能用,HDL,进行描述的设计模块;,用户可修改,具有最大的灵活性,;,主要用于接口、算法、编码、译码和加密模块的设计。,(,2,)硬核(,Hard Core,),指以,版图,形式描述的设计模块。,基于一定的设计工艺,针对某一具体芯片,,用户不能改动,。,常用硬核有存储器、模拟器件及接口。,(,3,)固核(,Firm Core,),介于硬核和软核之间;,用户可重新定义关键的性能参数,内部连线可重新优化。,22,1.3 IP,核复用技术与,SOC,典型的,IP,核,微处理器核(,MPU core,),数字信号处理器核(,DSP core,),存储器核(,Memory core,),特定功能核(如,MPEG,),标准接口核(,Ethernet,、,USB,、,PCI,及,IEEE1394,核,),处理器核(,MCU,),RAM/ROM,DSP,核,A/D,D/A,PCI,接口或,USB,接口,I/O,单,元,由,IP,核构成片上系统,SOC,23,1.3 IP,核复用技术与,SOC,2,IP,核复用(,IP Reuse,),越来越多的公司投入,IP,核的开发,,IP,核已作为一种商品广泛销售和使用。,运用,IP,核技术可以缩短硬件开发时间,避免重复劳动,保证大规模器件的性能,提高其可靠性。,电子系统的设计:自行设计,IP,或购买第三方的,IP,在功能上进行整合迅速形成产品,24,1.3 IP,核复用技术与,SOC,3.,虚拟插座接口,VSI,(,Virtual Socket Interface,)标准,为便于,IP,的开发和复用,需要制定一个统一的标准。,一些,IC,厂家、,EDA,公司、,IP,公司联合成立了虚拟插座接口协会(,Virtual Socket Interface Association,),制定了关于,IP,产品的标准与规范,VSI,标准。,4.IP,产品,(,1,),虚拟器件,:,只提供门级和寄存器传输级的,HDL,源代码,可综合,与器件结构,有关,(,2,),虚拟接口模型,:,提供系统级代码,与器件结构,无关,对应具体的,PLD,器件,通用模型,25,1.3 IP,核复用技术与,SOC,二、,片上,系统(,SOC,,,System on a Chip,),1,定义,把一个完整的系统集成在一个芯片上,或用一个芯片实现一个功能完整的系统。,包括,CPU,、,I/O,接口、存储器,以及一些重要的模拟集成电路。,2.,实现方式,(,1,)采用全定制方式,将设计的网表文件提交给半导体厂家流片,缺点,:风险高,费用大,周期长,(,2,)采用,PLD,CPLD,和,FPGA,集成度越来越高,速度越来越快,用户通过编程完成设计,优点,:风险小,费用低,周期短,SOC,系统芯片,将系统的全部功能模块集成到单一半导体芯片上,;,SOC,实例,SOC,功能模块有:,CPU,、,RAM,、,ROM,、,DSP,、无线模块、模拟和数字模块、网络模块、硬核等;,SOC,技术已经成为利用深亚微米技术的关键,,EDA,技术已经成为,SOC,设计的瓶颈。,SOC,的设计需求正在使得,IC,设计和,EDA,技术发生根本性的变革。,29,1.3 IP,核复用技术与,SOC,微电子制造工艺的进步,为,SOC,提供硬件基础,EDA,软件技术的提高,为,SOC,提供开发平台,版图级,(,物理版图,),设计复杂程度,设计效率,图,EDA,工具向高层化发展,晶体管级,(,原理图,),逻辑门级,(,原理图,),寄存器级,(HDL,描述,),系统级,(IP,模块,),30,1.3 IP,核复用技术与,SOC,三、,可编程片,上系统,SOPC(System,on Programmable Chip),1,定义,SOPC,即是将计算机核心的,CPU,和操作系统结合在一片单片的,PLD,芯片中,允许设计人员直接开发具有自主产权的计算机系统。,2.,基本特征,至少包含一个嵌入式处理器内核;,具有小容量片内高速,RAM,资源;,丰富的,IP,核资源可供选择;,足够的片上可编程逻辑资源;,处理器调试接口和,FPGA,编程接口;,可能包含部分可编程模拟电路;,单芯片、低功耗、微封装。,31,1.3 IP,核复用技术与,SOC,3.SOPC,设计方案,目前国际上大多数,SOPC,设计开发都利用了,EDA,工具、硬件描述语言(,HDL,)和,IP,核。,首先把片内通用的硬件功能集成为一个硬宏格式,即,IP,软核,以获得最大的性能和最小的面积,可以加快整个设计流程,缩短开发周期;,其次确定把这些,IP,模块和片内的其它功能连接在一起的体系和总线结构,以实现最大的系统级性能和效率;,还需要几类设计工具:,常规的硬件设计工具,嵌入式软件设计工具,新的系统级设计工具,建模支持和调试工具,32,1.3 IP,核复用技术与,SOC,4.,支持,SOPC,设计的器件,Altera,公司,APEX 20K,、,APEX II,系列(较早期产品);,Cyclone,、,Cyclone,系列(支持,Nios,II,嵌入式处理器);,Stratix,、,Stratix,系列(支持,Nios,II,嵌入式处理器);,Xilinx,公司,Virtex,-Pro,是,Xilinx,公司第一款集,PowerPC,和高速收发模块的,FPGA,Virtex-4,Xilinx,公司最新一代高端,FPGA,产品,包含三个子系列:,LX,、,SX,、,FX,,将逐步取代,VirtexII,,,VirtexII,-Pro,33,学习,EDA,到底有什么用呢?,真有趣,可以按自己的想法设计一个芯片!,我也要参加全国大学生电子设计竞赛!,呀,毕业设计和冯如杯正好能用得上哎!,原来在一个芯片里就可以设计一个完整的计算机系统呀!,找工作时也算得上一技之长哦!,34,本课程要学习的,PLD,设计,EDA,工具软件,1.,Quartus,(XILINX ISE),可以完成,PLD,的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程,同时还支持,SOPC,(可编程片上系统)设计开发,2.,ModelSim,美国,Mentor Graphics,公司的子公司,Model Technology,开发的仿真工具,目前版本:,?,业界使用最广泛的,HDL,语言仿真器之一,支持,VHDL,、,Verilog,HDL,或混合,HDL,语言设计,仿真,功能强大,,仿真,速度快,!,35,实例演示:电子秒表电路的设计,假设系统时钟为,50MHz,,,PLD,器件为,EP1S10F780C6,。,设计思路,采用自顶向下的设计方法:,需要两个,分频器,,将,50MHz,分频为,10KHz,,将,10KHz,分频为,100Hz,;,需要一个,BCD,码计数器,,可分别对秒和百分秒位,循环计数;,需要一个,译码器,,将,BCD,计数器的输出译码为,7,段显示器的,7,段输入。,36,系统功能框图,bdsec3.0,clk_50MHz,clk_10KHz,分频器,1,BCD,计数器,译码器,译码器,bsec3.0,dsec6.0,sec6.0,cn,clr,T,触发器,startstop,与门,分频器,2,clk_100Hz,bsecd,3.0,bsecm3.0,译码器,译码器,secd6.0,secm6.0,37,采用,Quatus,的,PLD,设计方法,千万记住哦!,1,.,首先在资源管理器下创建一个,工作目录,。,2,.,在,Quatus,或,ISE,中创建一个,工程,。,3,.,子模块设计:每个,模块,可以用,HDL,语言描述,对每个模块进行编译、,仿真,,通过后然后生成模块符号。,4,.,顶层设计:创建一个,顶层图形文件,,将各模块符号放到图中,添加输入、输出引脚,连线;编译,仿真,。,5,.,给输入、输出引脚,分配引脚,号码,编程下载。,工作目录和工程名不能有空格和汉字!,38,演 示,第,1,步,:在资源管理器下,创建一个工作目录,second,。,第,2,步,:启动,Quatus,II,,执行菜单命令“,File New Project Wizard,”,,创建一个工程,工程名为,second,。,若要打开一个已有的工程,则执行“,File Open Project”,命令。,第,3,步,:设计子模块,(,1,)执行菜单命令,“,File New,”,,新建一个文本文件,clkdiv100.v,,采用,Verilog,HDL,语言描述;,(,2,)存盘;,(,3,)指定该子模块为,顶层实体,,执行,“,Processing Start Compilation,”,命令,对其进行,全编译,。,最好每个工程都有自己的工作目录!,39,module,clkdiv100,(,clr,clkin,clkout,count,);,input,clr,clkin,;/,输入端口声明,output,clkout,count,;/,输出端口声明,reg6:0 count;,reg,clkout,;,always(,posedge,clkin,or,negedge,clr,),begin,if(!,clr,)count=0;/,异步清零!低有效,子模块设计,100,分频器,模块,1,10KHz,到,100Hz,的分频电路(采用,Verilog,HDL,语言描述),(2),I/O,说明,(1),端口定义,模块名,(,同文件名,),(3),功能描述,40,子模块设计,100,分频器(续),else if(count6:0=99),begin,clkout,=1;/,clkout,只在计数值为,99,时为,1,count6:0=0;,end,else,begin,clkout,=0;/,clkout,在其他时候都为,0,count6:0=count6:0+1;,end,end,endmodule,续前页,41,子模块设计,BCD,计数器,模块,2,BCD,计数器,module,bcdcnt,(dsec,sec,secd,secm,cn,clkin,clr,);,input,clkin,clr,;/,Tclkin,=0.01s,output3:0,dsec,sec,secd,secm,;,output,cn,;/,秒高位向分钟的进位,reg3:0,dsec,sec,secd,secm,;,reg,cn,;,always(,posedge,clkin,or,negedge,clr,),begin,if(!,clr,),/,(,1,)异步清零!,begin,cn,=0;/,进位信号也必须清零!,dsec3:0=0;sec3:0=0;,secd3:0=0;secm3:0=0;,end,42,子模块设计,BCD,计数器(续,1,),续前页,else,/,(,2,)计数,采用,4,个,if,语句的嵌套,begin,if,(secm3:0=9)/,百分秒低位是否为,9,?,begin,secm3:0=0;,if,(secd3:0=9)/,百分秒高位是否为,9,?,begin,secd3:0=0;,if,(sec3:0=9)/,秒低位是否为,9,?,begin,sec3:0=0;,if,(dsec3:0=5)/,秒高位是否为,5,?,dsec3:0=0;,else,dsec3:0=dsec3:0+1;,end,else,sec3:0=sec3:0+1;,end,else,secd3:0=secd3:0+1;,end,else,secm3:0=secm3:0+1;,43,子模块设计,BCD,计数器(续,2,),续前页,/,(,3,)产生向分钟的进位信号,if,(dsec3:0=5)&(sec3:0=9)&(secd3:0=9)&(secm3:0=9),cn,=1;,else,cn,Create/Update Create Symbol Files for Current File,”,菜单命令,创建模块符号(文件后缀为,.,bsf,)。,45,子模块设计,7,段码译码器,模块,3,7,段,LED,显示器,(,共阳极)译码器。,module,p7seg,(out,data);,input 3:0data;/7,段显示器输入,output 6:0 out;/7,段显示器字段输出,out6:0,相当于,a,b,c,d,e,f,g,reg,6:0 out;,always(data),case,(data),4d0:out=7b0000001;,4d1:out=7b1001111;,4d2:out=7b0010010;,4d3:out=7b0000110;,4d4:out=7b1001100;,4d5:out=7b0100100;,case,语句适于对,同一个,控制信号取不同的值时,输出取不同的值!,46,子模块设计,7,段码译码器(续),4d6:out=7b0100000;,4d7:out=7b0001111;,4d8:out=7b0000000;,4d9:out=7b0000100;,default:out,Assignment Editor,”,菜单命令,Assignment Editor,50,引脚锁定(续),second_download.bdf,51,编程下载,(,2,)将该图形文件设置为,顶层实体,,编译,则生成编程目标文件,second.sof,文件(,编程目标文件自动与其工程同名),;,(,3,)编程下载;,执行,“,Tools Programmer,”,命令,在编程器窗口中 选中,“,Program/Configure,”,复选框;单击,Start,按钮,开始编程下载。若完成编程,则在,Message,窗口中显示,“,Configuration succeeded,”,。,(,4,)在线校验。,利用实验板上的按钮,模拟启动计数、暂停计数和继续计数,以及异步清零功能,然后观察数码管和,LED,的显示,看是否与预定的功能相符。,PLD,器件和,EDA,技术的出现改变了传统的数字系统设计思想,使硬件设计变得简单、高效!,计算机并口,器件编程接口,PCB Board,PLD,编程目标文件,
展开阅读全文