《嵌入式系统基础教程_第02讲_第2章可编程逻辑器件和IP核.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统基础教程_第02讲_第2章可编程逻辑器件和IP核.ppt(101页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统原理与开发嵌入式系统原理与开发第第2讲讲2008年春季2023年年1月月14日日曲阜师范大学 计算机科学学院2第第2章章 可编程逻辑器件和可编程逻辑器件和IP核核l本章主要授课内容l集成电路的制造流程l电子设计自动化l可编程逻辑器件FPGA/CPLDlFPGA应用举例l硅知识产权核(IP核)l片上总线l低功耗设计原理2023年年1月月14日日32.1 集成电路制造流程简介集成电路制造流程简介l集成电路厂所生产的产品实际上包括两大部分:晶圆切片(die,也简称为晶圆)和超大规模集成电路芯片(chip,可简称为芯片)。l晶圆切片是一片像镜子一样的光滑圆形薄片,是供其后芯片生产工序深加工的
2、原材料。l一个晶圆上可以印刷多个裸晶的电路版图l芯片制造完毕后从一个晶圆上切割出许多裸晶l对单个裸晶进行测试得到质量合格的成品裸晶l将裸晶进行封装就得到芯片l芯片经过严格的测试就获得了成品芯片2023年年1月月14日日4芯片制造基本流程图解芯片制造基本流程图解切片晶圆切块裸晶有图形晶片2023年年1月月14日日5芯片原材料芯片原材料硅锭硅锭l硅锭是生产芯片的原材料2023年年1月月14日日6硅锭切片硅锭切片晶圆晶圆2023年年1月月14日日7将晶圆切割成裸晶将晶圆切割成裸晶l一个晶圆片上再切割成许多裸晶(也叫管芯)2023年年1月月14日日8裸晶上印制版图裸晶上印制版图l右边给出了裸晶的实例照
3、片。注意四周是引脚。2023年年1月月14日日9处理器芯片的版图照片之一处理器芯片的版图照片之一lSun公司的UltraSparc IV+处理器版图2023年年1月月14日日10处理器芯片的版图照片之二处理器芯片的版图照片之二lAMD公司的 64位双核处理器Opteron2023年年1月月14日日11处理器芯片的版图照片之三处理器芯片的版图照片之三lIntel公司的 Itanium2处理器l代号Madison2023年年1月月14日日12多个裸晶可以封装在一个芯片内多个裸晶可以封装在一个芯片内l双CPU核的芯片结构2023年年1月月14日日132.2 电子设计自动化电子设计自动化l电子设计自动
4、化lElectronic Design Automation,EDAlEDA是先进的电子系统设计方法和开发工具lEDA以计算机为主要工具,对使用硬件描述语言(HDL,Hardware Description Language)为描述手段完成的数字系统设计文件,自动地完成逻辑编译、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子系统功能。14EDA目标目标l利用EDA技术进行电子系统设计,最后实现的目标电路有3种类型。全定制或半定制专用集成用集成电路路lASIC:Application Specific Integrated CircuitsFPGA/CPLD(或称可编
5、程ASIC)开发应用印制电路板PCB,Printed Circuit Board2023年年1月月14日日曲阜师范大学 计算机科学学院15数字系统硬件抽象模型数字系统硬件抽象模型设计层次设计层次行为域行为域结构域结构域物理域物理域系统级自然语言描述的系统功能,部件功能描述部件及它们之间连接的方框图芯片、模块、电路板以及子系统的物理划分。芯片级算法硬件模块、数据结构的互连体部件之间的物理连接寄存器级(RTL)数据流图、状态机、状态转移表。ALU、MUX、寄存器、BUS、微定序器、微存储器等。宏单元逻辑级(门级)布尔方程、卡诺图、Z变换门电路、触发器、锁存器等元件构成的电路。标准单元布图电路级电流
6、、电压的微分方程晶体管、电阻、电容、电感等晶体管布图2023年年1月月14日日曲阜师范大学 计算机科学学院16ASIC设计流设计流程程2023年年1月月14日日曲阜师范大学 计算机科学学院17自顶向下法的自顶向下法的ASIC设计方法设计方法l第1步 概念设计l第2步 系统架构设计与软硬件划分l第3步 行为级描述l第4步 构建模块与接口l第5步 功能仿真l第6步 逻辑综合与优化l第7步 布局布线设计l第8步 时序仿真l第9步 适配和验证l第10步 硬件测试2023年年1月月14日日曲阜师范大学 计算机科学学院18硬件描述语言硬件描述语言 l主流的HDL有VHDL、Verilog、System C
7、、Superlog和SystemVerilog等。l下面分别介绍 2023年年1月月14日日曲阜师范大学 计算机科学学院19VHDLlVHDL的英文全称为: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又
8、对VHDL标准进行了修订。2023年年1月月14日日曲阜师范大学 计算机科学学院20VeriloglVerilog HDL是在1983年由GDA(GateWay Design Automation)公司为其模拟器产品开发的硬件描述语言。1989年,Cadence公司收购了GDA公司,Verilog HDL语言成为Cadence公司的产品。1990年,Cadence公司决定公开Verilog HDL语言,于是成立了OVI(开放Verilog国际,Open Verilog International)组织,负责促进Verilog HDL语言的推广。l基于Verilog HDL的优越性,IEEE于1
9、995年制定了Verilog HDL的IEEE标准,即Verilog HDL 1364-1995;2001年发布了Verilog HDL 1364-2001标准。2023年年1月月14日日曲阜师范大学 计算机科学学院21SystemClSystemC是由Synopsys公司和CoWare公司合作开发的。1999年9月27日,40多家世界著名的EDA公司、IP公司、半导体公司和嵌入式软件公司宣布成立“开放式SystemC联盟”。SystemC从1999年9月联盟建立初期的0.9版本开始更新,从1.0版到1.1版,一直到2001年10月推出了最新的2.0版。lSystemC利用流行的C+编译器,在
10、没有对C+增加新的语言构件的基础上,利用类的概念对C+进行了扩充,加入了一个类库和仿真核。设计者能利用它有效地创建软件算法、硬件结构和系统设计模型。2023年年1月月14日日曲阜师范大学 计算机科学学院22SystemVeriloglSystemVerilog是IEEE于2005年颁布的工业界第一个统一硬件描述和硬件验证的标准,命名为IEEE 1800标准,在IEEE 1364标准基础上产生。SystemVerilog增加了创建和验证抽象结构的层模型功能,可以提供对深流水线和高端芯片设计的抽象描述。它是新的硬件设计规范,特别适用于基于知识产权、大数量逻辑门和密集总线之类的芯片,提升了这类芯片的
11、设计、仿真和验证效率。232.3 可编程逻辑器件可编程逻辑器件l可编程逻辑器件lProgrammable Logic Device,PLDl数字ASIC的重要分支,是半导体电路厂商生产的一种通用性半定制集成电路。用户通过对PLD编程可以实现所需要的逻辑功能。24两种类型的两种类型的PLDl在PLD器件中有重要的两大类:l复杂可编程逻辑器件lCPLD:Complex Programmable Logic Devicel现场可编程门阵列lFPGA:Field Programmable Gate Arrayl两者功能基本相同,只是实现原理略有不同。2023年年1月月14日日曲阜师范大学 计算机科学学
12、院25CPLD和和FPGA的基本构成的基本构成l以乘积项结构方式构成逻辑行为的器件称为CPLD,如赛灵思(Xilinx)公司的XC9500系列、莱迪斯(Lattice)公司的ispLSI系列、Altera的MAX7000S系列等;l以查表法结构方式构成逻辑行为的器件称为FPGA,如Altera的FLEX10K、ACEX1K或Cyclone系列、Xilinx的SPARTAN系列和Virtex系列等。2023年年1月月14日日曲阜师范大学 计算机科学学院26乘积项实现乘积项实现PLD的示意图的示意图OR Matrix&AND Matrix2023年年1月月14日日曲阜师范大学 计算机科学学院27R
13、OM,PAL&PLAPLAPLAPROMPROMPALPALI5I4O0I3I2I1I0O1O2O3Programmable AND arrayProgrammableOR arrayI5I4O0I3I2I1I0O1O2O3Programmable AND arrayFixed OR arrayO0I3I2I1I0O1O2O3Fixed AND arrayProgrammableOR array与或阵列 均可编程与阵列 可编程 或阵列 固定或阵列 可编程 与阵列 固定2023年年1月月14日日曲阜师范大学 计算机科学学院28查找表(查找表(Look-Up-Table)的例子)的例子l一个4输入
14、的与门实际逻辑电路查找表实现a,b,c,d输入逻辑输出地址RAM值00000000000001000010。0。0。11111111112023年年1月月14日日曲阜师范大学 计算机科学学院29CPLD和和FPGA的基本区别的基本区别主要特点主要特点CPLDFPGA逻辑电路主要性质组合逻辑时序逻辑目标电路适应性触发器有限而乘积项丰富触发器丰富时序延迟均匀,并且可预测较大的延迟,不可预测编程灵活性小大编程方式基于电子熔丝编程基于E2PROM或FLASH编程编程次数大约一万次任意次,工作中可编程布线结构与逻辑实现复杂度低复杂度高程序信息易失性系统断电时不丢失系统断电时丢失保密性好差使用方便性高低功
15、耗相对低相对高集成度低高2023年年1月月14日日曲阜师范大学 计算机科学学院30CPLD/FPGA的结构特点的结构特点l它们都由三大部分组成:l可编程二维的逻辑阵列块,构成了PLD器件的逻辑组成核心;l可编程的输入/输出块;l可编程的连接逻辑块的互连资源,连线资源由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。2023年年1月月14日日曲阜师范大学 计算机科学学院31典型典型CPLD结构图结构图(Altera公司公司MAX7000系列)系列)2023年年1月月14日日曲阜师范大学 计算机科学学院32典型典型FPGA结构图结构图(赛灵
16、思公司(赛灵思公司Virtex系列)系列)2023年年1月月14日日曲阜师范大学 计算机科学学院33主流主流CPLD/FPGA开发工具开发工具l流行的CPLD/FPGA开发工具主要来自PLD生产商。例如:Xilinx公司的Foundation;Altera公司的Synplify Pro;Lattice公司的ISP Synario;此外还包括第三方公司提供的EDA软件。l这些工具都属于集成开发环境,集成了编译、仿真、测试、下载等工具。l下面简单介绍三个开发工具:MAX+PLUS II、Quartus II和Synplify Pro。2023年年1月月14日日曲阜师范大学 计算机科学学院34MAX
17、+PLUS IIlMAX+PLUS II是Altera公司推出的的第三代PLD开发系统,具有开放界面,可与其他工业标准的EDA工具相连接;提供与结构无关的设计环境,可以在多种硬件平台环境下运行;提供丰富的逻辑功能库供设计人员调用;支持各种HDL语言的设计输入,包括VHDL、Verilog和Altera公司自己的硬件描述语言AHDL。lMAX+PLUS II适合初学者使用。2023年年1月月14日日曲阜师范大学 计算机科学学院35Quartus IIlQuartus II是Altera公司的第四代PLD开发系统,主要用于设计6万100万门的大规模FPGA/CPLD,是第1个支持基于知识产权(IP
18、)系统设计的软件;它是在MAX+PLUS II基础上升级产生的,基本操作与MAX+PLUS II有相似之处。软件运行界面如下图所示。2023年年1月月14日日曲阜师范大学 计算机科学学院36Quartus II界面图界面图2023年年1月月14日日曲阜师范大学 计算机科学学院37Quartus II的特点的特点l使用Quartus II可完成从设计输入、逻辑综合、仿真到下载的整个设计过程,而且Quartus II也可以直接调用Synplify Pro、Leonardo Spectrum 以及ModelSim 等第三方EDA 工具来完成设计的逻辑综合和仿真。lQuartus II 支持多种设计输
19、入方式。它与MATLAB 和DSP Builder 结合可以进行基于FPGA 的DSP 系统开发,方便且快捷;还可以与SOPC Builder 结合,实现SOPC 系统的开发。2023年年1月月14日日曲阜师范大学 计算机科学学院38Synplify ProlSynplify Pro或者Synplify是由位于美国加州Sunnyvale的Synplicity公司推出的专门用于可编程器件FPGA/CPLD 的逻辑综合工具,它支持Verilog HDL 和VHDL 高层次设计描述,在综合优化方面性能优异,应用广泛。lSynplify Pro或者Synplify 支持Verilog 13641995
20、 标准和VHDL 10761993 标准,能以很高的效率将Verilog/VHDL 设计文件转换为针对选定器件的标准网表,并提供相应设计环境的配置文件,在逻辑综合后还可以生成Verilog 和VHDL 仿真网表,以便对原设计进行功能仿真。2023年年1月月14日日曲阜师范大学 计算机科学学院39可编程逻辑器件设计流程可编程逻辑器件设计流程402.5 系统级芯片系统级芯片l硅知识产权和知识产权核(IP核)l系统芯片lIP核标准化基础 lIP核形态与优选原则41知识产权与硅知识产权知识产权与硅知识产权l知识产权(IP:Intellectual Property)包含版权、商标、专利权、集成电路布图
21、设计和植物品种权等。l本课程讲解的知识产权主要涉及集成电路布图设计。通常称这一类知识产权为硅知硅知识产权(Silicon Intellectual Property)。l下面对术语IP如果不特别说明,均指硅知识产权或者集成电路布图设计的知识产权。42IP历史溯源历史溯源lIP的最初出现大约在20世纪90年代初。为了降低成本,减少重复开发工作量,集成电路制造商将合格的经过验证的电路设计结果文件存储在所谓函数库的数据库中,供设计师在日后进行类似设计中再利用。目前,集成电路设计行业中广泛使用了函数库,从而有效地提高了工作效率。l函数库中主要有三种类型的库文件,即逻辑门级库文件,寄存器传输级库文件和行
22、为级库文件。43IC设计中的核与核库文件设计中的核与核库文件l当设计师进行系统级IC设计时,不再对行为级库文件的内部电路进行设计,往往直接把行为级库里的部件文件当作IC子模块加以调用。这些先前完成的IC设计部件作为整个IC电路一部分实现形式存在,具有固定的不可再分解的功能特性。于是,称之为核(Core),从而部件级库文件就称为核库。44知识产权核与处理器核知识产权核与处理器核l核库文件是集成电路的布图设计,属于知识产权的范畴,于是核库中各种核文件以及它们的集合称为知识产权(Intellectual Property),简称IP;l又由于单个知识产权是不可再分解的,所以核文件也称为知识产权核或者
23、IP核(IP Core:Intellectual Property Core)。特别地,人们把处理器的核库文件称为处理器核(Processor Core)。45IP核的五个基本特征:核的五个基本特征:l第三方使用;l按照复用原则设计;l可读性强;l完备的可测性;l端口定义标准化。46系统芯片(系统芯片(SoC)l也称为片上系统lSoC,System on chip,或者 System on a chip。l基本定义是:以知识产权核为设计基础,在单个芯片上集成处理器、存储器、各种接口等部件,组成一个部分完整的计算机系统,可以完成特定的应用功能。l系统芯片是单功能集成电路芯片的跨越式发展。l目前,
24、大多数32位的嵌入式处理器芯片都是SoC。47系统芯片的主要优点系统芯片的主要优点 l丰富的系统功能;l客户定制;l提高速度;l降低功耗;l减少体积。48系统芯片与系统芯片与IP核核l系统芯片逐渐成为集成电路设计的主流发展趋势。l统计数据也说明了IP核的重要性,2005年全球80%的SoC都采用以IP核为主的方式进行设计。l现阶段IC设计能力和EDA工具能力远落后于SoC设计工艺的需要,两者间的差距日益加剧,成为制约SoC制造和发展的瓶颈。lIP(核)重用显得十分重要,它可以减少研发成本,缩短研发时间,加速SoC上市。49IP库(库(IP Repository)l基于IP核重用的SoC设计工程
25、需要一整套完整的设计环境(Infrastructure)支持。其中一个关键部分就是开发一个庞大的可重用IP模块(或者IP核)库,即IP库(IP Repository)。50IP核标准化基础核标准化基础l在制造SoC过程中必须做到高效地复用IP核。为了解决这个问题,需要建立统一的标准和规范。lIP设计标准化与IP使用标准化是IP复用的基础。51IP标准化的主要机构标准化的主要机构lVSIAl虚拟插座接口联盟,Virtual Socket Interface AlliancelOCP-IPl开放式内核协议国际同盟,Open Core Protocol International Partnersh
26、iplSPIRITl工具流内部IP封装集成重用结构,Structure for Packaging,Integrating and Re-using IP within Tool-flowslIPCGl中国的集成电路IP标准工作组52IP标准化机构标准化机构1VSIAlVSIA成立于1996年9月,是最早出现的国际性IP标准组织。lVSIA的目标是“制订混合和适配(Mix&Match)不同厂商提供的VC(虚拟元件,Virtual Component)的公开标准,加快SoC的开发”。lVSIA成员包括系统设计公司、半导体供应商、EDA公司、IP提供商等。现有的IP标准中的大多数由VSIA制订。2
27、023年年1月月14日日曲阜师范大学 计算机科学学院53IP核接口应按照标准进行设计核接口应按照标准进行设计lIP标准化的基本理念l为使不同来源的IP核可以在SOC中进行有效的集成,做到即插即用。IP核的接口应按照统一的标准进行设计。lIP核的接口层次(Interface Layer)是一种抽象的层次,一个接口层次就是一个转换包,它能够把接口的一个抽象层次转入下一个更加详细的层次。2023年年1月月14日日曲阜师范大学 计算机科学学院54IP核的测试核的测试l当IP集成进SOC芯片以后,原本IP边界上的I/O端口会嵌入到SOC内部,不能被芯片外界访问到,IP失去了原来的可控制性和可观察性。如何
28、通过SOC芯片的I/O 端口访问到内部的IP,是一个必须解决的问题。l目前,VSIA 和IEEE都提出了一些解决方案,如IEEE的P1500标准(草案),VSIA测试访问结构标准。2023年年1月月14日日曲阜师范大学 计算机科学学院55IP核测试所需要的硬件结构核测试所需要的硬件结构l硬件测试结构集成在片内。l包括:包装寄存器(Wrapper Register)、旁路寄存器(Bypass Register)、测试控制模块(Test Control Block)等。l测试结构可完成测试SOC所必需的四种操作模式:正常模式、安全状态(隔离)模式、外部测试模式和内部测试模式。2023年年1月月14
29、日日曲阜师范大学 计算机科学学院56VSIA提出的提出的VCIlVCI(Virtual Component Interface)是定义一个通用接口,以便任何来源的IP都可以在芯片集成者的SoC内进行互连。按这种方式,IP就不再局限为被设计者一次使用。它们可以被反复重用。采用VCI作为自身接口的IP模块即可直接点对点地连接,也可通过带有VCI接口的总线进行互连。2023年年1月月14日日曲阜师范大学 计算机科学学院57虚拟元件接口(虚拟元件接口(VCI)概念示意图)概念示意图 2023年年1月月14日日曲阜师范大学 计算机科学学院58VC的各层接口模型的各层接口模型l1.0层接口模型接口模型l接
30、口模型所面向的是VC核心的行为级模块。它描述了一个VC在最高抽象层上的交换要求,是强制性要求的VC接口描述。l0.0层接口模型接口模型l0.0层接口模型是一个完全映射后的接口模型。它对硬件元件和软件元件来说相当于在RTL级给出了接口性能。它对VC接口的描述是必不可少的。l0.x层接口模型接口模型l介于1.0层和0.0层之间的层次通称为0.x层,它们对VC接口的描述并非是必需的。但这些中间层的引入会有助于集成商对VC的理解和应用。2023年年1月月14日日曲阜师范大学 计算机科学学院59VCI在在SOC中的连接示意图中的连接示意图l两个VCI通过总线互连的逻辑结构示意如下图所示。2023年年1月
31、月14日日曲阜师范大学 计算机科学学院60IP标准化机构标准化机构2OCP-IPlOCP-IP成立于2001年12月,是一个非盈利性的组织。该组织以Sonics公司的OCP(开放式内核协议,Open Core Protocol)接口规范为基础,目的是为即插即用(Plug and Play)的SoC设计提供一套完整的通用标准IP插座接口,把OCP发展成接口插座标准。lOCP规范与VSIA联盟的VCI(虚拟元件接口,Virtual Component Interface)标准有一定的类似性。2023年年1月月14日日曲阜师范大学 计算机科学学院61OCP-IP组织的宗旨组织的宗旨lOCP-IP i
32、s 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 compl
33、ete 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.2023年年1月月14日日曲阜师范大学 计算机科学学院62OCP协议的设计目标协议的设计目标l开放式内核协议(OCP)是一个有效的、简练的、内核连接标准,用
34、于单集成电路芯片上两个半导体内核的互连,使得内核之间在综合和制造后都能可靠的通信。lOCP定义了在一系列片上内核接口上的信号交换协议,OCP支持多种不同配置的体系结构,所以它是一个接口系列的协议。2023年年1月月14日日曲阜师范大学 计算机科学学院63OCP的连接方式的连接方式l在两个内核之间建立主机/从机(master/slave)连接l一个内核叫做发起内核(initiator core),有一主机接口用于产生一个类似读、写的OCP请求和接受读响应信号。l另一个叫做目标内核(target core),有一从机接口用于接受和响应主机的请求。这样OCP就建立了主从式架构模型,主机等同于客户机,
35、从机等同于服务器。2023年年1月月14日日曲阜师范大学 计算机科学学院64基于基于OCP协议的内核通信协议的内核通信lOCP不是另外一种总线,总线(bus)通常是两个以上内核间的互连。OCP是两个内核之间的互连。另外,OCP具有高度的可配置性,而总线没有。lOCP为两个内核间的点与点平行通信提供了协议标准。在这种情况下,两个内核都需要两个OCP接口,主接口和从接口。一个核的主接口连接另一个核的从接口。2023年年1月月14日日曲阜师范大学 计算机科学学院65OCP的概念级示意图的概念级示意图虚部件互连虚部件互连2023年年1月月14日日曲阜师范大学 计算机科学学院66VSIA规范类似于规范类
36、似于OCPlVSIA同OCP相仿,也通过定义IP核的接口及点对点的方式来实现不同IP核的互连。lOCP对接口定义更为完整,并且兼容VSIA,可以认为VSIA是OCP的一个子集。2023年年1月月14日日曲阜师范大学 计算机科学学院67IP标准化机构标准化机构3IPCGl我国对IP/SoC产业非常重视,于2002年批准成立了信息产业部集成电路IP标准工作组(IPCG),由IPCG负责制定中国的IP核技术标准。l2006年中国颁布了由IPCG起草的11个有关集成电路IP核的电子行业标准。2023年年1月月14日日曲阜师范大学 计算机科学学院68我国集成电路我国集成电路IP核的电子行业标准核的电子行
37、业标准 l2006年中国颁布了由IPCG起草的11个有关集成电路IP核的电子行业标准。l涉及以下内容:IP核信号完整性;IP核开发与集成的功能验证分类法;IP核模型分类法;IP软核、硬核的结构、性能和物理建模规范;片上总线属性规范;集成电路IP/SoC功能验证规范;IP核的模拟/混合信号规范;IP核转让规范;IP核测试数据交换格式和准则规范。2023年年1月月14日日曲阜师范大学 计算机科学学院69IPCG提出的提出的IP核标准框架核标准框架2023年年1月月14日日曲阜师范大学 计算机科学学院70IP核的配套文档举例核的配套文档举例l某UART的IP核申述项列表功能概述OD8位通用异步串行通
38、信接口等效部件或核与National Semiconductor的PC16550系列UART兼容目标应用市场定 位消费类、工业和电机控制应用性能频率最大值:183MHz形式信息硬度软核测试覆盖率代码覆 盖率跳转:100%变量:100%语句:100%FSM表达形式:100%FSM状态:1002023年年1月月14日日曲阜师范大学 计算机科学学院71IP核的配套文档举例(续核的配套文档举例(续1)可交付项列表可交付项名称:PTL源代码格式:VHDL文件名:UART.vhd,VART-tb.vhd,Read-Write.vhd,Line-Control.vhd,Interrupt-Control.v
39、hd,MODEM-Control.vhd,RCVVR-FIFO.vhd,Receiver.vhd,XMIT-FIFO.vhd,Trandmitter.vhd2023年年1月月14日日曲阜师范大学 计算机科学学院72IP核的配套文档举例(续核的配套文档举例(续2)特点和是否遵守标准是否遵守标准遵守下列标准,IEEE1076-2002特点可编程的串行接口特性;具有MODEM控制功能;接收和发送分别有16个字节的FIFO;独立控制发送、接收、线路状态、数据装置中断及FIFO;完整的状态信息报告功能;片类具有优先权中断控制逻辑,具有独立的中断优先级控制能力。73IP核的三种形态核的三种形态l软核核l硬
40、核硬核l固核固核74IP核形态的优选原则核形态的优选原则l从可被重用频度、可向其它工艺移植可能性、重用灵活性等方面考虑,三种IP核的优选次序是:上策选软核、中策选固核、下策选硬核;l从高性能、规范化、有较短上市时间、自行开发工作量尽量少、有支付高价能力的角度考虑,优选次序是:硬核为上策、固核为中策、软核为下策。752.6 IP核互连与片上总线核互连与片上总线l将SoC内部的多个IP核互连起来需要考虑的主要因素有通信结构、通信带宽、时延、数据吞吐率及功耗等。l以下简单地介绍三种IP核互连的通信拓扑结构76IP核单共享总线方式核单共享总线方式l其拓扑结构属于单总线结构,与局域网中一个网段的总线结构
41、相类似。l单共享总线的IP核互连方案不够灵活,无法适应不同IP核的传输带宽需要,不易扩展。2023年年1月月14日日曲阜师范大学 计算机科学学院77点对点连接方式点对点连接方式l适用于两个IP核的主/从连接。l例如,满足OCP(开放式内核协议)的IP核使用这种连接方式。l如果两个OCP的IP核需要点对点通信,则每一个IP核都必须有一对主/从接口。本方的主接口对应对方的从接口。点对点连接方式的缺点是互连线数量大,功耗较大。2023年年1月月14日日曲阜师范大学 计算机科学学院78多层次多层次/多总线互连方式多总线互连方式l不论是单共享总线还是多层次/多总线型共享总线,都可以称之为片上总线(OCB
42、,On-chip Bus)。l目前,大多数SoC采用片上总线进行IP核互连。2023年年1月月14日日曲阜师范大学 计算机科学学院79片上总线分类片上总线分类l可细分为系统总线(System Bus)与外围总线(PeripheralBus)两种类型。l系统总线用来互连高性能IP模块,这些模块包括嵌入式CPU(或MCU)、DSP、主存控制器、DMA控制器等。它的特点是带宽要求高、实时响应速度快;l外围总线用来互连性能低、功耗低的设备,是为了满足功耗、便携性、可重用性等方面的特殊要求。系统总线与外围总线之间通过桥接器或者交换矩阵相连。2023年年1月月14日日曲阜师范大学 计算机科学学院80单共享
43、总线结构以及它的进化单共享总线结构以及它的进化812.7 低功耗设计基本原理低功耗设计基本原理l低功耗设计是嵌入式系统设计的一大特点,涉及硬件和软件,是近几年来较热门的一个研究课题。其研究的内容很多。l下面介绍低功耗设计的基本原理和知识822.7.1 硬件低功耗设计硬件低功耗设计 l目前嵌入式系统使用的集成电路以CMOS型芯片为主。lCMOS电路有两种主要功耗来源:动态功耗和静态功耗。83CMOS集成电路的总功耗计算集成电路的总功耗计算 lCMOS电路功耗P总有以下近似计算公式:lP总=P动态+P直流开关功耗+P静态公式1l公式1中的第1项和第2项是动态功耗,第3项是静态功耗。l参看下一页MO
44、S反相管功耗分析图。l第1项(P动态)一般占总功耗的70%90%。l第2项(P直流开关功耗)一般占总功耗的10%30%。l第3项(P静态)一般占不到1%的总功耗。84细化算式细化算式lP动态=aCL fVdd2公式2l其中:a为开关系数,即每个时钟周期中发生状态变化器件的个数,CL为负载电容,f为电路的工作频率,Vdd为电路的电源电压值。lP直流开关功耗=VddIst公式3l其中:Ist为短路电流值,P直流开关功耗。lP静态=VddIleakage公式4l其中:Ileakage为漏电流值。85CMOS反相器电路的功耗分析反相器电路的功耗分析 2023年年1月月14日日曲阜师范大学 计算机科学学
45、院86动态电源管理技术动态电源管理技术l因为系统各部分的工作负载不相同,系统在每个工作时刻的负载不相同,总会有一部分部件处于闲置状态。所以可以有选择地把闲置的系统部件置于低功耗状态。l等待模式和停止模式都属于低功耗模式。l动态电源管理举例:lS3C44B0X处理器的理器的时钟和和电源管理模源管理模块l参看三星公司参看三星公司S3C44B0X处理器数据手册理器数据手册 lCharpter 5 CLOCK&POWER MANAGEMENT2023年年1月月14日日曲阜师范大学 计算机科学学院87等待模式等待模式lCPU停止工作,但系统时钟并不停止,单片机的外围I/O模块也不停止工作;系统功耗降低有
46、限,只相当于工作模式的50%70%。88停止模式停止模式l系统时钟停止,由外部事件中断重新启动时钟系统时钟,进而唤醒CPU继续工作,CPU消耗电流可降到微安级。89动态电压缩放技术动态电压缩放技术l电压调节子程序首先分析系统工作状态,然后决定最佳工作电压。902.7.2 软件低功耗设计软件低功耗设计l在嵌入式软件开发过程中也需要采取对应的措施。在编程方面注意以下几个要素:l编译优化技术l减少CPU的运算量l避免后台程序长时间无效运行l用“中断”代替“轮询”l硬件软件化l采用快速算法91低功耗编译优化技术低功耗编译优化技术l由改进的编译器实现l优化编译算法,使得编译调试之后的代码在运行时,能够让
47、各个部件始终工作在最低能耗状态,则对降低功耗非常有利。研究资料表明通过对应用程序的指令功能均衡优化和降低执行频率就有可能比优化前的代码节省50%的能量消耗。92尽量减少尽量减少CPU的运算量的运算量l以时间换空间,将一些运算结果预先算好,做成表格放在Flash中,用查表方法替换运行时计算,可以有效减少CPU运算工作量;l按照精度进行实时计算,达到误差允许范围就结束,避免超出需要精度的过量计算;尽量使用短的数据类型,例如,尽量使用字符型的8位数据替换16位的整型数据,尽量使用分数运算而避免浮点数运算等。93避免后台程序长时间无效运行避免后台程序长时间无效运行l后台程序的执行往往是用户察觉不到的,
48、因此一旦非必要的后台程序启动,它就会一直执行下去,这样就会消耗很大的电力,同时降低了CPU的执行能力。l程序员应当做到后台程序只在必要的情况下执行,并且任务完成后能够自行推出运行态。94用用“中断中断”代替代替“轮询轮询”l轮询方式输入输出会消耗大量CPU时间,因此也消耗了大量能量。因此在嵌入式设计中应尽量避免使用轮询方式。使用中断方式,CPU可以什么不做,甚至可以进入等待模式或停止模式,直到中断事件到来为止。95硬件软件化硬件软件化l只要是硬件电路,就必定要消耗功率。在嵌入式系统总体设计中,遵循硬件软件化原则,尽量压缩硬件部件,用软件来替换用硬件实现的功能。例如在许多手持智能仪表中用到的信号
49、处理电路、抗干扰电路、对数放大器电路、数值变换电路。96采用快速算法采用快速算法l选择精巧算法可以大大减少运行时间。例如,在数字信号处理中采用FFT算法和快速卷积算法,在分组密码计算中利用桶型移位器做快速移位,这些都可以节省大量的运算时间。另外,在精度允许情况下,应该尽量使用简单函数代替复杂函数作近似。97第第2章章 重点重点l数字系统硬件抽象模型l可编程逻辑器件FPGA/CPLDl主流硬件描述语言l可编程逻辑器件lCPLD和FPGA的基本构成l知识产权与硅知识产权lIP核的五个基本特征l系统芯片与系统芯片的主要优点98第第2章章 重点重点lIP核标准化基础l虚拟元件概念和OCP协议l三种IP
50、核形态和它们的优选原则lIP核互连的三种通信拓扑结构l硬件低功耗设计原则l软件低功耗设计原则99第第2章章 复习题与思考题(复习题与思考题(1)lEDA在嵌入式硬件设计中的地位和重要性如何?l自顶向下和自底向上两种ASIC设计方法各有什么优缺点?l简述当前可编程逻辑器件的现状与发展趋势。l简述FPGA器件的结构。l什么是行为级描述(或者行为级设计)?lCPLD和FPGA的内部结构有什么主要区别?l有哪些主流的CPLD和FPGA开发工具?lASIC开发和CPLD/FPGA开发有什么区别?lIP核有哪几种主要形态?它们的选用原则是什么?100第第2讲讲 复习题与思考题(复习题与思考题(2)l如何进