《SOC系统的结构设计.pptx》由会员分享,可在线阅读,更多相关《SOC系统的结构设计.pptx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SOC的软硬件协同设计SOC的软硬件协同设计过程:为了进行合理的系统设计,恰当地分配系统硬件和软件所承担的任务,在软件和硬件实现之前,对系统所实现的功能进行折中,以便产生一个最佳的软件、硬件分解方案来满足系统速度、面积、存储容量、功耗、实时性等一系列技术指标要求;在流片投产之前,对包含软件、硬件的嵌入式系统统所实现的功能进行全面验证,以确保SOC所实现的功能与最初的设计要求相一致。第1页/共20页SOC的软硬件协同设计硬件和软件的协同设计是一条具有挑战性的技术路线。系统软件的设计必须考虑芯片的硬件结构,而系统的芯片结构,更需要硬件设计与软件设计的协同,使整个系统在协同设计中得到优化。电子系统传
2、统的设计方法要等到实际的硬件模型建立之后才能开始进行软件的调试。然而,协同设计是软件与硬件的设计同时进行,在系统设计的初期阶段紧密地相连,以便及时发现设计所需的特殊要求。第2页/共20页SOC的软硬件协同设计近年来,由于硬件描述语言的开发使用和数字仿真技术的发展,使得协同设计成为可能,软件设计者在芯片试制完成以前就可以获得开发的虚拟硬件平台,在其上运行真正的操作软件,而不是繁琐的设计测试向量,从而使硬件设计者和软件设计者可以联合进行系统芯片的开发,缩短SOC的设计周期,提高设计效率。基于高级描述语言System C/System Verilog 的系统描述与仿真;基于FPGA/硬件仿真器的系统
3、原型进行系统仿真。第3页/共20页SOC的软硬件协同设计第4页/共20页SOC的软硬件协同设计SOC处理器的指令集决定了软件程序的设计;在软件设计中,根据算法的需要而增加特殊指令,且需要相应的硬件功能支持;软件的仿真需要虚拟机平台的支持;利用软硬件的协同设计,整个设计过程从算法确定、模块划分、开发到调试,无需过多的设计反复就可以完成。第5页/共20页SOC的软硬件协同设计系统设计包括系统需求确定,软硬件划分、软硬件综合、系统级仿真、系统实现等几个过程。软硬件协同设计主要在比较高的系统级上进行。硬件采用行为描述,同实时操作系统在行为级进行功能协同仿真。指令集的定义产生指令集模型再产主基于周期的指
4、令集仿真模型(RTL级)。指令级模型、处理器模型、其他HDL RTL模型和实时操作系统以及应用程序进行协同仿真,对于仿真的结果做出评估(面积、速度、功耗等),并可形成指令结构的反馈,从而对软硬件划分的结果是否合理做性能评估。经过n次协同仿真,可以产生一个软件硬件的合理划分。第6页/共20页SOC的软硬件协同设计 性能分析 性能分析是SOC设计早期阶段中必不可少的环节。性能分析应当解决硬件引擎模型的建立和软件行为的分析。第7页/共20页SOC的软硬件协同设计 性能分析 性能分析是SOC设计早期阶段中必不可少的环节,包括:(1)系统性能分析(2)体系结构性能分析(3)CPU性能分析(4)软硬件的划
5、分性能分析应当解决硬件引擎模型的建立和软件行为的分析。第8页/共20页SOC的软硬件协同设计 性能分析 1.系统性能分析 系统性能分析的目的是将有关系统性能的描述转换成相应的软硬件设计规范。系统性能分析的任务有:(1)明确性能描述的含义。(2)估算满足性能规范的硬件成本。(3)估算软硬件的开发时间。第9页/共20页SOC的软硬件协同设计 性能分析 2.体系结构性能分析 体系结构性能分析的目的是根据硬件设计的规范确定系统硬件的构架,系统使用处理器的种类和数量。在进行体系结构性能分析时,首先先应提出候选的体系结构,在性能分析的基础上,综合考虑系统的成本、设计周期、可靠性等各种因素,选择较好的一种。
6、处理器对操作系统的支持也是处理器类型选择的一个重要方面第10页/共20页SOC的软硬件协同设计 性能分析 3.CPU性能分析 CPU性能分析的目的是确定CPU的主体框架,其内容包括CPU的指令集、CPU的并行处理技术、CPU的字长以及流水线级数等。高速缓存Cache也是CPU性能分析的一个重要内容。高速缓存对CPU的性能影响比指令的执行方式对CPU的影响更大。CPU性能的提高,可以通过增大Cache的容量,将一部分关键代码驻留在Cache上实现。第11页/共20页SOC的软硬件协同设计 性能分析 4软硬件的划分 当体系结构确定后,就可以对软硬件的功能进行划分。软硬件的划分操作必须在设计规范的指
7、导下进行,并且找出影响系统性能的关键路径。对于能够用软件达到系统性能要求的任务,应尽可能用软件完成,以降低系统的成本;而对于一些用软件难以达到系统必须指标的功能,则应由专用的硬件完成,使得划分后的软硬件功能满足关键路径的技术要求。在进行软硬件划分时,所用的模型应比较简单,以便对划分结构做出快速评估。第12页/共20页SOC的软硬件协同设计 性能评估 软硬件划分是否合理,最终是需要经过性能评估来确定的。数字系统评估的最重要的指标是速度和成本两个因素,在任何情况下,首先应保证系统的时间特性,成本是第二位的。对系统的性能评估就是要将速度和成本这两方面的内容转换为一组可以度量的,并在设计过程中可以观察
8、到的具体指标。通常系统的时间特性估计以时延为标准。对系统成本的估计则落实到系统的复杂度上,在SOC设计中又多以等效门数和所占芯片面积为标准。第13页/共20页SOC的软硬件协同设计 性能评估 时间性能估计:在高层次综合中,速度指标被转变成总的控制步数量和控制步的步长。考虑到控制步的概念可以等同于时钟,故认为每个控制步的步长是相等的。对于一个需要n控制步实现的运算,如果控制步长为t,那么系统的全部时延为nt。一般情况下,只需对系统描述中的关键路径进行分析(也可以通过算子调度),就可以得出所需的控制步数。对于比较复杂的系统,每个控制步中安排的操作种类不同,每个操作所对应的物理运算单元也不相同,它们
9、的时延不同,控制步长的精确估计比较困难。为了避免选择过小的控制步长,一般要选取具有最大时延的资源的时延作为控制步长。第14页/共20页SOC的软硬件协同设计 性能评估 代价估计:代价估计与系统的复杂度有关,可将系统的复杂度转换成等效门表示,所占用的等效门越多代价越高。数字系统的代价估计主要由寄存器、运算和控制部件以及连接网络三部分构成。第15页/共20页SOC的软硬件协同设计 性能评估 1寄存器代价估计 寄存器是数字系统中应用广泛且数量众多的一类单元电路,寄存器的数量是数字系统中非常重要的代价指标,因为寄存器是一个代价颇高的元件。尽管每个寄存器实际等效门并不多(约为4个门,每个门4个晶体管),
10、但随着寄存器数量的增加,其连线网络的复杂度也随之上升。综合考虑这些因素后,相当于每个寄存器的等效门数将增加。经验证明,500个寄存器以下仍可以考虑4门/寄存器的单位复杂度;达到1000个寄存器时,则需考虑(68)门寄存器的单位复杂度;达到2000个寄存器时,则需考虑(1216)门/寄存器的单位复杂度。第16页/共20页SOC的软硬件协同设计 性能评估 2.运算部件代价估计运算部件的代价以运算部件的复杂度和和数量来衡量,复杂度以实现运算部件的等效门的数量表示。完成复杂计算的部件其代价也往往比较高。例如,一个乘法器部件的代价要高于一个同样字长的加法器;而字长相同的加法器和减法器的代价是一样的。在高
11、层次综合中,还需考虑硬件资源的利用用率。利用率高的硬件资源比利用率低的资源的代价要低,尽管它们是同一种硬件资源。从这个意义上讲,利用率高的硬件资源是值得的,而利用率低的资源应在设计中避免。第17页/共20页SOC的软硬件协同设计 性能评估 3.控制部件代价估计控制部件的代价估计同样以实现该控制部件的等效门计算。第18页/共20页SOC的软硬件协同设计 性能评估 4连接网络的代价估算连接网络通常由晶体管开关和连线组成,因此,对其进行代价估算时,应将晶体管和连线分别计算。若连接网络的晶体管开关总数为Nt,则晶体管开关的代价Ct为:Ct=Kt.Nt 式中,Kt为晶体管开关到等效门的转换系数。连线的代价用连线的面积衡量,其代价Cl为 Cl=Kl.S 式中,S为连线占用的面积,Kl是单位面积的连线到等效门的转换系数。这样,连接网络的总的代价Cnet为 Cnet=Cl+Cs=+第19页/共20页感谢您的观看!第20页/共20页
限制150内