soc的软硬件协同设计方法和技术

上传人:自*** 文档编号:79655832 上传时间:2019-02-17 格式:DOC 页数:7 大小:103.50KB
返回 下载 相关 举报
soc的软硬件协同设计方法和技术_第1页
第1页 / 共7页
soc的软硬件协同设计方法和技术_第2页
第2页 / 共7页
soc的软硬件协同设计方法和技术_第3页
第3页 / 共7页
soc的软硬件协同设计方法和技术_第4页
第4页 / 共7页
soc的软硬件协同设计方法和技术_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《soc的软硬件协同设计方法和技术》由会员分享,可在线阅读,更多相关《soc的软硬件协同设计方法和技术(7页珍藏版)》请在金锄头文库上搜索。

1、SOC的软硬件协同设计方法和技术摘要:随着嵌入式系统与微电子技术的飞速发展,硬件的集成度越来越高,这使得将CPU、存储器和I/O设备集成到一个硅片上成为可能,SOC应运而生,并以其集成度高、可靠性好、产品问世周期短等特点逐步成为当前嵌入式系统设计技术的主流。传统的嵌入式系统设计开发方法无法满足Soc设计的特殊要求,这给系统设计人员带来了巨大的挑战和机遇,因此针对Soc的设计方法学己经成为当前研究的热点课题。论文首先分析了嵌入式系统设计的发展趋势,论述了传统设计开发方法和工具的局限性,针对Soc设计技术的特点探究了Soc软硬件协同设计方法的流程,并讨论了目前软硬件协同设计的现状。关键词: 软硬件

2、协同设计,可重用设计,SOC背景:计算机从1946年诞生以来,经历了一个快速发展的过程,现在的计算机没有变成科幻片电影中那样贪婪、庞大的怪物,而是变得小巧玲珑、无处不在,它们藏身在任何地方,又消失在所有地方,功能强大,却又无影无踪,这就是嵌入式系统。嵌入式系统是以应用为中心、计算机技术为基础、软件硬件可剪裁、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、微电子技术和现代电子系统技术与各个行业的具体应用相结合的产物,这一点决定了它必然是一个技术密集、高度分散、不断创新的知识集成系统。嵌入式系纫泛应用于国民经济和国防建设的各个领域,发展非常迅

3、速,调查数据表明,嵌入式系统的增长为每年18%,大约是整个信息技术产业平均增长的两倍1,目前世界上大约有2亿台通用计算机,而嵌入式处理器大约60亿个,嵌入式系统产业是二十一世纪信息产业的重要增长点。随着集成电路制造工艺的飞速发展,嵌入式系统硬件的集成度越来越高,这使得将嵌入式微处理器、存储器、I/O设备等硬件组成部件集成到单个芯片上成为可能,片上系统SoC (System on Chip)应运而生2。SOC极大地缩小了系统体积; 减少了板级系统SoB(System on Board)中芯片与芯片之间的互连延迟,从而提高了系统的性能; 强调设计重用思想,提高了设计效率,缩短了设计周期,减少了产品

4、的上市时间。因此SOC以其集成度高、体积小、功耗少、可靠性好、产品问世周期短等优点得到了越来越广泛地应用,并且正在逐渐成为当前嵌入式系统设计的主流技术3。但Soc设计不同于传统嵌入式系统的开发,如何快速、有效地开发和设计Soc产品是当前嵌入式设计开发方法学的一个十分重要的研究领域。传统设计方法的局限性:系统需求描述划分软件和硬件硬件设计与实现软件设计与实现硬件设计错误软件硬件划分错误图1-1 传统的嵌入式系统设计流程过去的嵌入式系统硬件部分设计相对于软件部分来说更容易,系统开发主要是在目标电路板上进行编程和交叉调试,所以那时的嵌入式系统开发很大精力都放在软件上,通常认为只要软件开发质量能够很好

5、地保证,就可以很好地满足整个系统的功能和性能需求。传统的嵌入式系统设计流程如图1-1所示。系统软件和硬件划分完成以后,首先进行硬件子系统的设计与实现,再进行软件子系统的设计与实现,因此整个系统的设计与实现过程基本上是一个串行过程。随着微电子技术的飞速发展,硬件的集成度越来越高,嵌入式产品大量采用soc技术,使得传统的嵌入式系统开发方法逐渐暴露出很多不足之处:软件和硬件的开发过程割裂、缺乏沟通;设计自动化层次低;设计过程串行化增加了设计周期;缺乏设计重用支持。图1-2 设计复杂度和设计生产率的增长趋势图1-2显示了设计复杂性和设计生产率的增长趋势,由此可知目前设计生产率的提高速度赶不上设计复杂度

6、增加的速度,设计方法和工具成为制约嵌入式系统发展的瓶颈,soc技术给嵌入式系统设计带来了巨大的挑战,嵌入式系统设计方法学期待革新。软硬件协同设计技术:根据目前计算机和IC设计技术的发展来看,系统软件的研制要落后于硬件,如果在芯片设计过程中,没有相应的软件支持,那么对芯片的验证和模拟仿真都将遇到极大的障碍4。针对嵌入式系统Soc设计面临的问题与挑战,研究者们开始探索新的设计方法学软硬件协同设计(Hardware/Software Co-Design)方法学。软硬件协同设计方法学的研究始于90年代初期,第一届International Workshop on Hardware/Software C

7、odesign会议于1993年召开5,它标志着软硬件协同设计方法学的研究正式展开,软硬件协同设计领域正式确立。软硬件协同设计不仅是一种设计技术,同时也是种新的设计方法学,其核心问题是协调软件子系统和硬件子系统。与传统的嵌入式系统设计方法不同,软硬件协同设计强调软件和硬件设计开发的并行性和相互反馈,如图1-3所示,克服了传统方法中把软件和硬件分开设计所带来的种种弊端,协调软件和硬件之间的制约关系,达到系统高效工作的目的,软硬件协同设计提高了设计抽象的层次,拓展了设计覆盖的范围。与此同时,软硬件协同设计强调利用现有资源(已经过验证的IP核和软件构件),缩短系统开发周期,降低系统成本,提高系统性能,

8、保证系统开发质量,适应Soc设计。Soc软硬件协同设计研究目前还处于发展阶段,许多技术仍未成熟和实用化,但是该技术将给嵌入式系统设计带来革命性的变化,能够极大地提高设计生产力,研究意义重大。SOC软硬件协同设计流程:系统需求描述软硬件协同划分硬件设计与实现软件设计与实现图1-3 软硬件协同设计流程传统芯片的设计都是专注于某个特定功能模块的设计,比如CPU、存储器、I/O接口等,即使是这样的一些芯片在以往的设计中己经是很复杂的问题了,需要很多高级设计人员花费大量的时间和精力,然而soc要完成的功能通常包括了多个传统芯片的功能,甚至还要复杂,因此设计片上系统soc是一个极为复杂的问题,一方面要满足

9、复杂的功能和较高的性能,另一方面又要尽可能降低系统开发的成本,缩短产品问世周期,这给设计和开发soc带来了挑战。对于如此复杂的soc,如果芯片的每个部分都重新设计,那么其工作量之巨大是可想而知的,因此片上系统soc一般采用基于核的设计,软件部分采用构件重用,硬件部分采用IP核重用6,即将一个系统按功能划分成若干个模块,然后直接利用设计好的软件构件和IP核搭建一个具有特定功能的芯片。soc的设计重用使系统设计者可以更多地考虑系统结构,而不必深陷于模块实现,从而达到降低系统设计复杂性的目的。但是IP核和软件构件重用决不等同于集成电路设计中的单元库的使用,不是一些IP核和软件构件的简单堆砌,还包含着

10、很多有待解决的问题,如软硬件划分、验证、测试等,这也给soc设计方法学带来了巨大的挑战。软硬件协同设计的目的就是找到一种最优化的软硬件比例结构以实现系统规范,同时满足系统速度、面积、功耗、灵活性等要求。软硬件协同设计是一种自顶向下、自底向上的设计方法。具体流程如图1-4所示,在系统行为描述阶段,系统将被以最直接的方式描述出来。此时不涉及任何有关系统如何实现的问题,指描述系统外在的行为表现,更不涉及哪些是硬件、哪些是软件。在这个阶段,需要对整个系统的行为进行验证,以期在设计的开始阶段就发现系统行为要求中的错误。之后,要对系统行为描述进行功能划分。将系统划分为互连的模块,每个模块都执行功能相对独立

11、的特定行为,并确定模块的互连关系和接口标准,完成系统的结构模型描述。同样在完成系统的结构描述后,也需要进行验证,以确认结构描述与行为描述的一致。软硬件划分在结构描述完成后进行,以确定各个部分由软件或硬件实现。更重要的是,在进行完软硬件划分后,要对系统的性能、灵活性等参数进行预测,以评估软硬件划分,甚至功能划分的合理性。如果划分不合理,就需要重新进行软硬件划分或功能划分,再进行评估。如此反复,直至获得最优的解决方案。在完成软硬件划分之后,就可以对各个模块进行细化、综合(Synthesis),直至虚拟器件原型(包括软件)。在整个细化过程中,应多次进行软硬件的协同验证(Verification)7,

12、以及时发现细化中的错误。在到达器件原型级后,需要对各硬件原型进行映射(mapping),完成最终的实现。对已经由厂商提供IP的器件,可直接进行例化;对自己设计的器件,还要进一步进行综合、布图等工作。值得注意的是有些厂商提供较高层次的IP,这样,在较高的层次上就可以用IP替代原型。在整个设计完毕之前还要对设计进行底层的软硬件协同验证和仿真。最终确认设计是否满足功能要求和条件约束。如果需要,还应对系统的性能、灵活性再次进行评估,以确定前面的先验估计是否准确。如果后验评估与先验评估相差太大,可能还需要重新进行结构划分和软硬件划分。需求分析和产品定义SOC软硬件协同综合SOC软硬件协同验证正确系统功能

13、组成SOC设计结构正确的设计系统开发实现开发得到的SOCSOC测试正确最终SOCIP核和软件构件库NN图1-4 SOC软硬件协同设计流程与传统方法不同,此Soc软硬件协同设计流程具有以下特点:l 充分考虑到片上系统Soc的可重用设计特点,建立了一个IP核和软件构件库,将可重用设计思想融入Soc的软硬件协同划分、物硬件协同验证、系统开发实现和测试阶段;l 允许系统在开发实现以前评价和验证设计结构的功能要求和各项性能指标,避免了因系 统设计不当而导致的错误,达到了尽早纠错、排错的目的;l 充分体现了基于soc技术开发的特点,明确了设计开发过程中各个阶段的任务和目的,有效地缩短了产品设计开发周期,增

14、加了产品的市场竞争能力,适应当前嵌入式电子产 品的要求,易于实现,对soc的设计实践有指导意义。软硬件协同设计的复杂度是相当之高的。因此,设计的重用(reuse)就显得尤为重要。软硬件协同设计的模块化特性为重用的实现创造了良好的条件。在任意一个层次上,目标模块都可以由一个已经实现的具有知识产权的模块(称为IP核)代替。由于重用可以从任意一层开始,这对产品的升级和改型是极为有利的。虚拟元件的制造商所提供的虚元件描述通常也是多层次的。从行为描述,到结构描述,甚至到版图描述。这为软硬件协同设计提供了很大的便利,同时它也是缩短面市周期的一个重要因素。软硬件协同设计的现状:关于目前SOC软硬件协同设计的

15、现状和研究热点主要有以下四个方面:(1)系统行为和结构的描述问题。按照现有的软硬件协同设计方法,在确定系统结构并完成软硬件的划分之后,用行为模型和HDL语言描述和数据路径综合的方法来完成硬件设计,用汇编语言或者C语言和编译器来实现软件,系统参数的确定就通过对软硬件协同划分的模拟获得,因此系统结构的确定非常关键。单纯的面向较低抽象层次的硬件描述语言已经不能适应SoC设计的要求,必须尽快提出具有很强系统设计能力的语言。把现有的C或者C+语言进行扩展使之发展成为SoC包括嵌入式系统最主要的系统规范描述语言是一种思路,所以就出现了研制C到VHDL和Verilog语言转化的工具8。(2)各种不同的IP模块的集成问题。SoC中所使用的IP核来自不同的供应商,有些还可能是自己设计的。所以IC设计工程师必须对它们进行必要的修改和描述,以解决不同模块在同一个仿真环境中仿真一致性问题。由于目前高层设计综合还没有商用化,所以还只是依靠系统工程师个人的经验和问题的特殊性进行集成。(3)协同仿真技术始终是SoC设计中的重中之重。SoC的仿真涉及到

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号