SoPC与嵌入式体系软硬件协同计划
发布日期:2011-04-20
择要:软硬件协同计划是电子体系巨大化后的一种计划新趋势,此中SoC和SoPC是这一趋势的典范代表。SoPC技能为体系芯片计划提供了一种更为方便﹑机动和可靠的实现方法。在先容体系级芯片计划技能的生长由来后,重点先容SoPC计划体系芯片中的软硬件协同计划要领,并指出它比SoC实现方法所具有的上风。
关键词:嵌入式体系 软硬件协同计划 片上可编程体系(SoPC)
1 概述
20世纪90年代初,电子产品的开辟出现两个明显的特点:产品深度巨大化和上市时限收缩。基于门级形貌的电路级计划要领已经赶不上新形势的生长必要,于是基于体系级的计划要领开始进入人们的视野。随着半导体工艺技能的生长,分外是超深亚微米(VDSM,<0.25 μm)工艺技能的成熟,使得在一块硅芯片上集成差别成果模块(成为体系集成芯片)成为大概。这种将种种成果模块集成于一块芯片上的完备体系,便是片上体系SoC(System on Chip)。 SoC是集成电路生长的肯定趋势。
SoC计划技能始于20世纪90年代中期,它是一种体系级的计划技能。如今,电子体系的计划已不再是利用种种通用集成电路 IC(Integrated Circuit)举行印刷电路板PCB(Printed Circuit Board)板级的计划和调试,而是转向以大范围现场可编程逻辑阵列 FPGA (FieldProgrammable Gate Array)或专用集成电路 ASIC (ApplicationSpecific Integrated Circuit)为物理载体的体系级的芯片计划。利用ASIC为物理载体举行芯片计划的技能称为片上体系技能,即SoC;利用FPGA作为物理载体举行芯片计划的技能称为可编程片上体系技能,即SoPC(System on Programmable Chip)。SoC技能和SoPC技能都是体系级的芯片计划技能(统称为广义SoC)。
到如今为止,SoC还没有一个公认的正确定义,但一样平常以为它有三大技能特性:采取深亚微米(DSM)工艺技能,IP核(Intellectual Property Core)复用以及软硬件协同计划。SoC的开辟是从整个体系的成果和性能出发,利用IP复用和深亚微米技能,采取软件和硬件连合的计划和验证要领,综合思量软硬件资源的利用本钱,计划出餍足性能请求的高服从、低本钱的软硬件体系布局,从而在一个芯片上实现巨大的成果,并思量其可编程特性和收缩上市时间。利用SoC技能计划的芯片,一样平常有一个或多个微处理惩罚器芯片和数个成果模块。各个成果模块在微处理惩罚器的和谐下,共同完成芯片的体系成果,为高性能、低本钱、短开辟周期的嵌入式体系计划提供了广阔远景。
SoPC技能最早是由美国Altera公司于2000年提出的,是当代谋略机帮助计划技能、电子计划主动化EDA(Electronics Design Automation)技能和大范围集成电路技能高度生长的产品。SoPC技能的目标是将尽大概大而完备的电子体系在一块FPGA中实现,使得所计划的电路在范围、可靠性、体积、成果、性能指标、上市周期、开辟本钱、产品维护及其硬件升级等多方面实现最优化。SoPC的计划以IP为底子,以硬件形貌语言为重要计划本领,借助以谋略机为平台的EDA东西,主动化、智能化地自顶向下地举行。
体系级芯片计划是一种高层次的电子计划要领,计划职员针对计划目标举行体系成果形貌,定义体系的举动特性,天生体系级的规格形貌。这一进程中可以不涉及实现工艺。一旦目标体系以高层次形貌的情势输入谋略机后,EDA体系就能以规矩驱动的方法主动完成整个计划。为了餍足上市时间和性能请求,体系级芯片计划遍及采取软硬件协同计划的要领举行。
2 SoPC计划中的软硬件协同计划
2.1软硬件协同计划的背景
体系级芯片计划是微电子计划范畴的一场革命,它重要有3个关键的支持技能:
① 软、硬件的协同计划技能。重要是面向差别目标体系的软件和硬件的成果分别理论(Functional Partition Theory)和计划空间搜刮技能。
② IP模块复用技能。IP是指那些集成度较高并具有完备成果的单位模块,如MPU、DSP、DRAM、Flash等模块。IP模块的再利用,除了可以收缩芯片的计划时间外,还能大大低落计划和制造的本钱,进步可靠性。IP可分为硬IP和软IP。SoPC中利用的IP多数是软IP。软IP可重定制、剪裁和升级,为优化资源和进步性能提供了很大的机动性。
③ 模块以及模块界面间的综合阐发和验证技能。综合阐发和验证是难点,要为硬件和软件的协同形貌、验证和综合提供一个主动化的集成开辟环境。
已往,最常用的计划要领是层次式计划,把计划分为3个域:举动域形貌体系的成果;布局域形貌体系的逻辑构成;物理域形貌详细实现的多少特性和物理特性。采取自顶向下的层次式计划要领要完成体系级、成果级、寄存器传输级、门级、电路级、版图级(物理级)的计划,经历体系形貌、成果计划、逻辑计划、电路计划、物理计划、计划验证和芯片制造的流程,是一个每次都重新开始的计划进程。传统的IC计划要领是先计划硬件,再根据算法计划软件。在深亚微米计划中,硬件的用度黑白常大的。当计划完成后,发明错误举行变动时,要耗费大量的人力、物力和时间,且计划周期变长。
如今,芯片的计划是创建在IP复用的底子之上的,利用已有的芯核举行计划重用,完成目标体系的团体计划以及体系成果的仿真和验证。一样平常采取从体系举动级开始的自顶向下计划要领,把处理惩罚机制、模型算法、软件、芯片布局、电路直至器件的计划精密连合起来,在单个芯片上完成整个体系的成果。同IC构成的体系相比,由于采取了软硬件协同计划的要领,可以或许综归并齐备思量整个体系的种种环境,可以在同样的工艺技能条件下实现更高性能的体系指标。既收缩开辟周期,又有更好的计划结果,同时还能餍足苛刻的计划限定。
2.2软硬件协同计划的生长进程
嵌入式体系计划早期,重要有两种方法:一是针对一个特定的硬件举行软件开辟;二是根据一个已有的软件实现其详细的硬件布局。前者是一个软件开辟题目;后者是一个软件固化的题目。早期的这种计划没有同一的软硬件协同表现要领;没有计划空间搜刮,从而不克不及主动地举行差别的软硬件分别,并对差别的分别举行评估;不克不及从体系级举行验证,不容易发明软硬件边界的兼容题目;上市周期较长。因此,早期的计划存在种种缺陷和不敷。利用软硬件协同计划后,从体系成果形貌开始,将软硬件完成的成果作齐备思量并均衡,在计划空间搜刮技能的支持下,计划出差别的软硬件体系布局并举行评估,终极找到较抱负的目标体系的软硬件体系布局,然后利用软硬件分别理论举行软硬件分别并计划实现。在计划实现时,始终保持软件和硬件计划的并行举行,并提供相互通讯的支持。在计划后期对整个体系举行验证,终极计划出餍足条件限定的目标体系。以FPGA为底子的SoPC的软硬件协同计划,为芯片计划实现提供了更为广阔自由的空间。
2.3软硬件协同计划涉及的内容
如今,SoPC中的软硬件协同计划重要涉及到以下内容:体系成果形貌要领、计划空间搜刮(DSE)支持、资源利用最优化的评估要领、软硬件分别理论、软硬件细致计划、硬件综合和软件编译、代码优化、软硬件协同仿真和验证等几个方面,以及同体系计划相干的低压、低功耗、多布线层数、高总线时钟频率、I/O引脚布线等相干内容。
体系成果形貌要领办理体系的同一形貌。这种形貌应当是对软硬件通用的,如今一样平常采取体系形貌语言的方法。在软硬件分别后,能编译并映射成为硬件形貌语言和软件实现语言,为目标体系的软硬件协同事变提供强有力的包管。
计划空间搜刮提供了一种实现差别计划方法、明白目标体系的机制,计划出差别的软硬件体系布局,使最优化的计划实现成为大概。
最优化的评估要领办理软硬件的计量和评估指标,从而可以或许对差别的计划举行资源占用评估,并进而选出最优化的计划。
FPGA的评估可以做到以引脚为根本核算单位。软硬件分别理论从本钱和性能出发,决定软硬件的分别依据和要领。基源头根本则是高速、低功耗由硬件实现;多品种、小批量由软件实现;处理惩罚器和专用硬件并用以进步处理惩罚速率和低落功耗。分别的要领从两方面动手:一是面向软件,从软件到硬件餍足时序请求;二是面向硬件,从硬件到软件低落本钱。在分别时,要思量目标体系布局、粒度、软硬件实现所占用的本钱等种种因素。分别完后,孕育产生软硬件支解界面,供软硬件雷同、验证和测试利用。
软硬件细致计划完成分别后的软件和硬件的计划实现。硬件综合是在厂家综合库的支持下,完成举动级、RTL以及逻辑级的综合。代码优化完成对计划实现后的体系举行优化,重要是与处理惩罚器相干的优化和与处理惩罚器无关的优化。与处理惩罚器相干的优化受差别的处理惩罚器范例影响很大,一样平常根据处理惩罚器举行代码选择、重要是指令的选择;指令的调理(并行、流水线等)、寄存器的分派战略等;与处理惩罚器无关的优化重要有常量优化、变量优化和代换、表达式优化、消除无用变量、控制流优化和循环内优化等。
软硬件协同仿真和验证完成计划好的体系的仿真和验证,包管目标体系的成果实现、餍足性能请求和限定条件,从团体上验证整个体系。
2.4软硬件协同计划的体系布局
软硬件协同计划在实际应用中表现为软硬件协同计划平台的开辟。从体系构成的角度,可以用图1来表述软硬件协同计划平台的体系构成。此中计划空间搜刮部分由体系布局库、计划库、本钱库、体系成果形貌和体系计划束缚条件构成。计划空间搜刮的任务是对差别的目标请求找到得当的办理步伐。体系布局库是存放协同计划支持的种种体系布局数据库,一样平常是通过差别的模型表现出来。到如今为止,利用较多的模型有状态转换模型(有限状态机)、变乱驱动模型、物理布局构成模型、数据流程模型和殽杂模型等。体系布局的丰富程度决定了对目标体系的软硬件协同计划的支持力度。计划库中包括可以利用的步伐或网表的计划实行数据库,为新的计划提供参考依据。本钱库中提供计划本钱的谋略要领以及由目标体系的资源斲丧、电源斲丧、芯单方面积、及时请求等构成的数据库,是事变在给定平台上的明白界定。在计划空间搜刮中另有一个比较紧张的步调,是对一个给定计划举行评估,重要有评估目标体系的本钱、性能、精确性等。颠末评估后的计划可以举行软硬件分别,孕育产生硬件形貌、软件形貌和软硬件界面形貌三个部分,以及各个部分的详细实现并优化。最掉队行硬件综合、软硬件集成和体系仿真和测试。
图1软硬件协同计划平台的构成
2.5软硬件协同计划流程
面向SoPC的软硬件协同计划流程从目标体系构思开始。对一个给定的目标体系,颠末构思,完成其体系团体形貌,然后交给软硬件协同计划的开辟集成环境,由谋略机主动完成剩余的全部事变。一样平常而言,还要颠末模块的举动形貌、对模块的有效性查抄、软硬件分别、硬件综合、软件编译、软硬件集成、软硬件协同仿真与验证等各个阶段。软硬件协同计划流程如图2所示。此中软硬件分别后孕育产生硬件部分、软件部分和软硬件接口界面三个部分。硬件部分依照硬件形貌、硬件综合与配置、天生硬件组建和配置模块;软件部分依照软件形貌、软件天生和参数化的步调,天生软件模块。末了把天生的软硬件模块和软硬件界面集成,并举行软硬件协同仿真,以举行体系评估和计划验证。
图2软硬件协同计划流程
3 SoPC的软硬件协同计划的上风
同SoPC相比,SoC具有如下缺点:起首,利用ASIC的试制和流片危害大、本钱高、告成率不高,一旦制片后就不克不及再举行修改。其次,利用ASIC计划芯片体系时,由于微控制器、成果模块等IP是根据目标体系性能举行选择的,一旦选定,所选择的IP的性能就不克不及再修改,也就根本上决定了目标体系的性能,使得目标体系的性能优化空间相称局促,同时也使得计划完成后的目标体系的硬件升级变得不大概。再有,便是这种方法的硬件计划只能是流于拼装和连接选定的硬件体系布局,指令不可变动,根据指令体系来举行编程。计划职员的创造发挥自由度局促,限定了人的能动性在计划中应有的作用。
SoPC的可编程特性对这些题目没有限定。SoPC技能在电子计划上给出了一种以人的根本本领为依据的软硬件综合办理方案;同时涉及到底层的硬件体系计划和软件计划,在体系化方面有了宽大的自由度。开辟者在软硬件体系的综合与构建方面可以充分发挥创造性和想象力,使得多角度、多因素和多布局层面的大幅度优化计划成为大概,利用其可编程特性与IP核相连合,可以快速、低廉地开辟出差别的协处理惩罚器,从而真正实现硬件编程、升级和重构。随着FPGA制造产业的生长,这种上风将会越发明显。
4 支持SoPC软硬件协同计划的东西
(1) Cadence Virtual Component Codesign (VCC)
第一个为IP复用所计划的产业体系级HW/SW co-design开辟平台环境。在早期计划时就可以确认软硬件分别的临界体系布局。它通过电子提供链举行交换和互换计划信息,为体系库和SoC提供须要的框架。
(2) System C
一种通过类东西扩展的基于C/C++的建模平台,支持体系级软硬件协同计划仿真和验证,是创建在C++底子上的新型建模要领,方便了体系级计划和IP互换。在System C语言形貌中,最根本的布局块是进程。一个完备的体系形貌包括几个并发进程,进程之间通过信号相互接洽,且可以通过外在时钟确定变乱的次序和进程同步。System C源码可以用来综合硬件,把System C写的硬件形貌综合成门级网表,以便IC实现或综合成一个Verilog HDL;或VHDL的RTL形貌,以便FPGA综合。用System C开辟的硬件模型可以用标准的C++编译器来编译,经编译后形成一个可实行的应用步伐,计划职员可以通过console来观察体系的举动,验证体系成果和布局。
(3) 美国Altera公司的Quartus II软件
集成精良的东西。它具有不平凡的综合布局及平面筹划和布局布线本领,可以举行时序和资源优化;强有力的验证成果是业内惟一支持在体系更新RAM/ROM和常量的软件,可以方便地在体系实行试验而不必重新编译计划或重新配置FPGA的别的部分,大大减小了计划周期;容易利用,保持了可编程逻辑器件范畴上的性能领导职位地方。作为体系天生东西的SoPC Builder,集成在Quartus II软件的全部版本中。SoPC Builder进步了FPGA计划职员的事变服从。以其新特性及面向SoPC Builder知识产权的IP内核,计划职员采取PCI接口和DDR/DDR2外部存储器,可以敏捷天生体系,举行引脚分派,进步计划集成度和可重用性。
结语
软硬件协同计划作为体系级计划的支持技能,理论上和技能上还在不绝地生长和美满中。研究开辟成果强大的软硬件协同计划平台,是这一技能渐渐走向成熟的标记,而基于FPGA实现的SoPC技能,比基于ASIC实现的SoC技能提供了一种更机动而本钱低廉的体系级芯片计划方法。国表里都在研发支持SoPC技能的软硬件协同计划平台。在海内,这方面的研究开辟已经展开并获取了开真个结果。北京大学谋略机系杨芙清院士和程旭传授等人,已经开辟告成海内第一个微处理惩罚器软硬件协同计划平台;上海嵌入式体系研究所开辟的基于FPGA实现处理惩罚器的ECNUX开辟平台,1.0版本已经完成,成果强大的2.0版本正在开辟进程中。在不久的将来,随着软硬件协同计划技能研究的深入,支持FPGA计划实现的成果强大的软硬件协同计划平台将会出现,并加快推进嵌入式体系的计划开辟进程。
参考文献
1 潘松,黄继业,曾毓. SoPC技能实用教程. 北京:清华大学出版社,2005
2 徐欣,于红旗,易凡,等. 基于FPGA的嵌入式体系计划. 北京:机器产业出版社,2005
3 (美)Rochit Raj Suman. SystemOnChip:Design and Test. 于敦山,盛世敏,田泽,译. 北京:北京航空航天大学出版社,2003
4 郭鹏飞. SoC计划中的软硬件协同计划. 中国电子站,2005\02\11
唐思章,讲师;黄勇,副传授:重要研究方向为嵌入式体系应用。