为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 第2章 可编程逻辑器件和IP核

第2章 可编程逻辑器件和IP核

2011-05-06 50页 ppt 2MB 19阅读

用户头像

is_638230

暂无简介

举报
第2章 可编程逻辑器件和IP核null《嵌入式系统原理及应用》《嵌入式系统原理及应用》第2章 计算机科学学院 于山山主讲第2章 可编程逻辑器件和IP核第2章 可编程逻辑器件和IP核本章主要授课内容 集成电路的制造流程 电子设计自动化 可编程逻辑器件FPGA/CPLD FPGA应用举例 硅知识产权核(IP核) 片上总线 低功耗设计原理2.1 集成电路制造流程简介2.1 集成电路制造流程简介集成电路厂所生产的产品实际上包括两大部分:晶圆切片(die, 也简称为晶圆)和超大规模集成电路芯片(chip, 可简称为芯片)。 晶圆切片是一片像镜子一样的光滑圆形...
第2章 可编程逻辑器件和IP核
null《嵌入式系统原理及应用》《嵌入式系统原理及应用》第2章 计算机科学学院 于山山主讲第2章 可编程逻辑器件和IP核第2章 可编程逻辑器件和IP核本章主要授课内容 集成电路的制造流程 电子设计自动化 可编程逻辑器件FPGA/CPLD FPGA应用举例 硅知识产权核(IP核) 片上总线 低功耗设计原理2.1 集成电路制造流程简介2.1 集成电路制造流程简介集成电路厂所生产的产品实际上包括两大部分:晶圆切片(die, 也简称为晶圆)和超大规模集成电路芯片(chip, 可简称为芯片)。 晶圆切片是一片像镜子一样的光滑圆形薄片,是供其后芯片生产工序深加工的原材料。 一个晶圆上可以印刷多个裸晶的电路版图 芯片制造完毕后从一个晶圆上切割出许多裸晶 对单个裸晶进行测试得到质量合格的成品裸晶 将裸晶进行封装就得到芯片 芯片经过严格的测试就获得了成品芯片芯片制造基本流程图解芯片制造基本流程图解切片晶圆切块裸晶有图形晶片芯片原材料—硅锭芯片原材料—硅锭硅锭是生产芯片的原材料硅锭切片—晶圆硅锭切片—晶圆将晶圆切割成裸晶将晶圆切割成裸晶一个晶圆片上再切割成许多裸晶(也叫管芯)裸晶上印制版图裸晶上印制版图右边给出了裸晶的实例照片。注意四周是引脚。处理器芯片的版图照片之一处理器芯片的版图照片之一Sun公司的UltraSparc IV+处理器版图处理器芯片的版图照片之二处理器芯片的版图照片之二AMD公司的 64位双核处理器Opteron处理器芯片的版图照片之三处理器芯片的版图照片之三Intel公司的 Itanium2处理器 代号Madison多个裸晶可以封装在一个芯片内多个裸晶可以封装在一个芯片内双CPU核的芯片结构2.2 电子设计自动化2.2 电子设计自动化电子设计自动化 Electronic Design Automation ,EDA EDA是先进的电子系统设计方法和开发工具 EDA以计算机为主要工具,对使用硬件描述语言(HDL,Hardware Description Language)为描述手段完成的数字系统设计文件,自动地完成逻辑编译、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子系统功能。EDA目标EDA目标利用EDA技术进行电子系统设计,最后实现的目标电路有3种类型。 ①全定制或半定制专用集成电路 ASIC:Application Specific Integrated Circuits ②FPGA/CPLD(或称可编程ASIC)开发应用 ③印制电路板 PCB,Printed Circuit Board数字系统硬件抽象模型数字系统硬件抽象模型ASIC设计流程ASIC设计流程自顶向下法的ASIC设计方法自顶向下法的ASIC设计方法第1步 概念设计 第2步 系统架构设计与软硬件划分 第3步 行为级描述 第4步 构建模块与接口 第5步 功能仿真 第6步 逻辑综合与优化 第7步 布局布线设计 第8步 时序仿真 第9步 适配和验证 第10步 硬件测试硬件描述语言 硬件描述语言 主流的HDL有VHDL、Verilog、System C、Superlog和SystemVerilog等。 下面分别介绍 VHDLVHDLVHDL的英文全称为:Very High-Speed Hardware Description Language。它是1985年在美国国防部支持下推出的。1987年由IEEE(电气电子工程师协会,Institute of Electrical and Electronics Engineers)将VHDL制定为。参考手册为IEEE VHDL语言参考手册标准草案1076/B版,于1987年批准,称为IEEE 1076-1987。 1993年和1997年IEEE又对VHDL标准进行了修订。VerilogVerilogVerilog 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标准。SystemCSystemCSystemC是由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++进行了扩充,加入了一个类库和仿真核。设计者能利用它有效地创建软件算法、硬件结构和系统设计模型。SystemVerilogSystemVerilogSystemVerilog是IEEE于2005年颁布的工业界第一个统一硬件描述和硬件验证的标准,命名为IEEE 1800标准,在IEEE 1364标准基础上产生。SystemVerilog增加了创建和验证抽象结构的层模型功能,可以提供对深流水线和高端芯片设计的抽象描述。它是新的硬件设计规范,特别适用于基于知识产权、大数量逻辑门和密集总线之类的芯片,提升了这类芯片的设计、仿真和验证效率。2.3 可编程逻辑器件2.3 可编程逻辑器件可编程逻辑器件 Programmable Logic Device,PLD 数字ASIC的重要分支,是半导体电路厂商生产的一种通用性半定制集成电路。用户通过对PLD编程可以实现所需要的逻辑功能。两种类型的PLD两种类型的PLD在PLD器件中有重要的两大类: 复杂可编程逻辑器件 CPLD:Complex Programmable Logic Device 现场可编程门阵列 FPGA:Field Programmable Gate Array 两者功能基本相同,只是实现原理略有不同。CPLD和FPGA的基本构成CPLD和FPGA的基本构成以乘积项结构方式构成逻辑行为的器件称为CPLD,如赛灵思(Xilinx)公司的XC9500系列、莱迪斯(Lattice)公司的ispLSI系列、Altera的MAX7000S系列等; 以查表法结构方式构成逻辑行为的器件称为FPGA,如Altera的FLEX10K、ACEX1K或Cyclone系列、Xilinx的SPARTAN系列和Virtex系列等。乘积项实现PLD的示意图 OR Matrix & AND Matrix乘积项实现PLD的示意图 OR Matrix & AND MatrixROM, PAL & PLAROM, PAL & PLAPLAPROMPAL与或阵列 均可编程与阵列 可编程 或阵列 固定或阵列 可编程 与阵列 固定查找表(Look-Up-Table)的例子查找表(Look-Up-Table)的例子一个4输入的与门CPLD和FPGA的基本区别CPLD和FPGA的基本区别CPLD/FPGA的结构特点CPLD/FPGA的结构特点它们都由三大部分组成: ①可编程二维的逻辑阵列块,构成了PLD器件的逻辑组成核心; ②可编程的输入/输出块; ③可编程的连接逻辑块的互连资源,连线资源由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。典型CPLD结构图 (Altera公司MAX7000系列)典型CPLD结构图 (Altera公司MAX7000系列)典型FPGA结构图 (赛灵思公司Virtex系列)典型FPGA结构图 (赛灵思公司Virtex系列)主流CPLD/FPGA开发工具主流CPLD/FPGA开发工具流行的CPLD/FPGA开发工具主要来自PLD生产商。例如:Xilinx公司的Foundation;Altera公司的Synplify Pro;Lattice公司的ISP Synario;此外还包括第三方公司提供的EDA软件。 这些工具都属于集成开发环境,集成了编译、仿真、测试、下载等工具。 下面简单介绍三个开发工具:MAX+PLUS II、Quartus II和Synplify Pro。MAX+PLUS IIMAX+PLUS IIMAX+PLUS II是Altera公司推出的的第三代PLD开发系统,具有开放界面,可与其他工业标准的EDA工具相连接;提供与结构无关的设计环境,可以在多种硬件平台环境下运行;提供丰富的逻辑功能库供设计人员调用;支持各种HDL语言的设计输入,包括VHDL、Verilog和Altera公司自己的硬件描述语言AHDL。 MAX+PLUS II适合初学者使用。 Quartus IIQuartus IIQuartus II是Altera公司的第四代PLD开发系统,主要用于设计6万~100万门的大规模FPGA/CPLD,是第1个支持基于知识产权(IP)系统设计的软件;它是在MAX+PLUS II基础上升级产生的,基本操作与MAX+PLUS II有相似之处。软件运行界面如下图所示。Quartus II界面图Quartus II界面图Quartus II的特点Quartus II的特点使用Quartus II可完成从设计输入、逻辑综合、仿真到下载的整个设计过程,而且Quartus II也可以直接调用Synplify Pro、Leonardo Spectrum 以及ModelSim 等第三方EDA 工具来完成设计的逻辑综合和仿真。 Quartus II 支持多种设计输入方式。它与MATLAB 和DSP Builder 结合可以进行基于FPGA 的DSP 系统开发,方便且快捷;还可以与SOPC Builder 结合,实现SOPC 系统的开发。Synplify ProSynplify ProSynplify Pro或者Synplify是由位于美国加州Sunnyvale的Synplicity公司推出的专门用于可编程器件FPGA/CPLD 的逻辑综合工具,它支持Verilog HDL 和VHDL 高层次设计描述,在综合优化方面性能优异,应用广泛。 Synplify Pro或者Synplify 支持Verilog 1364-1995 标准和VHDL 1076-1993 标准,能以很高的效率将Verilog/VHDL 设计文件转换为针对选定器件的标准网表,并提供相应设计环境的配置文件,在逻辑综合后还可以生成Verilog 和VHDL 仿真网表,以便对原设计进行功能仿真。可编程逻辑器件设计流程可编程逻辑器件设计流程2.5 系统级芯片2.5 系统级芯片硅知识产权和知识产权核(IP核) 系统芯片 IP核标准化基础 IP核形态与优选原则 知识产权与硅知识产权知识产权与硅知识产权知识产权(IP:Intellectual Property)包含版权、商标、专利权、集成电路布图设计和植物品种权等。 本课程讲解的知识产权主要涉及集成电路布图设计。通常称这一类知识产权为硅知识产权(Silicon Intellectual Property)。 下面对术语IP如果不特别说明,均指硅知识产权或者集成电路布图设计的知识产权。IP历史溯源IP历史溯源IP的最初出现大约在20世纪90年代初。为了降低成本,减少重复开发工作量,集成电路制造商将合格的经过验证的电路设计结果文件存储在所谓函数库的数据库中,供设计师在日后进行类似设计中再利用。目前,集成电路设计行业中广泛使用了函数库,从而有效地提高了工作效率。 函数库中主要有三种类型的库文件,即逻辑门级库文件,寄存器传输级库文件和行为级库文件。 IC设计中的核与核库文件IC设计中的核与核库文件当设计师进行系统级IC设计时,不再对行为级库文件的内部电路进行设计,往往直接把行为级库里的部件文件当作IC子模块加以调用。这些先前完成的IC设计部件作为整个IC电路一部分实现形式存在,具有固定的不可再分解的功能特性。于是,称之为核(Core),从而部件级库文件就称为核库。 知识产权核与处理器核知识产权核与处理器核核库文件是集成电路的布图设计,属于知识产权的范畴,于是核库中各种核文件以及它们的集合称为知识产权(Intellectual Property),简称IP; 又由于单个知识产权是不可再分解的,所以核文件也称为知识产权核或者IP核( IP Core:Intellectual Property Core )。特别地,人们把处理器的核库文件称为处理器核(Processor Core)。 IP核的五个基本特征:IP核的五个基本特征:第三方使用; 按照复用原则设计; 可读性强; 完备的可测性; 端口定义标准化。系统芯片(SoC)系统芯片(SoC)也称为片上系统 SoC,System on chip,或者 System on a chip。 基本定义是:以知识产权核为设计基础,在单个芯片上集成处理器、存储器、各种接口等部件,组成一个部分完整的计算机系统,可以完成特定的应用功能。 系统芯片是单功能集成电路芯片的跨越式发展。 目前,大多数32位的嵌入式处理器芯片都是SoC。系统芯片的主要优点 系统芯片的主要优点 丰富的系统功能; 客户定制; 提高速度; 降低功耗; 减少体积。系统芯片与IP核系统芯片与IP核系统芯片逐渐成为集成电路设计的主流发展趋势。 统计数据也说明了IP核的重要性,2005年全球80%的SoC都采用以IP核为主的方式进行设计。 现阶段IC设计能力和EDA工具能力远落后于SoC设计工艺的需要,两者间的差距日益加剧,成为制约SoC制造和发展的瓶颈。 IP(核)重用显得十分重要,它可以减少研发成本,缩短研发时间,加速SoC上市。IP库(IP Repository)IP库(IP Repository)基于IP核重用的SoC设计工程需要一整套完整的设计环境(Infrastructure)支持。其中一个关键部分就是开发一个庞大的可重用IP模块(或者IP核)库,即IP库(IP Repository)。IP核标准化基础IP核标准化基础在制造SoC过程中必须做到高效地复用IP核。为了解决这个问题,需要建立统一的标准和规范。 IP设计标准化与IP使用标准化是IP复用的基础。 IP标准化的主要机构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标准工作组IP标准化机构1—VSIAIP标准化机构1—VSIAVSIA成立于1996年9月,是最早出现的国际性IP标准组织。 VSIA的目标是“制订混合和适配(Mix & Match)不同厂商提供的VC(虚拟元件,Virtual Component)的公开标准,加快SoC的开发”。 VSIA成员包括系统设计公司、半导体供应商、EDA公司、IP提供商等。现有的IP标准中的大多数由VSIA制订。 IP核接口应按照标准进行设计IP核接口应按照标准进行设计IP标准化的基本理念 为使不同来源的IP核可以在SOC中进行有效的集成,做到即插即用。 IP核的接口应按照统一的标准进行设计。 IP核的接口层次(Interface Layer)是一种抽象的层次,一个接口层次就是一个转换包,它能够把接口的一个抽象层次转入下一个更加详细的层次。IP核的测试IP核的测试当IP集成进SOC芯片以后,原本IP边界上的I/O端口会嵌入到SOC内部,不能被芯片外界访问到,IP失去了原来的可控制性和可观察性。如何通过SOC芯片的I/O 端口访问到内部的IP,是一个必须解决的问题。 目前,VSIA 和IEEE都提出了一些解决,如IEEE的P1500标准(草案),VSIA测试访问结构标准。IP核测试所需要的硬件结构IP核测试所需要的硬件结构硬件测试结构集成在片内。 包括:包装寄存器(Wrapper Register)、旁路寄存器(Bypass Register)、测试控制模块(Test Control Block)等。 测试结构可完成测试SOC所必需的四种操作模式:正常模式、安全状态(隔离)模式、外部测试模式和内部测试模式。VSIA提出的VCIVSIA提出的VCIVCI(Virtual Component Interface)是定义一个通用接口,以便任何来源的IP都可以在芯片集成者的SoC内进行互连。按这种方式,IP就不再局限为被设计者一次使用。它们可以被反复重用。采用VCI作为自身接口的IP模块即可直接点对点地连接,也可通过带有VCI接口的总线进行互连。虚拟元件接口(VCI)概念示意图 虚拟元件接口(VCI)概念示意图 VC的各层接口模型VC的各层接口模型1.0层接口模型 接口模型所面向的是VC核心的行为级模块。它描述了一个VC在最高抽象层上的交换要求,是强制性要求的VC接口描述。 0.0层接口模型 0.0层接口模型是一个完全映射后的接口模型。它对硬件元件和软件元件来说相当于在RTL级给出了接口性能。它对VC接口的描述是必不可少的。 0.x层接口模型 介于1.0层和0.0层之间的层次通称为0.x层,它们对VC接口的描述并非是必需的。但这些中间层的引入会有助于集成商对VC的理解和应用。VCI在SOC中的连接示意图VCI在SOC中的连接示意图两个VCI通过总线互连的逻辑结构示意如下图所示。 IP标准化机构2—OCP-IPIP标准化机构2—OCP-IPOCP-IP成立于2001年12月,是一个非盈利性的组织。该组织以Sonics公司的OCP(开放式内核协议,Open Core Protocol)接口规范为基础,目的是为即插即用(Plug and Play)的SoC设计提供一套完整的通用标准IP插座接口,把OCP发展成接口插座标准。 OCP规范与VSIA联盟的VCI(虚拟元件接口,Virtual Component Interface)标准有一定的类似性。OCP-IP组织的宗旨OCP-IP组织的宗旨OCP-IP is dedicated to proliferating a common standard for intellectual property (IP) core interfaces, or sockets, that facilitate “plug and play” System-on-Chip (SoC) design. Making complex SoC design more efficient for the widest audience, the industry strongly supports the Open Core Protocol as the universal complete socket standard, regardless of on chip architecture or which processor cores are featured. The benefits of a standard socket for SoC design are numerous and are discussed in several places on Http://www.ocpip.org website.OCP协议的设计目标OCP协议的设计目标开放式内核协议(OCP)是一个有效的、简练的、内核连接标准,用于单集成电路芯片上两个半导体内核的互连,使得内核之间在综合和制造后都能可靠的通信。 OCP定义了在一系列片上内核接口上的信号交换协议,OCP支持多种不同配置的体系结构,所以它是一个接口系列的协议。OCP的连接方式OCP的连接方式在两个内核之间建立主机/从机(master/slave)连接 一个内核叫做发起内核(initiator core),有一主机接口用于产生一个类似读、写的OCP请求和接受读响应信号。 另一个叫做目标内核(target core),有一从机接口用于接受和响应主机的请求。这样OCP就建立了主从式架构模型,主机等同于客户机,从机等同于服务器。基于OCP协议的内核通信基于OCP协议的内核通信OCP不是另外一种总线,总线(bus)通常是两个以上内核间的互连。OCP是两个内核之间的互连。另外,OCP具有高度的可配置性,而总线没有。 OCP为两个内核间的点与点平行通信提供了协议标准。在这种情况下,两个内核都需要两个OCP接口,主接口和从接口。一个核的主接口连接另一个核的从接口。OCP的概念级示意图 ——虚部件互连OCP的概念级示意图 ——虚部件互连VSIA规范类似于OCPVSIA规范类似于OCPVSIA同OCP相仿,也通过定义IP核的接口及点对点的方式来实现不同IP核的互连。 OCP对接口定义更为完整,并且兼容VSIA,可以认为VSIA是OCP的一个子集。 IP标准化机构3—IPCGIP标准化机构3—IPCG我国对IP/SoC产业非常重视,于2002年批准成立了信息产业部集成电路IP标准工作组(IPCG),由IPCG负责制定中国的IP核技术标准。 2006年中国颁布了由IPCG起草的11个有关集成电路IP核的电子行业标准。我国集成电路IP核的电子行业标准 我国集成电路IP核的电子行业标准 2006年中国颁布了由IPCG起草的11个有关集成电路IP核的电子行业标准。 涉及以下内容: IP核信号完整性;IP核开发与集成的功能验证分类法;IP核模型分类法;IP软核、硬核的结构、性能和物理建模规范;片上总线属性规范;集成电路IP/SoC功能验证规范; IP核的模拟/混合信号规范;IP核转让规范;IP核测试数据交换格式和准则规范。IPCG提出的IP核标准IPCG提出的IP核标准框架IP核的配套文档举例IP核的配套文档举例某UART的IP核申述项列表IP核的配套文档举例(续1)IP核的配套文档举例(续1)IP核的配套文档举例(续2)IP核的配套文档举例(续2)IP核的三种形态IP核的三种形态软核 硬核 固核IP核形态的优选原则IP核形态的优选原则从可被重用频度、可向其它工艺移植可能性、重用灵活性等方面考虑,三种IP核的优选次序是:上策选软核、中策选固核、下策选硬核; 从高性能、规范化、有较短上市时间、自行开发工作量尽量少、有支付高价能力的角度考虑,优选次序是:硬核为上策、固核为中策、软核为下策。2.6 IP核互连与片上总线2.6 IP核互连与片上总线将SoC内部的多个IP核互连起来需要考虑的主要因素有通信结构、通信带宽、时延、数据吞吐率及功耗等。 以下简单地介绍三种IP核互连的通信拓扑结构IP核单共享总线方式IP核单共享总线方式其拓扑结构属于单总线结构,与局域网中一个网段的总线结构相类似。 单共享总线的IP核互连方案不够灵活,无法适应不同IP核的传输带宽需要,不易扩展。点对点连接方式点对点连接方式适用于两个IP核的主/从连接。 例如,满足OCP(开放式内核协议)的IP核使用这种连接方式。 如果两个OCP的IP核需要点对点通信,则每一个IP核都必须有一对主/从接口。本方的主接口对应对方的从接口。点对点连接方式的缺点是互连线数量大,功耗较大。多层次/多总线互连方式多层次/多总线互连方式不论是单共享总线还是多层次/多总线型共享总线,都可以称之为片上总线(OCB,On-chip Bus)。 目前,大多数SoC采用片上总线进行IP核互连。片上总线分类片上总线分类可细分为系统总线(System Bus)与外围总线(PeripheralBus)两种类型。 系统总线用来互连高性能IP模块,这些模块包括嵌入式CPU(或MCU)、DSP、主存控制器、DMA控制器等。它的特点是带宽要求高、实时响应速度快; 外围总线用来互连性能低、功耗低的设备,是为了满足功耗、便携性、可重用性等方面的特殊要求。系统总线与外围总线之间通过桥接器或者交换矩阵相连。单共享总线结构以及它的进化单共享总线结构以及它的进化2.7 低功耗设计基本原理2.7 低功耗设计基本原理低功耗设计是嵌入式系统设计的一大特点,涉及硬件和软件,是近几年来较热门的一个研究课题。其研究的内容很多。 下面介绍低功耗设计的基本原理和知识2.7.1 硬件低功耗设计 2.7.1 硬件低功耗设计 目前嵌入式系统使用的集成电路以CMOS型芯片为主。 CMOS电路有两种主要功耗来源:动态功耗和静态功耗。CMOS集成电路的总功耗计算 CMOS集成电路的总功耗计算 CMOS电路功耗P总有以下近似计算: P总= P动态+ P直流开关功耗 + P静态 公式1 公式1中的第1项和第2项是动态功耗,第3项是静态功耗。 参看下一页MOS反相管功耗分析图。 第1项(P动态)一般占总功耗的70%~90%。 第2项(P直流开关功耗)一般占总功耗的10%~30%。 第3项(P静态)一般占不到1%的总功耗。细化算式细化算式P动态= aCL fVdd2 公式2 其中:a为开关系数,即每个时钟周期中发生状态变化器件的个数,CL为负载电容,f为电路的工作频率,Vdd为电路的电源电压值。 P直流开关功耗 = VddIst 公式3 其中:Ist为短路电流值,P直流开关功耗。 P静态= VddIleakage 公式4 其中:Ileakage为漏电流值。CMOS反相器电路的功耗分析 CMOS反相器电路的功耗分析 动态电源管理技术动态电源管理技术因为系统各部分的工作负载不相同,系统在每个工作时刻的负载不相同,总会有一部分部件处于闲置状态。所以可以有选择地把闲置的系统部件置于低功耗状态。 等待模式和停止模式都属于低功耗模式。 动态电源管理举例: S3C44B0X处理器的时钟和电源管理模块 参看三星公司S3C44B0X处理器数据手册 Charpter 5 CLOCK & POWER MANAGEMENT等待模式等待模式CPU停止工作,但系统时钟并不停止,单片机的外围I/O模块也不停止工作;系统功耗降低有限,只相当于工作模式的50%~70%。停止模式停止模式系统时钟停止,由外部事件中断重新启动时钟系统时钟,进而唤醒CPU继续工作,CPU消耗电流可降到微安级。 动态电压缩放技术动态电压缩放技术电压调节子程序首先分析系统工作状态,然后决定最佳工作电压。2.7.2 软件低功耗设计2.7.2 软件低功耗设计在嵌入式软件开发过程中也需要采取对应的措施。在编程方面注意以下几个要素: 编译优化技术 减少CPU的运算量 避免后台程序长时间无效运行 用“中断”代替“轮询” 硬件软件化 采用快速算法低功耗编译优化技术低功耗编译优化技术由改进的编译器实现 优化编译算法,使得编译调试之后的代码在运行时,能够让各个部件始终工作在最低能耗状态,则对降低功耗非常有利。研究资料表明通过对应用程序的指令功能均衡优化和降低执行频率就有可能比优化前的代码节省50%的能量消耗。尽量减少CPU的运算量尽量减少CPU的运算量以时间换空间,将一些运算结果预先算好,做成表格放在Flash中,用查表方法替换运行时计算,可以有效减少CPU运算工作量; 按照精度进行实时计算,达到误差允许范围就结束,避免超出需要精度的过量计算;尽量使用短的数据类型,例如,尽量使用字符型的8位数据替换16位的整型数据,尽量使用分数运算而避免浮点数运算等。避免后台程序长时间无效运行避免后台程序长时间无效运行后台程序的执行往往是用户察觉不到的,因此一旦非必要的后台程序启动,它就会一直执行下去,这样就会消耗很大的电力,同时降低了CPU的执行能力。 程序员应当做到后台程序只在必要的情况下执行,并且任务完成后能够自行推出运行态。用“中断”代替“轮询”用“中断”代替“轮询”轮询方式输入输出会消耗大量CPU时间,因此也消耗了大量能量。因此在嵌入式设计中应尽量避免使用轮询方式。使用中断方式,CPU可以什么不做,甚至可以进入等待模式或停止模式,直到中断事件到来为止。硬件软件化硬件软件化只要是硬件电路,就必定要消耗功率。在嵌入式系统总体设计中,遵循硬件软件化原则,尽量压缩硬件部件,用软件来替换用硬件实现的功能。例如在许多手持智能仪表中用到的信号处理电路、抗干扰电路、对数放大器电路、数值变换电路。采用快速算法采用快速算法选择精巧算法可以大大减少运行时间。例如,在数字信号处理中采用FFT算法和快速卷积算法,在分组密码计算中利用桶型移位器做快速移位,这些都可以节省大量的运算时间。另外,在精度允许情况下,应该尽量使用简单函数代替复杂函数作近似。第2章 重点第2章 重点数字系统硬件抽象模型 可编程逻辑器件FPGA/CPLD 主流硬件描述语言 可编程逻辑器件 CPLD和FPGA的基本构成 知识产权与硅知识产权 IP核的五个基本特征 系统芯片与系统芯片的主要优点第2章 重点第2章 重点IP核标准化基础 虚拟元件概念和OCP协议 三种IP核形态和它们的优选原则 IP核互连的三种通信拓扑结构 硬件低功耗设计原则 软件低功耗设计原则第2章 复习题与思考题(1)第2章 复习题与思考题(1)EDA在嵌入式硬件设计中的地位和重要性如何? 自顶向下和自底向上两种ASIC设计方法各有什么优缺点? 简述当前可编程逻辑器件的现状与发展趋势。 简述FPGA器件的结构。 什么是行为级描述(或者行为级设计)? CPLD和FPGA的内部结构有什么主要区别? 有哪些主流的CPLD和FPGA开发工具? ASIC开发和CPLD/FPGA开发有什么区别? IP核有哪几种主要形态?它们的选用原则是什么?第2讲 复习题与思考题(2)第2讲 复习题与思考题(2)如何进行IP核的验证? 开放式内核协议国际同盟(OCP-IP)提出的OCP与虚拟插座接口联盟(VSIA)提出的虚拟元件接口(VCI)有什么主要区别? 有哪几种主要的IP核互联拓扑结构? 欲降低CMOS芯片的功耗应从哪几个主要方面考虑? 在嵌入式软件开发过程中,哪几点对于降低功耗有较大影响?第2章 结束第2章 结束谢谢!
/
本文档为【第2章 可编程逻辑器件和IP核】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索