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