(微电子学与固体电子学专业论文)sopc软硬件协同设计的方法研究.pdf_第1页
(微电子学与固体电子学专业论文)sopc软硬件协同设计的方法研究.pdf_第2页
(微电子学与固体电子学专业论文)sopc软硬件协同设计的方法研究.pdf_第3页
(微电子学与固体电子学专业论文)sopc软硬件协同设计的方法研究.pdf_第4页
(微电子学与固体电子学专业论文)sopc软硬件协同设计的方法研究.pdf_第5页
已阅读5页,还剩83页未读 继续免费阅读

(微电子学与固体电子学专业论文)sopc软硬件协同设计的方法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 摘要:s o p c 技术最早是由美国a l t e r a 公司于2 0 0 0 年提出的,是现代计算机辅助 设计技术、电子设计自动化e d a 技术( e l e c t r o n i c sd e s i g na u t o m a t i o n ) 和大规模集成 电路技术高度发展的产物。s o p c 即片上可编程系统,广义上讲,属于s o c ( 片上 系统) ,是系统级的芯片设计技术。狭义的讲,s o c 是使用a s i c 为物理载体进行 芯片设计的技术,而s o p c 是使用f p g a 为物理载体进行芯片设计的技术。传统 的设计方法存在着一些缺陷,如:软硬件的开发过程割裂,缺乏沟通。针对这些 缺陷,提出了软硬件协同设计。软硬件协同设计是电子系统复杂化后的一种设计 新趋势,s o c 和s o p c 是这一趋势的典型代表。s o p c 技术为系统芯片设计提供 了一种更为方便、灵活和可靠的实现方式,但s o p c 的设计在理论上和实践上还 都处于发展阶段。 本文重点研究了s o p c 设计系统的软硬件协同设计方法,给出了s o p c 系统 的建模方法,比较了两种软硬件协同划分算法一模拟退火算法和遗传算法,分 析了基于n i o si i 处理器的s o p c 系统的软硬件设计方法,给出了实例s o p c 系统 的体系结构。在基于n i o si i 的s o p c 设计领域,首次结合使用了遗传算法和模拟 退火算法进行了目标s o p c 系统的软硬件划分,具体设计了n i o si i 系统的硬件开 发平台,并在此开发平台上实现了s o p c 系统实例,同时比较了不同软硬件划分 的优劣。s o p c 系统实例主要实现三个功能,核心板上的4 位l e d 按流水灯闪亮, 串口终端打印显示“你好,n i o si i ”,底板8 * 8 点阵l e d 动态绘制一个心形图案, 同时在另一块点阵l e d 上绘制一个静态笑脸图案。 关键词:s o p c ;n i o si i ;软硬件协同设计;软硬件划分;模拟退火算法;遗传算 法;f i ) 3 a ;i p 核 分类号: a b s t r a c t a b s t r a c t : s o p ct e c h n o l o g yi sf i r s tr a i s e db yu sa l t e r ac o r p o r a t i o ni n2 0 0 0 , a st h er e s u l to f t h ed e v e l o p m e n to f c a d 、e d aa n dv l s id e s i g nt e c h n o l o g y b r o a d l ys p e a k i n g , s o p c ( s y s t e mo i lap r o g r a m m a b l ec h i p ) b e l o n g st os o c ( s y s t e mo nac h i p ) , i su k i n do f c h i p d e s i g nm e t h o d s o ns y s t e l e v e l i nai l a l t o w 湖豫s o ct e c h n o l o g yd e s i g n sc h i p s u s i n g a s i ca st h ep h y s i c a lc a r r i e r , w h i l es o p cu s e sf p g a s o m ed i s a d v a n t a g e se x s i ti nt h e t r a d i t i o n a ld e s i g nm e t h o d s u c ha st h eh w - s wd e v e l o p i n gp r o c e s sd i s s e v e r sa n dl a c k s o fc o m m u n i c a t i o n h a r d w a r e - s o f t w a r ec o - d e s i g ni sp u tf o r w a r d 鼬t os o l v et h e s e s h o r t c o m i n g s h w - s wc o - d e s i g ni san e wt r e n da l o n gw i t ht h ec o m p l i c a t i o no f e l e c t r o n i cs y s t e m s o ca n ds o p ca 托r e p r e s e n t a t i v e so ft h i st r e n d s o p co f f e r e da m o g cc o n v e n i e n ta n dm o t - er e l i a b l er e a l i z a t i o nl l l a f l n m f o rt h ed e s i g no fs y s t e mc h i p h o w e v e r , t h es o p cd e s i g ni sn o tm a t u r eb o t hi nt h e o r ya n dp r a c t i c e 。 t h i st h e s i s 啪p h a s i z e so nt h es t i l d yo fs o p ch w - s wc o - d e s i g nm e t h o d s e v e r a l m o d e l i n gm e a n so fs o p cs y s t e ma r ep r o v i d e d t w oh w - s wc o - p a r t i t i o na l g o r i t h m - s i m u l a t e da n n e a l i n ga l g o r i t h ma n dg e n e t i ca l g o r i t h ma r cc o m p a r e d b e s i d e s , t h i s a r t i c l ea n a l y s e st h es o p ch w - s wc o - d e s i g nm e t h o db a s e do nt h en i o si ie m b e d d e d p r o c e s s o r t h es o p ct a r g e ts y s t e m sa r c h i t e c t u r ei sa l s og i v e n i nt h ef i e l do fs o p c d e s i g nb a s e d0 1 1n i n si ip r ;o c e s s o r ,t l l i st h e s i sf i r s tc o m b i n e ss i m u l a t e da n n e a l i n g a l g o r i t h mw i t hg e n e t i ca l g o r i t h mt op a r t i t i o nh a r d w a r ea n d s o f t w a r eo f t h es o p ct a r g e t s y s t e m t h en i o si id e v e l o p i n gp l a t f o r mi sd e s i g n e d , a n dt h es o p ct a r g e ts y s t e mi s a c h i e v e du s i n gt h i sp l a t f o r m t h r o u g hc o m p a r i s o n ,ab e t t e rd e s i g ns c h e m ei sa p p l i e d t h et a r g e ts y s t e mm a i n l yi m p l e m e n t e dt h r e ef u n c t i o n s :b l i n k s4l e do nt h ec o r eb o a r d a c c o r d i n gt ot h es t r e a m i n gl i g h t sl a w ;u a r t t e r m i n a lp r i n t s “h e l l o , n i o s1 1 1 ”;d r a w su h e a r t - s h a l dd y n a m i cp a r e m o na8 * 8d o t - m a t r i xl e do nt h eb a s eb o a r d ,a n dus m i l i n g f a c es t a t i cp a t t e r no na n o t h e r8 * 8d o t m a t r i xl e d k e y w o r d s :s o p c ;n i o si i ;h a r d w a r e s o f t w a r ec o d e s i g n ;h a r d w a r e - s o f t w a r e p a r t i t i o n i n g :s i m u l a t e da n n e a l i n ga l g o r i t h m ;g e n e t i ca l g o r i t h m ;f p g a ;i p c o r e c l a s s n o : 致谢 本论文的工作是在我的导师李哲英教授的悉心指导下完成的,李哲英教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来 李哲英老师对我的关心和指导 钮文良副教授悉心指导我完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向钮文良老师表示衷心的谢意。 赵俊良老师对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在实验室工作及撰写论文期间,殷开爽、孙旭等同学对我论文中的s o p c 实 例设计研究工作给予了热情帮助,在此向他们表达我的感激之情 另外也感谢我的家人,他们的理解和支持使我能够在学校专心完成我的学业。 l 。1 研究背景 1 绪论 随着超大规模集成电路工艺技术的发展,器件尺寸变得越来越小,单片芯片 的集成度也越来越高,系统的功能也越来越复杂。较为复杂的嵌入式系统往往包 括专用集成电路部分,以及在嵌入式处理器上运行的软件代码部分,整个系统的 性能,设计制造成本及可编程性都依赖于该系统的软件和硬件设计。因此,在昂 贵的芯片设计和制造成本,以及越来越短的t i m e - t o - m a r k e t 的压力下,如何能设 计出性能和成本都符合要求的系统就成为系统设计的一个课题。软硬件协同设计 作为解决该课题的一个方法逐渐成为人们关注的焦点和研究的热点。 将系统中的软件部分和硬件部分全都集成在单片芯片上被称为片上系统 ( s o c ) 。s o c 设计技术始于加世纪9 0 年代中期,它是一种系统级的设计技术, 主要有3 个核心技术:软硬件的协同设计技术,i p ( i n t e l l e c t u a lp r o p e r t y ) 核重用技 术及深亚微米集成电路技术。s o c 的设计不是一切从头开始,而是将设计建立在 较高的基础之上,运用i p 核重用设计技术,从传统的电路设计转向系统设计,设 计的重心也从逻辑综合、布局布线转向系统的设计、软硬件协同设计及仿真。s o c 是从整个系统的角度出发,把处理机制、模型、算法、软件( 特别是芯片上的嵌 入式操作系统) 、芯片架构、各层次电路直至器件的设计紧密结合起来,在单个 芯片上完成整个系统的功能。它的设计必须是从系统行为级别开始,自顶向下的 进行设计。 使用a s i c 为物理载体进行芯片设计的技术称为片上系统技术,即s o c ;使用 f p g a 作为物理载体进行芯片设计的技术称为可编程片上系统技术,即s o p c 。s o c 技术和s o p c 技术都是系统缀的芯片设计技术( 统称为广义s o c ) 。 s o p c 技术最早是由美国a l t e r a 公司于2 0 0 0 年提出的,是现代计算机辅助设 计技术、电子设计自动化e d a 技术( e l e c t r o n i c sd e s i g n a u t o m a t i o n ) 和大规模集成电 路技术高度发展的产物。s o p c 技术的目标是将尽可能大而完整的电子系统在一块 f p g a 中实现,使得所设计的电路在规模、可靠性、体积、功能、性能指标、上市 周期、开发成本、产品维护及其硬件升级等多方面实现最优化。s o p c 的设计以i p 为基础,以硬件描述语言为主要设计手段,借助以计算机为平台的e d a 工具,自 动化、智能化地自项向下地进行。 同s o p c 相比,s o c 具有如f 缺点:首先,使用a s l c 的试制和流片风险大、 成本高、成功率不高,一旦制片后就不能再进行修改。其次,使用a s i c 设计芯片 系统时,由于微控制器、功能模块等i p 是根据目标系统性能进行选择的,一旦选 定,所选择的i p 的性能就不能再修改,也就基本上决定了目标系统的性能,使得 目标系统的性能优化空间相当狭窄,同时也使得设计完成后的目标系统的硬件升 级变得不可能。再有,就是这种方式的硬件设计只能是流于拼装和连接选定的硬 件系统结构,指令不可更改,根据指令系统来进行编程。设计人员的创造发挥自 由度狭小,限制了人的能动性在设计中应有的作用。【l 】 s o p c 的可编程特性对这些问题没有限制。s o p c 技术在电子设计上给出了一 种以人的基本能力为依据的软硬件综合解决方案:同时涉及到底层的硬件系统设 计和软件设计,在系统化方面有了广大的自由度。开发者在软硬件系统的综合与 构建方面可以充分发挥创造性和想象力,使得多角度、多因素和多结构层面的大 幅度优化设计成为可能,使用其可编程特性与i p 核相结合,可以快速、低廉地开 发出不同的协处理器,从而真正实现硬件编程,升级和重构。随着f p g a 制造工 业的发展,这种优势将会更加明显。 1 2 研究意义 1 2 i 经典设计方法的局限性 在嵌入式系统复杂度迅速增长的趋势下,经典的嵌入式系统设计方法暴露出 了许多缺陷和不足: 1 设计层次较低,系统级设计依赖于手工进行,大规模的设计超出了设计人 员的能力,导致设计效率较低。 2 将嵌入式处理器作为固定的模块,不支持定制的嵌入式处理器。 3 系统软硬件设计过程的并行度较低,从而拖延了设计周期。目前的设计流 程主要采用先硬件后软件的开发模式:在实现了硬件的原型之后,然后才在此基 础上进行软件开发。这种串行化的设计不能充分及时地进行系统的软硬件协同验 证,导致了设计往复次数增加,大大增加设计成本。 4 软硬件的开发过程缺乏沟通与协调。目前的嵌入式系统在设计早期就分开 进行,由于异构系统的软硬件的复杂性,这种设计过程使软硬件不能得到协调优 化,很容易导致低效的设计。 5 缺乏对于设计可重用的支持。日益复杂的i p 模块、嵌入式软件成为传统方 法的沉重负担。目前设计生产率的提高速度是远远根不上设计复杂度增加的速度 的,经典的设计方法和开发工具成为制约嵌入式系统发展的瓶颈。 2 a l 塞变通太堂硒茔僮途塞 缝监 1 2 2 软硬件协同设计的特点 由于传统的嵌入式系统设计方法的这些局限性,设计人员开始探索新的设计 方法以适应嵌入式系统的高速发展。1 9 9 3 年第一届i n t e r n a t i o n a lw o r k s h o p0 1 1 h a r d w a r e s o r w a r cc o - d e s i g n 会议召开,软硬件协同设计成为嵌入式系统中系统级 设计领域的研究方向和热点。 软硬件协同设计具有如下这些特征: 2 k 3 1 1 软硬件协同设计方法采用并行设计和协同设计的思想,提高了设计效率, 缩短了设计周期。 2 软硬件协同设计采用统一的工具和表示,可合理划分系统软硬件,分配系 统功能,在性能、成本、功耗等方面进行权衡折衷,得到更优化的设计。 3 在系统层设计中,对软硬件部分使用统一描述和工具进行集成的开发,并 具有跨越软硬件界限进行系统优化的能力。 4 提供软硬件协同仿真的能力,可开展全系统的设计验证 5 支持多领域专家进行协同开发。 软硬件协同设计不仅是一种设计技术,同时也是一种新的设计方法和思想, 它的核心问题是沟通软件设计和硬件设计,避免系统中关系密切的两部分设计过 早独立。同传统设计方法相比,软硬件协同设计提高了设计抽象的层次,并拓展 了设计的覆盖范围,采用软硬件协同设计技术可以使嵌入式系统设计更好和更快。 软硬件协同设计技术目前仍在发展,许多理论还不成熟,但是该技术将给嵌 入式系统设计带来革命性的变化,极大的提高生产力,由此软硬件协同设计技术 非常具有研究意义和社会价值。 由于e d a 技术是面向解决电子系统最基本、最底层硬件实现问题的技术。因 此就其发展趋势的横向看,势必涉及越来越广泛的电子技术及电子设计技术领域; 两从纵向看,e d a 技术实现的硬件形式和涉及的理论模型必将走向一个统一的结 合体,即单片系统s o c 或s o p c 。 1 3 本文的主要工作 本文主要工作如下: 在研究和分析s o p c 软硬件协同设计理论及s o p c 设计相关技术的基础上, 介绍了系统的任务描述、软硬件协同划分、软硬件并行综合,以及软硬件并行仿 真验证,比较了当今软硬件协同设计领域中比较常用的几个系统模型的建立方法, 研究分析了应用在软硬件协同划分领域较为频繁的遗传算法和模拟退火算法,并 比较了各自的特点和应用范围,给出了基于n i o s i i 嵌入式处理器软核的s o p c 系 统的设计方法。结合遗传算法和模拟退火算法对具体的s o p c 设计实例进行了软 硬件划分,提出了实例系统的体系架构,完成了s o p c 系统硬件开发平台的的设 计与实现,并在此平台上实现了以n i o s1 1 为处理器的s o p c 系统设计实例。 4 2s o p c 软硬件协同设计的基本理论 微电子技术的近期发展成果,为s o c 的实现提供了多种途经。对于经过验证 而又具有批量的系统芯片,可以做成专用集成电路a s i c 而大量生产。而对于一些 仅为小批量应用或处于开发阶段的s o c ,若马上投入流片生产,需要投入较多的 资金,承担较大的试制风险。最近发展起来的s o p c 技术则提供了另一种有效的 解决方案,即用大规模可编程器件的f p g a 来实现s o c 的功能。 可编程逻辑器件产生于2 0 世纪7 0 年代。其出现的最初目的是为了用较少的 p l d 品种替代种类繁多的各式中小规模逻辑电路。在3 0 多年的发展过程中,p l d 的结构、工艺、功耗、逻辑规模和工作速度等都得到了重大的进步。尤其是在2 0 世纪9 0 年代,出现了大规模集成度的f p g a ,单片的集成度由原来的数千门,发 展到数十万门甚至数百万门芯片的i o 口也由数十个发展至上千个端口。有的制 造商还推出了含有硬核嵌入式系统的l p 。因此,完全可能将一个电子系统集成到 一片f p g a 中,即s o le ,为s o c 的实现提供了一种简单易行而又成本低廉的手 段,极大地促进了s o c 的发展。 2 1 基本理论与基本概念 2 1 i 系统任务描述 设计一个s o p c 系统,首先要明确系统需求,即系统的性能和要实现的功能, 然后对系统进行建模。s o p c 系统的模型主要有有限状态机模型、数据流图模型、 任务流图模型、离散事件模型、p e t r i 网模型等,各种模型的建立方法在后文给出 了详细说明。 系统功能描述方法解决系统的统一描述。这种描述应当是对软硬件通用的, 目前一般采用系统描述语言的方式。在软硬件划分后,能编译并映射成为硬件描 述语言和软件实现语言,为目标系统的软硬件协同工作提供强有力的保证。 2 1 2 软硬件协同划分 传统的设计方法中,软硬件的开发过程是割裂的,缺乏沟通的。软硬件协同 设计正是针对这个缺陷提出来的,而软硬件协同划分是软硬件协同设计中非常重 要的一步。对于s o p c 系统而言,如果系统功能用硬件执行,则需要一定的f p g a 的逻辑单元( l e ) 和执行时间;如果用软件执行,则需要一定的存储器的容量和 处理器时间。软件实现不需要占用硬件资源,也就是f p g a 的逻辑单元,但需要 较长的执行时间;与之相反,硬件实现执行时间较短,但占用硬件逻辑资源。软 硬件划分就是在f p g a 逻辑单元占用和时间耗费上傲一个好的平衡。 s o p c 软硬件划分理论从成本和性能出发,决定软硬件的划分依据和方法。基 本原则是高速、低功耗由硬件实现;多品种、小批量由软件实现;处理器和专用 硬件并用以提高处理速度和降低功耗。划分的方法从两方面着手:一是面向软件, 从软件到硬件满足时序要求;二是面向硬件,从硬件到软件降低成本。在划分时, 要考虑目标体系结构、粒度、软硬件实现所占用的成本等各种因素。划分完后, 产生软硬件分割界面,供软硬件沟通、验证和测试使用。 常见的软硬件协同划分算法有模拟退火算法、遗传算法等。本文会在后文详 细介绍这两种算法 2 。1 。3 软硬件并行综合 软硬件详细设计完成划分后,进行软件和硬件的设计实现。硬件综合是在厂 家综合库的支持下,完成行为级、r t l 以及逻辑级的综合代码优化完成对设计 实现后的系统进行优化,主要是与处理器相关的优化和与处理器无关的优化。与 处理器相关的优化受不同的处理器类型影响很大,一般根据处理器进行代码选择、 主要是指令的选择;指令的调度( 并行、流水线等) 、寄存器的分配策略等;与处理 器无关的优化主要有常量优化、变量优化和代换、表达式优化、消除无用变量、 控制流优化和循环内优化等。 软硬件并行综合是从软硬件统一的行为描述开始,构造包含软件和硬件的实 现结构描述的设计转换过程。软硬件并行综合过程包括三个设计步骤: ( 1 ) 处理单元分配,决定嵌入式系统由哪些处理器、d s p 及专用硬件等体系结 构级别的单元组成; ( 2 ) 软硬件划分,决定系统中哪些功能由硬件处理单元实现,哪些由处理器用 软件实现,也称任务指派; ( 3 ) 任务调度,决定分派在各个处理单元上任务的执行顺序和开始时间。 2 1 4 软硬件协同仿真验证 系统层的软硬件协同仿真为设计者提供关于软硬件划分、c p u 选择和调度等 设计选择方面的反馈。模拟软硬件之间的互操作,要求协同仿真工具要足够快, 6 允许重要的嵌入式系统的功能性端口在一定合理的时间内得到实现。 在协同仿真中,硬件可以用c ,c + + 建模,整个系统可以像单个c ,c + + 程序一 样执行但是,这不是实现级别的系统验证,而是行为确认。验证需要用h d l r t l 描述,因为它代表着硬件的实现。协同仿真需要一个或多个h d l 仿真器和一个 c c + + 平台( 编译器、装入程序、链接器和计算机操作系统到其他部分) 。在协同 仿真中,包括h d l 仿真器和软件仿真器在内的两个或多个仿真器互相链接,所以, 不同仿真器问的通信是一个关键。 2 2s o p c 设计的相关技术 s o p c 是基于f p g a 解决方案的s o c ,与a s i c 的s o c 解决方案相比,s o p c 系统及其开发技术具有更多的特色,构成s o p c 的方案也有多种途径,包括基于 f p g a 嵌入式i p 硬核的s o p c 系统、基于f p g a 嵌入i p 软核的s o p c 系统和基于 h a r d c o p y 技术的s o p c 系统等。本文所设计的实例系统是基于f p g a 嵌入i p 软核 的s o p c 系统。 2 2 1 基于f p g a 嵌入i p 硬核的s o p c 系统 即在f p g a 中预先植入嵌入式系统处理器。目前最为常用的嵌入式系统大多 采用了含有a r m 的3 2 位知识产权处理器核的器件。尽管由这些器件构成的嵌入 式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务 的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个 完整的应用系统。如除配置常规的s d r a m 、f l a s h 等存储器外,还必须配置网络 通信接口、串行通信接口、u s b 接口、v g a 接口、p s 2 接1 3 或其他专用接口等。 这样会增加整个系统的体积、功耗,而降低系统的可靠性。但是如果将a r m 或其 他知识产权核,以硬核方式植入f p g a 中,利用f p g a 中的口丁编程逻辑资源和i p 软核,直接利用f p g a 中的逻辑宏单元来构成嵌入式系统处理器的接口功能模块, 就能很好的解决这些问题。对此,a l t e r a 和x i l i n x 公司都相继推出了这方面的器件。 例如,a l t e r a 的e x c a l i b u r 系列f p g a 中就植入了a r m 9 2 2 t 嵌入式系统处理器; x i l i n x 的v i r t e x i ip r o 系列中则植入了i b mp o w e r p c 4 0 5 处理器。这样就能使得 f p g a 灵活的硬件设计和硬件实现更与处理器的强大软件功能有机地相结合,高效 地实现s o p c 系统。 2 2 2 基于f p g a 嵌入i p 软核的s o p c 系统 将i p 硬核直接植入f p g a 的解决方案存在如下几种缺陷: 1 由于此类硬核多来自第三方公司,f p g a 厂商通常无法直接控制其知识产权 费用,从而导致f p g a 器件价格相对偏高: 2 由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总 线规模、接口方式,乃至指令形式,更不可能将f p g a 逻辑资源构成的硬 件模块以指令的形式形成内置嵌入式系统的硬件加速模块( 如d s p 模块) , 以适应更多的电路功能要求; 3 无法根据实际设计需求在同一f p g a 中使用多个处理器核; 4 无法裁减处理器硬件资源以降低f p g a 成本; 5 只能在特定的f p g a 中使用硬核嵌入式系统,如只能使用e x c a l i b u r 系列 f p g a 中的a r m 核,v i r t x - l lp r o 系列中的p o w e r p c 核。 如果利用软核嵌入式系统处理器就能有效地克服解决上述不利因素。 目前最有代表性的软核嵌入式系统处理器分别是a l t e r a 的n i o s 和n i o si i 核, 及x i l i n x 的m i c r o b l a z e 核。特别是前者,使上述五方面的问题得到很好的解决。 a l t e r a 的n i o s 核是用户可随意配置和构建的3 2 i 立7 1 6 位总线( 用户可选) 指令集 和数据通道的嵌入式系统微处理器i p 核,采用a v a l o n 总线结构通信接口,带有增 强的内存、调试和软件功能( c 或汇编程序优化开发功能) ;含有f i r s ts i l i c o n s o l u t i o n s ( f s 2 ) 开发的基于j t a g 的片内设备( o c d 内核( 这为开发者提供了 强大的软硬件调试实时代码,o c i 调试功能可根据f p g aj t a g 端口上接收的命 令,直接监视和控制片内处理器的工作情况) 。此外,基于q u a r t u si i 平台的用户 可编辑的n i o s 核含有许多可配置的接口模块核,包括:可配置高速缓存( 包括由 片内e s b 、外部s r a m 或s d r a m 、1 0 0 m b 以上单周期访问速度) 模块,可配置 r s 2 3 2 通信接口,s d r a m 控制器、标准以太网协议接口、d m a 、定时器、协处 理器等。在植入( 配置进) f p ( 3 a 前,用户可根据设计要求,利用q o a r t u si i 和s o p c b u i l d e r ,对n i o s 或n i o si i 及其外围系统进行构建,使该嵌入式系统在硬件结构、 功能特点、资源占用等方面全面满足用户系统设计的要求。n i o s 核或n i o si i 核在 同一f p g a 中被植入的数量没有限制,只要f p g a 的资源允许。此外,n i o s 和n i o s 1 i 可植入的a l t e r af p g a 的系列几乎没有限制,在这方面,n i o s 和n i o si i 显然优 于x i l i n x 的m i c r o b l a z e 。 另外,在开发工具的完备性方面、对常用的嵌入式操作系统支持方面,n i o s 都优于m i c r o b l a z e 。就成本而言,由于n i o s 是由a l t e r a 直接推出而非第三方产品, 故用户通常无需支付知识产权费用,n i o s 的使用费仅仅是其占用的f p g a 逻辑资 8 源费。因此,选用的f p g a 越便宜,则n i o s 的使用费越便宜。此外,通过直接使 用v h d l 等硬件描述语言设计,用户可以为n i o s 或n i o si i 嵌入式处理器设计各 类加速器,并以指令的形式加入n i o s 或n i o s1 1 的指令系统,从而成为n i o s 或n i o s i l 系统的一个接口设备,与整个片内嵌入式系统融为一体。 2 2 3 基于h a r d c o p y 技术的s o p c 系统 为了形成对a s i c 市场的直接竞争,a l t c r a 推出了h a r d c o p y 技术和h a r d c o p y l i 技术。h a r d c o p y 就是利用原有的f p g a 开发工具,将成功实现于f p g a 器件上 的s o p c 系统通过特定的技术直接向a s i c 转化,从而克服传统a s i c 设计中普遍 存在的问题。 与h a r d c o p y 技术相比,对于s o c 的开发,有不少难于克服的问题,其中包括 开发周期长、产品上市慢,一次性成功率低、有最少的投片量要求、设计软件工 具繁多且昂贵、开发流程复杂等。如果利用h a r d c p y 技术设计a s i c ,开发软件费 用低廉,s o c 级规模的设计周期不超过2 0 周。转化的a s i c 与用户设计习惯的掩 模层只有两层,且一次性投片的成功率近乎1 0 0 ,即所谓的f p g a 向a s i c 的无 缝转化。而且用a s i c 实现后的系统性能将比原来在h a r d c o p yf p g a 上验证的模 型提高近5 0 0 , 6 ,而功耗则降低4 0 。一次性成功率的大幅度提高即意昧着设计成 本的大幅降低和产品上市速度的大幅度提高。 h a r d c o p y 技术是一种全新的s o c 级a s i c 设计解决方案,即专用的硅片设计 和f p g a 至h a r d c o p y 自动迁移过程结合在一起的技术,首先利用q u a r t u si i 将系 统模型成功实现于h a r d c o p yf p g a 上,然后帮助设计者把可编程解决方案无缝地 迁移到低成本的a s i c 上的实现方案。这样,h a r d c o p y 器件就把大容量f p g a 的 灵活性和a s i c 的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电 子系统产品上。从而避开了直接设计a s i c 的困难,而从原型设计提升至产品制造, 通过f p g a 的设计十分容易地移植到h a r d c o p y 器件上,达到降低成本,加快面市 周期的目的。h a r d c o p y 器件( 如h a r d c o p ys t r a t i x 系列、e x c a l i b u r 系列f p g a ) 避免了a s i c 的风险。其h a r d c o p ya s i c 是直接在a l t c r ap l d 体系之上构建的, 采用有效利用面积“逻辑单元海”内核。本质上,h a r d c o p y 器件是f p g a 的精确 复制,剔除了可编程性,专用配置和采用金属瓦连使用的走线。这样。器件的硅 片面积就更小,成本就更低,而且还改善了时序特性。 2 2 4s o p c 软硬件协同设计流程 9 软硬件协同设计就是同时设计系统中的软件和硬件部分,来满足系统的性能 指标。面向s o p c 的软硬件协同设计流程从目标系统构思开始。对一个给定的目 标系统,经过构思,完成其系统整体描述,然后交给软硬件协同设计的开发集成 环境,由计算机自动完成剩余的全部工作一般而吉,还要经过模块的行为描述、 对模块的有效性检查、软硬件划分、硬件综合、软件编译、软硬件集成,软硬件 协同仿真与验证等各个阶段。软硬件协同设计流程如图2 1 所示。其中软硬件划分 后产生硬件部分、软件部分和软硬件接口界面三个部分。硬件部分遵循硬件描述、 硬件综合与配置、生成硬件组件和配置模块;软件部分遵循软件描述、软件生成 和参数化的步骤,生成软件模块。最后把生成的软硬件模块和软硬件界面集成, 并进行软硬件协同仿真,以进行系统评估和设计验证。 图2 1 软硬件协同设计流程 f i g2 1h a r d w a r e - s o f t w a r ec o - d e s i g nf l o w i o 3 系统模型的建立方法 模型是对系统的各个组成部分以及它们的交互关系的定义。自动设计工具都 依赖于对设计对象的建模。在硬件和软件的详细层设计阶段,辅助设计技术己经 比较成熟,硬件逻辑综合工具,软件c a s e 工具被广泛使用。在软件开发领域使 用的模型包括过程模型、面向对象模型。在硬件逻辑综合中,有限状态自动机, 布尔代数等模型能够较好描述数字电路的性质。随着嵌入式系统向复杂化发展, 高层次设计越来越需要设计工具的帮助。要在系统层次设计中引入软硬件协同综 合技术,需要首先建立相应的系统层模型 一个模型要可用必须具备一定的特性。首先,模型必须是形式化的,可免除 多义性,其次,模型应当是完备的,可以描述整个系统。此外,对于使用它的设 计者来说应该是可理解的,并且易于修改,因为在某些情况下修改系统功能是不 可避免的。最后,一个模型必须使设计者对于系统的理解有足够的帮助作用而不 是阻碍其理解。必须强调,模型是由对象和组成规则所构成的形式化系统,它被 用于描述系统的特性。通常,用一个特定模型将系统分解成子块然后用某种特 定语言描述这些子块而得到一个规范一种语言可以描述多个不同的模型,一个 模型也可以用多种不同的语言来描述。 为了在特定时间强调某些感兴趣的系统特性,设计者在设计过程的不同阶段 选择不同的模型。比如,在规范阶段设计者除了系统的功能外别的都不清楚,因 此会采用一个不包含任何实现信息的模型。然而在实现阶段,关于系统部件的信 息可以得到了,设计者将转而使用一个能获得实现信息的模型。一旦设计者找到 一个能合适规定系统功能的模型,就可以详细地描述系统如何制造。下一步是将 系统功能转换到一个体系架构,它通过规定构件的数目和类型以及构件之间的连 接来定义系统的实现。简言之,模型描述了系统如何工作,而体系架构描述了系 统如何被制造。设计过程( 或设计方法) 就是将模型转换成体系架构的设计任务总 和。以下将描述几种常用于系统设计的基本计算模型。 目前,在嵌入式系统设计领域,存在多种行为级描述模型。这些模型各有特 点和应用领域,并不能简单的对比模型的优劣。本文对这些模型进行了分析,常 用的模型可以分为如下几类: 3 1 有限状态机建模 一个有限状态机是描述控制系统的最常用的模型,因为系统的行为可以很自 然地用状态和状态之问的转换来描述。有限状态自动机模型可以用一个5 元式来 表示:( s ,i ,o h ) ,s ,i ,o 分别表示所有状态集,输入状态集和输出状态集; h 分别表示为下一状态函数和输出函数下一状态函数f 定义为输入改变后状态机 的下一个状态,输出函数定义为状态改变后输出的符号。按照以上定义,每个集 合s ,i 和。中可能有任意多个符号。然而,现实中仅仅处理二元变量:操作符和 内存元素。因而,s ,i ,o 必然作为二元的信号或是内存元素的叉积实现,而f 和 h 函数则被定义为布尔表达式,用逻辑门来实现。由于有限状态机的各状态及其转 换可以用来描述控制系统的行为,所以有限状态机模型成为用来描述控制系统最 常用的模型。对于控制领域的应用系统,有限状态自动机是很好的描述手段,但 有限状态自动机模型也有其自身的缺点,系统的节点数与有限状态机的状态数为 指数关系,当节点数超过一定量时就出现状态爆炸现象 4 1 1 5 1 1 6 7 8 3 2 数据流图建模 数据流图d f g 是适合用来描述计算密集型系统的模型,因为数学表达式可以 很容易的表示为一个有向图,图中节点表示操作,而弧表示节点操作执行的顺序 关系。计算的数据流图模型是基于两个原理:异步性和功能性。异步性原理表明 当且仅当所有需要的操作对象得到时相应的操作才可执行。功能性原理表示所有 操作的执行都像函数一样没有任何副作用。这意味着任何两个操作既可以顺序执 行也可以并发执行。 形式上数据流图可以被描述为一个五元式( n ,a , v , v o ,0 ,其中n 表 示节点集,a 表示弧的集合,v 表示弧相对应的值,v 0 表示弧边对应的初始值,f 定义了每个节点所进行的操作。 尽管数据流图比较适合描述计算密集型系统,但是并不适合系统中的控制部 分。由于这个原因,数据流图常被用来描述d s p 系统【2 】。数据流图除了用于高级综 合中的分配和调度之外,还用作软硬件划分的模型。特别是用于针对指令集可扩 展处理器中的软硬件划分。对数据流图进行子图划分,识别指令模式和模式选择, 把对系统性能影响大的模式用硬件实现,作为一个指令被处理器调用。一个候选 的模式中往往包含几个或多个运算,且在数据流图中的出现频率比较高或者是关 键的操作,将其以指令形式用硬件实现能大大提高系统性能,基于n i o s1 1 处理器的 s o p c 系统中,硬件加速器的设计就是这种理论的典型应用。针对数据流图的软硬 件划分是一种细粒度的划分。在指令集i s a 体系中,对软硬件的划分大多数是基于 数据流图的,有的使用最大图匹配,有的使用凸集,有的使用符号多项式,还有 的使用s a t 来搜索指令集的候选模式。此外,后文描述的任务流图( 也称有向无环 图) 与数据流图类似,同样适合用作软硬件划分的模型。 3 3p e t r i 网建模 p e t r in e t s 是德国当代数学家c a r la d a mp e t r i 定义的一种通用的数学模型,用 以描述存在于条件和事物间的关系。p e t r in e t s 能够对具有并行( p a r a l l e l i s m ) 、并发 ( c o n c u r r e n c y ) 、同步( s y n c h r o n i z a t i o n ) 、资源共享( r e s o u r c es h a r i n g ) 等特性的系统建 立形象化的模型,附r in e t s 非常适用于描述大规模复杂系统的控制流,经过扩展 的p e t r in e t s 也可以描述系统的数据流。广泛应用的f s m 模型是p e t r in e t s 的一个 子集,因此用p e t r in e t s 建立的系统模型,可以方便地转化为可实现的软硬件结构。 1 9 1 l l0 】把p c t r in e t s 也与整个软硬件协同设计的系统设计阶段结合起来,包括建立软 硬件模型、时序估计、面积估计等,其中还能生成硬件r t l 代码和软件c 语言代 码;p c t r in e t s 作为统一建模语言u m l 的补充来建立系统模型。 p c t r i 网是近年来提出的形式化描述模型,在嵌入式系统建模中也得到了应用。 在p c t r i 网模型中,包含位置,标记,转换等概念。位置可以保存标记,标记代表 流过系统的信息,转换同事件相关。p e 啊网可以对系统的动态特性进行精确的描 述,较好地对数据流和控制流的动态执行过程实施控制。p c e r i 网的理论模型严谨, 有形式化的分析手段。1 1 1 3 4 其他建模方法 3 4 1 离散事件 在离散事件模型中,系统的状态改变过程通过放置在时间轴上的非同步的离 散事件进行驱动。这些事件按照时间的先后顺序发生作用。排队系统( q u e u i n g s y s t e m ) 是离散时间模型的一种。离散事件模型是应用广泛的硬件描述语言v h d l 和v e r i l o g 的基础,特别适合硬件模型中的信号、同步等行为。离散事件模型模拟 时需要模拟器,实现开销较大,模拟效率不高。离散事件模型对于描述软件并不 是合适的模型,常用于描述硬件和模拟通信系统。 3 4 2 数据控制流图 在数据腔制流图中,节点代表对数据的处理步骤或者控制条件判断,而边则 代表数据和控制的相关性。它可以很方便的描述控制步、数据流和并发等概念, 通常用于高层次综合工具。数据流图又可以分为同步数据流图和动态数据流图。 在同步数据流图中,数据的流向在系统运行前就可以确定,而在动态数据流图中, 数据的流向还要受到运行时数据内容的影响【3 】【4 】。数据控制流图适合用于硬件综合 工具,作为系统层设计的描述模型,数据j 空制流图的粒度太细。 3 4 3 带数据通路的有限状态机 许多系统是控制特性和计算特性相结合的因而也可以结合有限状态机和数 据流图模型的特性一个解决办法就是将时间划分成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论