资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,曲阜师范大学 计算机科学学院,*,嵌入式系统原理,第,2,讲,计算机科学学院 于山山主讲,可编程逻辑器件和,IP,核,本章主要授课内容,集成电路的制造流程,电子设计自动化,可编程逻辑器件,FPGA/CPLD,FPGA,应用举例,硅知识产权核(,IP,核),片上总线,低功耗设计原理,9/16/2024,2,曲阜师范大学 计算机科学学院,2.1,集成电路制造流程简介,集成电路厂所生产的产品实际上包括两大部分:晶圆切片(,die,也简称为晶圆)和超大规模集成电路芯片(,chip,可简称为芯片)。,晶圆切片是一片像镜子一样的光滑圆形薄片,是供其后芯片生产工序深加工的原材料。,一个晶圆上可以印刷多个裸晶的电路版图,芯片制造完毕后从一个晶圆上切割出许多裸晶,对单个裸晶进行测试得到质量合格的成品裸晶,将裸晶进行封装就得到芯片,芯片经过严格的测试就获得了成品芯片,9/16/2024,3,曲阜师范大学 计算机科学学院,芯片制造基本流程图解,9/16/2024,4,曲阜师范大学 计算机科学学院,芯片原材料,硅锭,硅锭是生产芯片的原材料,9/16/2024,5,曲阜师范大学 计算机科学学院,硅锭切片,晶圆,9/16/2024,6,曲阜师范大学 计算机科学学院,将晶圆切割成裸晶,一个晶圆片上再切割成许多裸晶(也叫管芯),9/16/2024,7,曲阜师范大学 计算机科学学院,裸晶上印制版图,右边给出了裸晶的实例照片。注意四周是引脚,9/16/2024,8,曲阜师范大学 计算机科学学院,处理器芯片的版图照片之一,Sun,公司的,UltraSparc,IV+,处理器版图,9/16/2024,9,曲阜师范大学 计算机科学学院,处理器芯片的版图照片之二,AMD,公司的,64,位双核处理器,Opteron,9/16/2024,10,曲阜师范大学 计算机科学学院,处理器芯片的版图照片之三,Intel,公司的,Itanium2,处理器,代号,Madison,9/16/2024,11,曲阜师范大学 计算机科学学院,多个裸晶可以封装在一个芯片内,双,CPU,核的芯片结构,9/16/2024,12,曲阜师范大学 计算机科学学院,2.2,电子设计自动化,电子设计自动化,Electronic Design Automation,,,EDA,EDA,是先进的电子系统设计方法和开发工具,EDA,以计算机为主要工具,对使用硬件描述语言(,HDL,,,Hardware Description Language,)为描述手段完成的数字系统设计文件,自动地完成逻辑编译、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子系统功能。,9/16/2024,13,曲阜师范大学 计算机科学学院,EDA,目标,利用,EDA,技术进行电子系统设计,最后实现的目标电路有,3,种类型。,全定制或半定制专用集成电路,ASIC,:,Application Specific Integrated Circuits,FPGA/CPLD,(或称可编程,ASIC,)开发应用,印制电路板,PCB,,,Printed Circuit Board,9/16/2024,14,曲阜师范大学 计算机科学学院,数字系统硬件抽象模型,设计层次,行为域,结构域,物理域,系统级,自然语言描述的系统功能,部件功能描述,部件及它们之间连接的方框图,芯片、模块、电路板以及子系统的物理划分。,芯片级,算法,硬件模块、数据结构的互连体,部件之间的物理连接,寄存器级(,RTL,),数据流图、状态机、状态转移表。,ALU,、,MUX,、寄存器、,BUS,、微定序器、微存储器等。,宏单元,逻辑级(门级),布尔方程、卡诺图、,Z,变换,门电路、触发器、锁存器等元件构成的电路。,标准单元布图,电路级,电流、电压的微分方程,晶体管、电阻、电容、电感等,晶体管布图,9/16/2024,15,曲阜师范大学 计算机科学学院,ASIC,设计流程,9/16/2024,16,曲阜师范大学 计算机科学学院,自顶向下法的,ASIC,设计方法,第,1,步 概念设计,第,2,步 系统架构设计与软硬件划分,第,3,步 行为级描述,第,4,步 构建模块与接口,第,5,步 功能仿真,第,6,步 逻辑综合与优化,第,7,步 布局布线设计,第,8,步 时序仿真,第,9,步 适配和验证,第,10,步 硬件测试,9/16/2024,17,曲阜师范大学 计算机科学学院,硬件描述语言,主流的,HDL,有,VHDL,、,Verilog,、,System C,、,Superlog,和,SystemVerilog,等。,下面分别介绍,9/16/2024,18,曲阜师范大学 计算机科学学院,VHDL,VHDL,的英文全称为:,Very High-Speed Hardware,Descreption,Language,。它是,1985,年在美国国防部支持下推出的。,1987,年由,IEEE,(电气电子工程师协会,,Institute of Electrical and Electronics Engineers,)将,VHDL,制定为标准。参考手册为,IEEE VHDL,语言参考手册标准草案,1076/B,版,于,1987,年批准,称为,IEEE 1076-1987,。,1993,年和,1997,年,IEEE,又对,VHDL,标准进行了修订。,9/16/2024,19,曲阜师范大学 计算机科学学院,Verilog,Verilog,HDL,是在,1983,年由,GDA,(,GateWay,Design Automation,)公司为其模拟器产品开发的硬件描述语言。,1989,年,,Cadence,公司收购了,GDA,公司,,Verilog,HDL,语言成为,Cadence,公司的产品。,1990,年,,Cadence,公司决定公开,Verilog,HDL,语言,于是成立了,OVI,(开放,Verilog,国际,,Open,Verilog,International,)组织,负责促进,Verilog,HDL,语言的推广。,基于,Verilog,HDL,的优越性,,IEEE,于,1995,年制定了,Verilog,HDL,的,IEEE,标准,即,Verilog,HDL 1364-1995,;,2001,年发布了,Verilog,HDL 1364-2001,标准。,9/16/2024,20,曲阜师范大学 计算机科学学院,SystemC,SystemC,是由,Synopsys,公司和,CoWare,公司合作开发的。,1999,年,9,月,27,日,,40,多家世界著名的,EDA,公司、,IP,公司、半导体公司和嵌入式软件公司宣布成立“开放式,SystemC,联盟”。,SystemC,从,1999,年,9,月联盟建立初期的,0.9,版本开始更新,从,1.0,版到,1.1,版,一直到,2001,年,10,月推出了最新的,2.0,版。,SystemC,利用流行的,C+,编译器,在没有对,C+,增加新的语言构件的基础上,利用类的概念对,C+,进行了扩充,加入了一个类库和仿真核。设计者能利用它有效地创建软件算法、硬件结构和系统设计模型。,9/16/2024,21,曲阜师范大学 计算机科学学院,SystemVerilog,SystemVerilog,是,IEEE,于,2005,年颁布的工业界第一个统一硬件描述和硬件验证的标准,命名为,IEEE 1800,标准,在,IEEE 1364,标准基础上产生。,SystemVerilog,增加了创建和验证抽象结构的层模型功能,可以提供对深流水线和高端芯片设计的抽象描述。它是新的硬件设计规范,特别适用于基于知识产权、大数量逻辑门和密集总线之类的芯片,提升了这类芯片的设计、仿真和验证效率。,9/16/2024,22,曲阜师范大学 计算机科学学院,2.3,可编程逻辑器件,可编程逻辑器件,Programmable Logic Device,,,PLD,数字,ASIC,的重要分支,是半导体电路厂商生产的一种通用性半定制集成电路。用户通过对,PLD,编程可以实现所需要的逻辑功能。,9/16/2024,23,曲阜师范大学 计算机科学学院,两种类型的,PLD,在,PLD,器件中有重要的两大类:,复杂可编程逻辑器件,CPLD,:,Complex Programmable Logic Device,现场可编程门阵列,FPGA,:,Field Programmable Gate Array,两者功能基本相同,只是实现原理略有不同。,9/16/2024,24,曲阜师范大学 计算机科学学院,CPLD,和,FPGA,的基本构成,以,乘积项结构方式构成逻辑行为的器件,称为,CPLD,,如赛灵思(,Xilinx,)公司的,XC9500,系列、莱迪斯(,Lattice,)公司的,ispLSI,系列、,Altera,的,MAX7000S,系列等;,以,查表法结构方式构成逻辑行为的器件,称为,FPGA,,如,Altera,的,FLEX10K,、,ACEX1K,或,Cyclone,系列、,Xilinx,的,SPARTAN,系列和,Virtex,系列等。,9/16/2024,25,曲阜师范大学 计算机科学学院,乘积项实现,PLD,的示意图,OR Matrix & AND Matrix,9/16/2024,26,曲阜师范大学 计算机科学学院,ROM, PAL & PLA,PLA,PROM,PAL,I,5,I,4,O,0,I,3,I,2,I,1,I,0,O,1,O,2,O,3,Programmable AND array,Programmable,OR array,I,5,I,4,O,0,I,3,I,2,I,1,I,0,O,1,O,2,O,3,Programmable AND array,Fixed OR array,O,0,I,3,I,2,I,1,I,0,O,1,O,2,O,3,Fixed AND array,Programmable,OR array,与或阵列 均可编程,与阵列 可编程 或阵列 固定,或阵列 可编程 与阵列 固定,9/16/2024,27,曲阜师范大学 计算机科学学院,查找表(,Look-Up-Table,)的例子,一个,4,输入的与门,实际逻辑电路,查找表实现,a,b,c,d,输入,逻辑输出,地址,RAM,值,0000,0,0000,0,0001,0,0001,0,。,0,。,0,。,。,。,。,1111,1,1111,1,9/16/2024,28,曲阜师范大学 计算机科学学院,CPLD,和,FPGA,的基本区别,主要特点,CPLD,FPGA,逻辑电路主要性质,组合逻辑,时序逻辑,目标电路适应性,触发器有限而乘积项丰富,触发器丰富,时序,延迟均匀,并且可预测,较大的延迟,不可预测,编程灵活性,小,大,编程方式,基于电子熔丝编程,基于,E,2,PROM,或,FLASH,编程,编程次数,大约一万次,任意次,工作中可编程,布线结构与逻辑实现,复杂度低,复杂度高,程序信息易失性,系统断电时不丢失,系统断电时丢失,保密性,好,差,使用方便性,高,低,功耗,相对低,相对高,集成度,低,高,9/16/2024,29,曲阜师范大学 计算机科学学院,CPLD/FPGA,的结构特点,它们都由三大部分组成:,可编程二维的逻辑阵列块,构成了,PLD,器件的逻辑组成核心;,可编程的输入,/,输出块;,可编程的连接逻辑块的互连资源,连线资源由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入,/,输出块之间的连接。,9/16/2024,30,曲阜师范大学 计算机科学学院,典型,CPLD,结构图(,Altera,公司,MAX7000,系列),9/16/2024,31,曲阜师范大学 计算机科学学院,典型,FPGA,结构图(赛灵思公司,Virtex,系列),9/16/2024,32,曲阜师范大学 计算机科学学院,主流,CPLD/FPGA,开发工具,流行的,CPLD/FPGA,开发工具主要来自,PLD,生产商。例如:,Xilinx,公司的,Foundation,;,Altera,公司的,Synplify,Pro,;,Lattice,公司的,ISP,Synario,;此外还包括第三方公司提供的,EDA,软件。,这些工具都属于集成开发环境,集成了编译、仿真、测试、下载等工具。,下面简单介绍三个开发工具:,MAX+PLUS II,、,Quartus,II,和,Synplify,Pro,。,9/16/2024,33,曲阜师范大学 计算机科学学院,MAX+PLUS II,MAX+PLUS II,是,Altera,公司推出的的第三代,PLD,开发系统,具有开放界面,可与其他工业标准的,EDA,工具相连接;提供与结构无关的设计环境,可以在多种硬件平台环境下运行;提供丰富的逻辑功能库供设计人员调用;支持各种,HDL,语言的设计输入,包括,VHDL,、,Verilog,和,Altera,公司自己的硬件描述语言,AHDL,。,MAX+PLUS II,适合初学者使用。,9/16/2024,34,曲阜师范大学 计算机科学学院,Quartus,II,Quartus,II,是,Altera,公司的第四代,PLD,开发系统,主要用于设计,6,万,100,万门的大规模,FPGA/CPLD,,是第,1,个支持基于知识产权(,IP,)系统设计的软件;它是在,MAX+PLUS II,基础上升级产生的,基本操作与,MAX+PLUS II,有相似之处。软件运行界面如下图所示。,9/16/2024,35,曲阜师范大学 计算机科学学院,Quartus,II,界面图,9/16/2024,36,曲阜师范大学 计算机科学学院,Quartus,II,的特点,使用,Quartus,II,可完成从设计输入、逻辑综合、仿真到下载的整个设计过程,而且,Quartus,II,也可以直接调用,Synplify,Pro,、,Leonardo Spectrum,以及,ModelSim,等第三方,EDA,工具来完成设计的逻辑综合和仿真。,Quartus,II,支持多种设计输入方式。它与,MATLAB,和,DSP Builder,结合可以进行基于,FPGA,的,DSP,系统开发,方便且快捷;还可以与,SOPC Builder,结合,实现,SOPC,系统的开发。,9/16/2024,37,曲阜师范大学 计算机科学学院,Synplify,Pro,Synplify,Pro,或者,Synplify,是由位于美国加州,Sunnyvale,的,Synplicity,公司推出的专门用于可编程器件,FPGA/CPLD,的逻辑综合工具,它支持,Verilog,HDL,和,VHDL,高层次设计描述,在综合优化方面性能优异,应用广泛。,Synplify,Pro,或者,Synplify,支持,Verilog,1364,1995,标准和,VHDL 1076,1993,标准,能以很高的效率将,Verilog,/VHDL,设计文件转换为针对选定器件的标准网表,并提供相应设计环境的配置文件,在逻辑综合后还可以生成,Verilog,和,VHDL,仿真网表,以便对原设计进行功能仿真。,9/16/2024,38,曲阜师范大学 计算机科学学院,可编程逻辑器件设计流程,9/16/2024,39,曲阜师范大学 计算机科学学院,2.5,系统级芯片,硅知识产权和知识产权核(,IP,核),系统芯片,IP,核标准化基础,IP,核形态与优选原则,9/16/2024,40,曲阜师范大学 计算机科学学院,知识产权与硅知识产权,知识产权(,IP,:,Intellectual Property,)包含版权、商标、专利权、集成电路布图设计和植物品种权等。,本课程讲解的知识产权主要涉及集成电路布图设计。通常称这一类知识产权为硅知识产权(,Silicon Intellectual Property,)。,下面对术语,IP,如果不特别说明,均指硅知识产权或者集成电路布图设计的知识产权。,9/16/2024,41,曲阜师范大学 计算机科学学院,IP,历史溯源,IP,的最初出现大约在,20,世纪,90,年代初。为了降低成本,减少重复开发工作量,集成电路制造商将合格的经过验证的电路设计结果文件存储在所谓函数库的数据库中,供设计师在日后进行类似设计中再利用。目前,集成电路设计行业中广泛使用了函数库,从而有效地提高了工作效率。,函数库中主要有三种类型的库文件,即逻辑门级库文件,寄存器传输级库文件和行为级库文件。,9/16/2024,42,曲阜师范大学 计算机科学学院,IC,设计中的核与核库文件,当设计师进行系统级,IC,设计时,不再对行为级库文件的内部电路进行设计,往往直接把行为级库里的部件文件当作,IC,子模块加以调用。这些先前完成的,IC,设计部件作为整个,IC,电路一部分实现形式存在,具有固定的不可再分解的功能特性。于是,称之为核(,Core,),从而部件级库文件就称为核库。,9/16/2024,43,曲阜师范大学 计算机科学学院,知识产权核与处理器核,核库文件是集成电路的布图设计,属于知识产权的范畴,于是核库中各种核文件以及它们的集合称为知识产权(,Intellectual Property,),简称,IP,;,又由于单个知识产权是不可再分解的,所以核文件也称为知识产权核或者,IP,核(,IP Core,:,Intellectual Property Core,)。特别地,人们把处理器的核库文件称为处理器核(,Processor Core,)。,9/16/2024,44,曲阜师范大学 计算机科学学院,IP,核的五个基本特征:,第三方使用;,按照复用原则设计;,可读性强;,完备的可测性;,端口定义标准化。,9/16/2024,45,曲阜师范大学 计算机科学学院,系统芯片(,SoC,),也称为片上系统,SoC,,,System on chip,,或者,System on a chip,。,基本定义是:以知识产权核为设计基础,在单个芯片上集成处理器、存储器、各种接口等部件,组成一个部分完整的计算机系统,可以完成特定的应用功能。,系统芯片是单功能集成电路芯片的跨越式发展。,目前,大多数,32,位的嵌入式处理器芯片都是,SoC,。,9/16/2024,46,曲阜师范大学 计算机科学学院,系统芯片的主要优点,丰富的系统功能;,客户定制;,提高速度;,降低功耗;,减少体积。,9/16/2024,47,曲阜师范大学 计算机科学学院,系统芯片与,IP,核,系统芯片逐渐成为集成电路设计的主流发展趋势。,统计数据也说明了,IP,核的重要性,,2005,年全球,80%,的,SoC,都采用以,IP,核为主的方式进行设计。,现阶段,IC,设计能力和,EDA,工具能力远落后于,SoC,设计工艺的需要,两者间的差距日益加剧,成为制约,SoC,制造和发展的瓶颈。,IP,(核)重用显得十分重要,它可以减少研发成本,缩短研发时间,加速,SoC,上市。,9/16/2024,48,曲阜师范大学 计算机科学学院,IP,库(,IP Repository,),基于,IP,核重用的,SoC,设计工程需要一整套完整的设计环境(,Infrastructure,)支持。其中一个关键部分就是开发一个庞大的可重用,IP,模块(或者,IP,核)库,即,IP,库(,IP Repository,)。,9/16/2024,49,曲阜师范大学 计算机科学学院,IP,核标准化基础,在制造,SoC,过程中必须做到高效地复用,IP,核。为了解决这个问题,需要建立统一的标准和规范。,IP,设计标准化与,IP,使用标准化是,IP,复用的基础。,9/16/2024,50,曲阜师范大学 计算机科学学院,IP,标准化的主要机构,VSIA,虚拟插座接口联盟,,Virtual Socket Interface Alliance,OCP-IP,开放式内核协议国际同盟,,Open Core Protocol International Partnership,SPIRIT,工具流内部,IP,封装集成重用结构,,Structure for Packaging, Integrating and Re-using IP within Tool-flows,IPCG,中国的集成电路,IP,标准工作组,9/16/2024,51,曲阜师范大学 计算机科学学院,IP,核的三种形态,软核,硬核,固核,9/16/2024,52,曲阜师范大学 计算机科学学院,IP,核形态的优选原则,从可被重用频度、可向其它工艺移植可能性、重用灵活性等方面考虑,三种,IP,核的优选次序是:上策选软核、中策选固核、下策选硬核;,从高性能、规范化、有较短上市时间、自行开发工作量尽量少、有支付高价能力的角度考虑,优选次序是:硬核为上策、固核为中策、软核为下策。,9/16/2024,53,曲阜师范大学 计算机科学学院,2.6 IP,核互连与片上总线,将,SoC,内部的多个,IP,核互连起来需要考虑的主要因素有通信结构、通信带宽、时延、数据吞吐率及功耗等。,以下简单地介绍三种,IP,核互连的通信拓扑结构,9/16/2024,54,曲阜师范大学 计算机科学学院,IP,核单共享总线方式,其拓扑结构属于单总线结构,与局域网中一个网段的总线结构相类似。,单共享总线的,IP,核互连方案不够灵活,无法适应不同,IP,核的传输带宽需要,不易扩展。,9/16/2024,55,曲阜师范大学 计算机科学学院,点对点连接方式,适用于两个,IP,核的主,/,从连接。,例如,满足,OCP,(开放式内核协议)的,IP,核使用这种连接方式。,如果两个,OCP,的,IP,核需要点对点通信,则每一个,IP,核都必须有一对主,/,从接口。本方的主接口对应对方的从接口。点对点连接方式的缺点是互连线数量大,功耗较大。,9/16/2024,56,曲阜师范大学 计算机科学学院,多层次,/,多总线互连方式,不论是单共享总线还是多层次,/,多总线型共享总线,都可以称之为片上总线(,OCB,,,On-chip Bus,)。,目前,大多数,SoC,采用片上总线进行,IP,核互连。,9/16/2024,57,曲阜师范大学 计算机科学学院,片上总线分类,可细分为系统总线(,System Bus,)与外围总线(,PeripheralBus,)两种类型。,系统总线用来互连高性能,IP,模块,这些模块包括嵌入式,CPU,(或,MCU,)、,DSP,、主存控制器、,DMA,控制器等。它的特点是带宽要求高、实时响应速度快;,外围总线用来互连性能低、功耗低的设备,是为了满足功耗、便携性、可重用性等方面的特殊要求。系统总线与外围总线之间通过桥接器或者交换矩阵相连。,9/16/2024,58,曲阜师范大学 计算机科学学院,单共享总线结构以及它的进化,9/16/2024,59,曲阜师范大学 计算机科学学院,2.7,低功耗设计基本原理,低功耗设计是嵌入式系统设计的一大特点,涉及硬件和软件,是近几年来较热门的一个研究课题。其研究的内容很多。,下面介绍低功耗设计的基本原理和知识,9/16/2024,60,曲阜师范大学 计算机科学学院,2.7.1,硬件低功耗设计,目前嵌入式系统使用的集成电路以,CMOS,型芯片为主。,CMOS,电路有两种主要功耗来源:动态功耗和静态功耗。,9/16/2024,61,曲阜师范大学 计算机科学学院,CMOS,集成电路的总功耗计算,CMOS,电路功耗,P,总,有以下近似计算公式:,P,总,=,P,动态,+,P,直流开关功耗,+,P,静态,公式,1,公式,1,中的第,1,项和第,2,项是动态功耗,第,3,项是静态功耗。,参看下一页,MOS,反相管功耗分析图。,第,1,项,(,P,动态,),一般占总功耗的,70%90%,。,第,2,项,(,P,直流开关功耗,),一般占总功耗的,10%30%,。,第,3,项,(,P,静态,),一般占不到,1%,的总功耗。,9/16/2024,62,曲阜师范大学 计算机科学学院,细化算式,P,动态,=,aC,L,fV,dd,2,公式,2,其中:,a,为开关系数,即每个时钟周期中发生状态变化器件的个数,,C,L,为负载电容,,f,为电路的工作频率,,V,dd,为电路的电源电压值。,P,直流开关功耗,=,V,dd,I,st,公式,3,其中:,I,st,为短路电流值,,P,直流开关功耗。,P,静态,=,V,dd,I,leakage,公式,4,其中:,I,leakage,为漏电流值。,9/16/2024,63,曲阜师范大学 计算机科学学院,CMOS,反相器电路的功耗分析,9/16/2024,64,曲阜师范大学 计算机科学学院,动态电源管理技术,因为系统各部分的工作负载不相同,系统在每个工作时刻的负载不相同,总会有一部分部件处于闲置状态。所以可以有选择地把闲置的系统部件置于低功耗状态。,等待模式和停止模式都属于低功耗模式。,动态电源管理举例:,S3C44B0X,处理器的时钟和电源管理模块,参看三星公司,S3C44B0X,处理器数据手册,Charpter,5 CLOCK & POWER MANAGEMENT,9/16/2024,65,曲阜师范大学 计算机科学学院,等待模式,CPU,停止工作,但系统时钟并不停止,单片机的外围,I/O,模块也不停止工作;系统功耗降低有限,只相当于工作模式的,50%,70%,。,9/16/2024,66,曲阜师范大学 计算机科学学院,停止模式,系统时钟停止,由外部事件中断重新启动时钟系统时钟,进而唤醒,CPU,继续工作,,CPU,消耗电流可降到微安级。,9/16/2024,67,曲阜师范大学 计算机科学学院,动态电压缩放技术,电压调节子程序首先分析系统工作状态,然后决定最佳工作电压。,9/16/2024,68,曲阜师范大学 计算机科学学院,2.7.2,软件低功耗设计,在嵌入式软件开发过程中也需要采取对应的措施。在编程方面注意以下几个要素:,编译优化技术,减少,CPU,的运算量,避免后台程序长时间无效运行,用“中断”代替“轮询”,硬件软件化,采用快速算法,9/16/2024,69,曲阜师范大学 计算机科学学院,低功耗编译优化技术,由改进的编译器实现,优化编译算法,使得编译调试之后的代码在运行时,能够让各个部件始终工作在最低能耗状态,则对降低功耗非常有利。研究资料表明通过对应用程序的指令功能均衡优化和降低执行频率就有可能比优化前的代码节省,50%,的能量消耗。,9/16/2024,70,曲阜师范大学 计算机科学学院,尽量减少,CPU,的运算量,以时间换空间,将一些运算结果预先算好,做成表格放在,Flash,中,用查表方法替换运行时计算,可以有效减少,CPU,运算工作量;,按照精度进行实时计算,达到误差允许范围就结束,避免超出需要精度的过量计算;尽量使用短的数据类型,例如,尽量使用字符型的,8,位数据替换,16,位的整型数据,尽量使用分数运算而避免浮点数运算等。,9/16/2024,71,曲阜师范大学 计算机科学学院,避免后台程序长时间无效运行,后台程序的执行往往是用户察觉不到的,因此一旦非必要的后台程序启动,它就会一直执行下去,这样就会消耗很大的电力,同时降低了,CPU,的执行能力。,程序员应当做到后台程序只在必要的情况下执行,并且任务完成后能够自行推出运行态。,9/16/2024,72,曲阜师范大学 计算机科学学院,用“中断”代替“轮询”,轮询方式输入输出会消耗大量,CPU,时间,因此也消耗了大量能量。因此在嵌入式设计中应尽量避免使用轮询方式。使用中断方式,,CPU,可以什么不做,甚至可以进入等待模式或停止模式,直到中断事件到来为止。,9/16/2024,73,曲阜师范大学 计算机科学学院,硬件软件化,只要是硬件电路,就必定要消耗功率。在嵌入式系统总体设计中,遵循硬件软件化原则,尽量压缩硬件部件,用软件来替换用硬件实现的功能。例如在许多手持智能仪表中用到的信号处理电路、抗干扰电路、对数放大器电路、数值变换电路。,9/16/2024,74,曲阜师范大学 计算机科学学院,采用快速算法,选择精巧算法可以大大减少运行时间。例如,在数字信号处理中采用,FFT,算法和快速卷积算法,在分组密码计算中利用桶型移位器做快速移位,这些都可以节省大量的运算时间。另外,在精度允许情况下,应该尽量使用简单函数代替复杂函数作近似。,9/16/2024,75,曲阜师范大学 计算机科学学院,第,2,讲重点,数字系统硬件抽象模型,可编程逻辑器件,FPGA/CPLD,主流硬件描述语言,可编程逻辑器件,CPLD,和,FPGA,的基本构成,知识产权与硅知识产权,IP,核的五个基本特征,系统芯片与系统芯片的主要优点,9/16/2024,76,曲阜师范大学 计算机科学学院,第,2,讲重点(续),IP,核标准化基础,虚拟元件概念和,OCP,协议,三种,IP,核形态和它们的优选原则,IP,核互连的三种通信拓扑结构,硬件低功耗设计原则,软件低功耗设计原则,9/16/2024,77,曲阜师范大学 计算机科学学院,
展开阅读全文