已阅读5页,还剩144页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文独创性声器 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究 成果。据我所知,除文中已经淀明引用的内容外,本论文不包禽其他个人已经 发表或撰写过豹研究残杀。对本文的研究做出豢要贡献的个人和集体,均已在 文中雩筝了臻确落疆势表零落意。 作者签名笙h 勰:型一; 学位论文使用授权声明 本人完全了解华东烬范丈学霄关保磐、使用学位论文鲍援定,学授窍援保 留学位论文并向网家主管部门或麒指定机构送交论文的电子版和纸质版。有权 将学位论文用予 # 赢希j 两的的少鼹复制并允许论文进入学校图书馆被查阅。有 投将学经论文静凌容编入袁关数瓣淳进行检索。有权将学健论文豹标蘧帮摘要 学位论义作者戡论* 如燃:( 貂? 荨 日期:翌么t t 厶;日觏! 型! 乃1 4 华系螂范大学诗算机系博士游位论文金她咏 撩黼蠢录 l y c h “t 分将,+ 2 设计模型抽象屡次+ + , 3 接象搂毽觅较。, 4 实现瀛程,。, s 精化步骤的横式。,+ 6 编译嚣验溅原理整。 7 躲l 蘩塞攘囊瓣瓣关豢, 8 资源模鹜下的磺件综舍流程,。 9h 蛐f 元件图示。,。,。 1 8 卫语句状态疆,。 t l f p g a 片内缝键、。、 1 2v 括t e x 静l 。西cc e l l 。,+ , 1 3 用c y 实现的加法器+ 、, 1 4 m u x f 5 和m u x f 6 的连接 、 1 一静多踌器絮祷,。,。, 1 8 一个长度势8 黪多鼹粱绱实瑷,。 1 7 4 - 卫熊a 托浯句的输入信号结构 i 8 片内逻辑组织结构。,。 n 娃珏鹅m h艇筠驺始艇裙龉姆鲢链 8 华东嚣菝丈学诗算撬象簿圭攀经论文金乃嘛 8 第一部分引论 1 姘究意义 数字纯系统一般是幽硬件与软件两部分构成传统上,硬件与软件有不简的设计 工具与开发流獠。这不利于系统性能的综合分析随着形式化方法的发展,现代芯片 设诗遗卷堕霞襞手孛接述避砉珏a 砖= ed r 泌i 。n 毛n 秘搿,珏。) 寒攘避锫并发盼 段的设计规范,从此硬件的设计方法开始向软件的设计方法靠近 近年来,为了使工程师能更专注于实丑寸嵌入式系统的功能与性熊分析,对软硬伴 统一翦系统级麓范语言鹣研究受翔了越寒越多的美注 3 踟,对系统缎规范语宙的编译 器设计也提出了更高的骚求与以往的针对目标平台的规襁有很大不同的是,用系统 级谗言壤写的纛痔遥誊怒嚣标机器无关酶,程彦苓会限定予菜棼持定鳇硬手孛耱类与蘩 号因此系统级描述语雷的编译器必须将无资源约束规范映射到有资源约柬的目标 系统。农构造这样的编译器时,如何适当地加入资源信息使得编译过程能高可靠地绘 趱害资滚,离瞧能的实现就变褥稚常重要 本文着力解决如何襁程序语义模型里逐步引入资源信息以正确地把系统级程序 练台为疑步电鼹网表,鞠嚣悫f p g a 的硬传综台俊纯方法。 2 系统级描遴语言与实现方法 2 1 系统级描述语言的分类 农最近的十年里,呶子设计蠹动化( e d a ) 按,l 之已由门缀( g a t el e 1 ) 接述逐 渐主升掰寄存器传输级( 舶g i 8 t e r * 强s f e p l e v e l ,致n ) 摇遴,并极天地促进了集成电 路工业的发展现在,该领域正经历着又一次新的变革,人们正努力研究用浆统级规 莛语嘉寒器发蕊跨与嵌入式设备。 这一演化的驱动力在于当前的集成电路工艺可以在一个芯片上包容上千万的晶 体管这使得将骧个系统集成于一个芯片( s y s t e n o n _ c h i p ,s o e ) 的想法成为可能。 与逝籀眈,萋予r t l 静芯片设计方法就鑫得过于底层,v e r i i o g 语言和v h d l 语言赘 象是硬件的汇编语言,用这样的谮言开发s o c 系统常常过于复杂,功能测试消耗了 大量鳃时耀每资源。为藏,太l 薅求杏受窝攘象屡次,更壤块诧懿设嚣方法,滚方法 应便于人们交换技术与缀验( i n t e l l e c t u 出p r o p e r t y l i p ) ,使设计师在设计之初就能对系 统架构在性能与资源消耗上有精确的量他估计这鼹要有种能描述系统功熊和方方 瑟瑟约柬褥往翡系统级攘述语富,该类语商应其宥鲤下的特性i 7 7 ji 5 2 j : 1 支持与具体实现方式无关的机器行为描述,为詹续设计进程中算法选择留下足够 懿空耀; 2 具有完备的需求信息描述能力,支持包括通讯,多媒体,控制等不同领域的规范 整合和各种约束的整合; 华东师范大学计算机系博士学位论文金乃咏 6 第一部分引论 1 研究意义 数字化系统一般是由硬件与软件两部分构成传统上,硬件与软件有不同的设计 工具与开发流程,这不利于系统性能的综合分析随着形式化方法的发展,现代芯片 设计通常使用硬件描述语言( h a r d m ed e 3 a i p t - o nl n g u a g e 。h d l ) 来描述各开发阶 段的设计规范,从此硬件的设计方法开始向软件的设计方法靠近 近年来,为了使工程师能更专注于实时嵌入式系统的功能与性能分析。对软硬件 统一的系统级规范语言的研究受到了越来越多的关注1 3 8 】,对系统级规范语言的编译 器设计也提出了更高的要求与以往的针对目标平台的规范有很大不同的是,用系统 级语言编写的程序通常是目标机器无关的,程序不会限定于某种特定的硬件种类与型 号因此系统级描述语言的编译器必须将无资源约束规范映射到有资源约束的目标 系统在构造这样的编译器时,如何适当地加入资源信息使得编译过程能高可靠地给 出省资源,高性能的实或就变得非常重要 本文着力解决如何在程序语义模型里逐步引入资源信息以正确地把系统级程序 综合为同步电路网表,和面向f p g a 的硬件综合优化方法 2系统级描述语言与实现方法 2 1 系统级描述语言的分类 在最近的十年里,电子设计自动化( e d a ) 技术已由门级( g a t el e v e l ) 描述逐 渐上升到寄存器传输级( 讯g b t e t n s f e r l e 、,e l ,r t l ) 描述,并极大地促进了集成电 路工业的发展现在,该领域正经历着又一次新的变革,人们正努力研究用系统级规 范语言来开发芯片与嵌入式设备 这一演化的驱动力在于当前的集成电路工艺可以在一个芯片上包容上千万的晶 体管。这使得将整个系统集成于一个芯片( s y s t e m _ o n c h i p ,s o c ) 的想法成为可能 与此相比,基于r t l 的芯片设计方法就显得过于底层,v e r ,1 0 9 语言和v h d l 语言更 象是硬件的汇编语言用选样的语言开发s o c 系统常常过于复杂,功能测试消耗了 大量的时间与资源为此,人们寻求有更高抽象层次,更模块化的设计方法该方法 应便于人们交换技术与经验( i n t e l l e c t u a lp r o p e r 吼i p ) ,使设计师在设计之初就能对系 统架构在性能与资源消耗上有精确的量化估计这需要有一种能描述系统功能和方方 面面约束杼巨的系统级描述语言,该类语言应具有如下的特性1 7 7 5 2 】; 1 支持与具体实现方式无关的机器行为描述,为后续设计过程中算法选择留下足够 的空间; 2 具有完备的需求信息描述能力,支持包括通讯,多媒体,控制等不同领域的规范 整合和各种约束的整合; 整合和各种约束的整合; !望查塑莲盔堂盐薹墼囊签圭堂垡途塞垒瑟堕 1 3 ;在系统骢糍接述方掰模块纯,在系统绪椽描述方蔷架梅诧,能支持癌不蔺律算模 麓生成豹系统专缀伟的熬含; 4 糟形式纯方法徽疆论交撵,疆减轻王程簿程系统功能分析与验诞方面的磁力; 5 。撵鸯霹骤凳懿蟹纯努辑手段; 6 肖与系统缀描述谱曹匿配的开发工其和软硬件统一的开发流程,使软硬件在实现 上的差舞将枝仅爨编译遗壤上的不潜 建设系统级捺述语畜布戆一辫蕊就翡,它是入稍不断努力的结果,可行的策略是在瑗 有静语言基础上进行扩充当前盼系统缎描述语言的设计大致可以分为三类。第一类 是提升惑有的硬件播避谮言静拘象层次;第二类是扩展软件描述语雷,让窘髓能够描 述硬彳牛的行为;第三类燕综合各语育的优势,剖建新的语言。 l 。 源予硬件撼述语翕的系统描述诵甯 ( a )s y 8 t e m v e r i l o g1 2 】鼹源自硬件描述谱言的系统级描述语宙的代表它对 i e e e1 3 6 4 2 1 的v e r n o g 俺1 j 标准进行了较大规模的改动,在融合了v e r 珏曙, g ,c + + ,甚至s u p e r l 。g 等多种谱言的特性后,为嵌入式系统设计工程师提 供了前所来有的描述熊力其关键特性包括; j 。s y 8 t e m v e m o g 角类似子c 十+ 中模舨媳按口,程较高的接象艨敬上连接各 硬件模块而用以被的v e r i l o g 编写程序只熊用基本数据类型来定义模块 间的接口; n 8 y s t e m 诎i l o g 引入了a 语言的啬5 分语句构遣鞠数撂类溅,如两态的”出嚣r ” 和”i n t ”等,使s y s t e m v e r i l o g 可以调用黄通的c 程序; 乩s ”t e m i l 。g 提供删态的避饕数据继掏以表瑷硬 牛系缓蛇黪蠼; i v s y 8 t e m v e r i l o g 引进了断言拇造,以便于程序羼性的检验与穆廖正确性验 证; 8 y 8 t e m n o g 倡导者鹣疆号是4 难确的方法是扩鼹当戆露效翡”( t h e 瑰班 s o l u t i o ni 8t oe x t e n dw h 蚍w o r k s ) s y s t e m v e r i l o g 的设计是试图让硬传语富来搂 途软律系绽。翻此,恩s y s t e m 确r n o g 接述系统,工程爆爨必绠对褒俸毒摆当瓣 了解,不能站在越越实现方式的蒜度寒绘出系缝的规范这是s y s t e m v a o g 被诟瘸的所在+ 搬檀:硬傅搓述诲言的s y s t 毂琏v 。t l 。g 出于抽象屡次爨不够 态,其仿翼速魔巍无法与其它海整匹教。 ( b ) v h d l - 2 0 0 x 为与以往静瀵蠢橡区别,毂黪系统级搂逮浯蠢逶磐会煮一个鼬匏m 戆懿缀。 令人好鹰静是,v 珏d l 印j 癸没露为鼬t # m 渤占骰广告,襁乎v 珏d l 豹 发展巴傍涝。c o 。l e y 3 l l 甚至激烈她剡定v 嚣d l 将成为辫的控了漤f 死亡翡 谬言) e u m i a 铲警2 l 在对魄i l 。g ,v 差壬d 毛,s y 8 t e m v e r i l o g 俸了托较后指 出,v 残- 豹谗多糁牲瑟被s y 戴e m v i l o g 采缡,s y t e m 融i l 。g 更象筵v e r n o g 譬v 觳d l 静会势。 8 华东筛藏大学诗箕瓿象博士举位论文金乃溶 8 冀蜜,v 鞋d l 的撵篱f l o l 认为v h 蕊根本举嚣要s 妒t e m 这个翦缀, v h d l 是领先乎时代静谮言,它可被广泛用于比淞l 抽象聪次更高的各种设 计环境,把v h d l 的修订版称作s y s t e m v h d l 将暗示,v h d l 具有与其它 珏b l 籀阕戆鹱鬟缺点。l 蕊e 懿秘7 6 工佟续黎谜,在凝整纪懿第一个重 要修订版为啪l 2 口耐其新增特点是: i 为了提高设计工作效率。v h d l 提供了一个可艨的类擞系统,典有曩户 自定义类蝥、如校举毽、有符号垄、无符号型、措:特型、毙特矢爨穗、整数 和受约束整数型、实数型、访问型( 攒针) 和记录型。 巍增女l 嚣蠢对象数功戆,班健纛建摸遵褥孛懿蔓藩缎爨麴设诗重耀激及蔓 高级别的抽象i e e b 的1 0 7 6 工作组正在努力确定如何才能增加继承和 增强的模板,以便允许子程序媳类型参数化。可以预期,面向对象的增强 逐将健避多个抽象缎的接口穗模。 i i i 计划采用a c c e l l e r a 的p s l 3 】作为v h d l 的属性规范谬言以提高设计质 量耱验涯鑫凌晓戆效率。 2 源予软件诺富的系统描述谱富 支持从软件语言出发构建系统描述语寄的支持卷主要魁些乐观蛇软件专家。他们 认为,缱着计算梳耩设计鸯镄纯技术髓麓静疆舜,总香一天,工程癀其嚣键入”c c s i l i c o n ”命令,编译器就可自动转换c c + + 或j “v a 程序列芯片网表 3 5 f 6 9 【5 9 】 毽麟基翦焉富,已辨发工具黪鑫饕铯程麦爨然琴够毫,拜发过瑕孛霉要人工慰篆 统规范进行精化程序文本中不但要体现算法,还要舆有体现底层硬件特性的表 达式描述能力 正在弹震孛辩将软箨谱裔扩展翔系统露述语言豹嵇宠及开发系统大致分为两 类第一类以s p e c g 为代表,它们在慕本的c 语言中加入新的关键词在较高的抽 象屡次上支持硬馋黪性。第二类以s y s t e m e 努代表,熊您充分觏怒e + 十的可扩 展憔,直接i 入硬件元素 加州大学i r v i n e 分校的s p e c cf 3 5 】语言该语言直接定义在a n s i - c 基础上。 箍供系统纷为罄缀f b 赢l o r 越e r 固) ,绥耩瑟圾( s t r u e 妇瓶l毯e e ) , 并发,通讯,同疹,状态机,异常处理。患时等多项体现嵌入式系统本质特 性的程磐语句势且s p e c c 的开发滚程,扶算法;撰块,时键的处联,一壹 翻r r l 缀规范,挽著地静留了体系结构建模,功能正确性验证,设计性髓评 估,规范精化的理念因此s p e c a 的支持糟认为只有s p e c g 才是严格意义下 酶系统缀臻述语言。 a c c e l l e r a 组织的8 y s t e m c 【1 】语言a c c e u e r a 是一个由e d a 公司和荣成电路 设计公阕共同参与的产业联盟,象为各参尊方共隧荚心的磷发计划剁定产监 标准,让有兴趣的机构可以根据豁准开发自己的产赫s y s 钯m c 就怒其中豹 一个标凇s y s t e m c 的设计初衷烙为了填补s o c 设计与硬件描述谣言在抽 象层次上酶巨夭落差。毽越,当时s y s t e m g 懿要括镄然是艘l 设计,瑟没寄 9华东霈菠大学诗舞糖篆薄士学位沦交盒乃迭 一 涵藏软传编译黪志容它的工蒸链是沿袭硬棒描述语言懿,蒋羧糖真来缣证 设诗弱正礁瞧。随着s 滞挺m c 2 + o 稼搬静公希ts y s t e l n e 在软件方瑟的缺编已 彳导到了弥补赣发奄懿产菇中,魏g 醚e n c e 静s p w 平台,触y s 翡m “s i m 平台,都集成了用s y s t e m g 舞发嵌入式软疆肄系统螫器的工具, 牛漆大学瓣鞋撼e 2 鹫语言( 巍为c e l o x 沁a 公司捐有) ,h a n d e l g 超源予以 g s p 辫5 l 势理论袋据熬0 e e a m 【8 i 语富。箕坚实的理论篷翱j 赋予了o g c a m 非常 | 莩缓叉# 常好鬟酶线程结构,这使它磁并发辩发系统,爱建式( r e a c t ) 系统率捅督校强翡统努。鬣是芨对h 釉d 舒c 前也大有入在因为h d e l c 在 改造o e e a m 静过程中加入了过多静硬件物理约束。如i 獬定义,信号酶逾 潘特髅等鄂在系统设计的单潮就将实弼方式给限定死了,这怒有违系统级 描述谱言设计精粹静值褥一稳的是在c e l “i c a 簸近公布的产品申有一款面 禽s y 8 t e m e 翡敏捷编译器( a g i l i 乇ye o m p 拄e r ) 这充分摄拳了s y s 抽m e 的强大 冲击力, 褒实静s 0 g 系统淹赢一蓬交互工傺的实在个雄和对象构成。面向对象的语言蔓 赫予系统建模,也就更容器祓工程师接受阂弛,最近出现的一些开发系统多是 裔赢对象的自然迪就有研究者挺议糟j a 、,a 语言作为系统描述语蠢 l a v a b o 薛e ( 现瑟被l i “合并) 的j h d l l 蕊是第一个将j g 稷枣转换成可 综合糊乎莳逾的编译器j a 悄的支持者认为,j a a 生采就是为提高嵌入式 系统开发生产力哟,j 一程序眈硬件播述诺言鹋程序短很多,又支持通过串 请线程的方式实现标准c 0 + 十所没有的并发。反对者的意见是,j a v 趣中没 有g + 十中的模敝和操作符号羹载,其后果是大量的函数调用与系统行为的 不确定性,扶丽授难在懈盛对系统进行精确的性貔谯诗。一般认夯,强腿 燕e + + 之后的选择 j e d a1 6 4 】跫另一个有影响的甩炎j m 谮言作势系统级搂述语言懿尝试。宦 为j m 语育提供了时间点与时阉区间的描述构造,并从v e r af 5 4 1 借用了 声畹蜘饥一n d n 8 ,如幢加 一。靴以撼述多逃程特别是它采用了a o p ( a s p e c 扛 o r i e n t e dp r o g r a m m i n g ) 的理念,i k 设计工程蜒秘验证工程烬都先专注于各安 的工作,然后把功能描述规范鸯功能验证规范编织在一起形成测试单元f d v i c eu b 妇铷蚺。嚣为3 e d a 在设诗之翘是器攫势系统絮构验涯提供方馁翦手 段,阑此它没有综合工具,故j e d a 投越形戚完整的王舆链,这在一定程度上 限副了它的推广。 3 ,裁定义的系统撼述语意 ( a ) s u p 8 l 。g 玲噬黪铫是v 醅i 堍懿一个超集,叉袋舞了g 逶曹串鳃帮分语萄。鬻 此,现肖的v e r i l 锯设雪 无爨大煺摸改动 炎然哥嶷s u p e r l 。g 环境中被综合。 它还声张其簸螫了v 甜i l o g 的蕊骥冬e 的撼聚,玄萃是簿蘩建将v e r i l 。g 与g 掩 华东箨范大学计算辊累薄学位论文金乃致 1 0 合并,露是对鼹黄忧势的增值。可惜蛇是,s u p e 吨。g 迸未皱工业爨申螅大多 数公司荫# 上研发糟程。a c c e l k 也重新西到s ”t e m v e r n o g 静项目上了 ( b ) r o s e t t af 6 1 是由荧国国防郝发起的项以开发能为任何系统摄供描述,验证, 实袈王英为鑫静瓣簪 究诗翅,酗t t 懿俸者试努糖滚获多撬角( ac 。珏e t 沁n o f v i e w s ) 来考察一个系统因此他们在语言中引入了“f a c e t s ”这基本概 念,如电能消耗,耗电分带,频率响应,滠发条传秘算法精度尊各类“f a c e t s ”。 这样工程师在缭护这些“f a c e t s ”相互关系,考察它们的综合作用时,能独立 描述并处理它们现在,有关r o s e t t a 的工作也转移到了a c c e l l e r a 的专门委 员会。 ( c ) 在构建系统描述语言方筒,欧盟的e s t e r e l 1 1 】【1 4 】计划其实毕于美国。e s t e r e l 的设计蹬标是提供一个熊描述系统功能与结构的谱富。它支持图形他的组伴 建模,交互式傍冀,形式亿特毪验证,瓣试和文橙生成一些欧潍公司已用 该语言成功开发了产品,但在欧洲之外,熊影响力甚弱。受国公司还没有对 其支持。 上面我们简短地回顾了系统级描述谱言研究的历史与现状,a y a p pf 3 3 ,h a r d 。 w a r e c 【6 哪也都摄曾被人们寄予厚望的语蠢,对这贱语言和捆应工具的研究仍在进行 着,可敬看臻柱软硬伟镶域对系统缀撼述语言翡争论豹激鑫软件专家认为完垒获 硬件描述语言出发是不正确的,黼另一方则坚持通过升级v e r i l o g ,v h d l 的途径来 最终实褒系统港喜。从蠛期懿轰嶷器,第一类源予硬撑搂逑语言懿方法最可褥,医为 它是硬件描述谮富的稽化,向下兼容遗存系统( 1 e g ”ys y s t e m ) 在新环境下无需二次 开发仍然可用这一演化方式将持续到硬件描述语富有足够的抽象屡次,其特性可被 敦箨逡畜懿骞然扩充两涵盖鑫魏,第二炎滚手软转描述浴富翡舞发方式是中麓静譬 标从长期的角度看,电子设计自动化产业( e d a ) 必将获得不同予现有软硬件开发 语言的系统级挞述语言。这是第兰类方式的追求。三类演化方式在达成晕标的时闻上 有先麓,但在发餍的时闻上却是几乎耐丑寸的,并且蕊相影响,互有借鉴有憋研究机 构( 如s y n o p s y s ,c a d e n c e ,i n t e l 等) 阍时支持多项系统语言的研究工作。下面, 我爨癸暴露考察兄令毒代表整豹漆吝鹣实凌方法。 2 2 系统级蛾范语言的实现 系统缓设计懿翟标怒希蔡能由系统鞠能描述褥弱系统酌实现l e v 艚s e 掩7 1 释 z i v k o v i c 1 0 4 】曾探讨了尉系统描谶语言进行开发的一般方法他们认为用系统描述 语。蓦遴程舞发必须按照逐层糖他黪思想,磐建议程每一接象层次都按k 沁n h 诖远鳇h c h ”tf 6 5 j 模式谶行实现优化,见豳1 这里,映射将设计人员的应用模型实例映 照到槊构模型实例中,辨根据蔡个评估横型对这样的实残进行性能分析在得到 幢能j i 栝器滏小汀海搔蛩瀚路毯俸设计傀佬,包播罄袭俸系桑拘,修改应藤程彦代 码及修改评估模型等 c 娃在 2 7 】皆对系统缀设计嚣发流程申的撼象撰状模黧作了更详缨遗阕述,缝认 掩华东箨范大学计算辊累薄学位论文金乃致1 0 合并,露是对鼹黄忧势的增值。可惜蛇是,supe吨。g迸未皱工业爨申螅大多 数公司荫#上研发糟程。accelk也重新西到s”temvernog静项目上了( b)rosetta f 6 1 是由荧国国防郝发起的项以开发能为任何系统摄供描述,验证,实袈王英为鑫静瓣簪 究诗翅,酗t t 懿俸者试努糖滚获多撬角( a c 。珏e t 沁n o f v i e w s ) 来考察一个系统因此他们在语言中引入了“f a c e t s ”这基本概 念,如电能消耗,耗电分带,频率响应,滠发条传秘引向l 坦m e 管粑日t t l 。” 帮潍婴谰张臻漂誊娶爹;墓霎妻5 器誊攀善;静釜馨蟊器慧鬟章蠹鬈,壤满臻 爹惫篓萋影一;鬟蘩j 吾乳墓警l g 通以驰藓翳髓襄萋蠹g g l ! $ ,需嚆篓 驵; !ii爷谨蕊雨懈浸储蹿淞蝎;砸纪瓜件开发褶邻阶段接口的一致性,从而保诞软件开发各 阶段的顺利过渡3 1 程序分 析静数举方法程序分析可分为 对程序谬畜的文法分析,对静态特性的类溅分析与对程序褥为翦谮义努撰。文 法分析考虑静是程穿醣语法结梅铡如,对程滓o :2o ;o : 。;y := 2进行语法分析得 到该程序段由3 条语句组成,语句间以“;”分剡每条语句都有相同的模式,一个变虽精跟一个“:= ”帮一个袭逸式,嶷达式又鄹是含一个变量。 类型分析讨论静怒变量# 的类登麓否与交攮。酶类型匹配。如果不随配,就不 能将。的值赋给z 语义分辑考虑黪燕骞正确语法等爱凑类墼瓣程彦瓣抒为。瑟绘窭上镄程亭蒙豹 功能的详细解释 ,我们必须知道 1 形如。:。# 的语句的行为; 2 出“;”势翱的谮匐穿辫静行为 本文的程序分析 是指糨序的语义分析基于数学理论研 究毽穿谗义翦方法大致数努为三类,据舔潺义方法,代数方法和操作语义方法 其中指称语义方法与我们在其他领域中使用的数学方法墩为接近在工秘实践中,我 们通过观察事物发展过程中特征的变化采考察研究对象与此相似,攒豫港义方莹疆究 翟枣挽行过程牵观察戮的变量鹩镯始值露最终滢滴的关系。西鲍,在指称语义里规范,即程序,不过是描述用户期望的或可按受的产品行为的观察谱义 蟊毁贝l 是程序驰文法梅遣到交爨状态转换戆跌辨船:盛8 匏m e 耐一( s 。匏一s 矗e ) 。 指称语义有如下特点, 1 ,对语法范畴中的每个基本觉素都给出相应的语义子匈; 2 漆法范薅孛复合元索静语义子匐是定义在蠹接爨成嚣索语义予旬上静函数; 3 无限元素,如循环语句,用函数的不动点表示 熙搀张语义分辑 x n华东师范大学计算机系博士学位论文金乃咏望 图1 :y ,c h a r t 分析 为系统级描述语言的开发方法必须满足以下三点 1 为了减少系统设计的复杂度,支持在不同的中间抽象层次上建模,从没有时间 信息的高层模型到精确到时钟周期的r t l i s s ( i n s t r u c t i 。ns e ts i m u l a t o r s ) 底层模 型这些中间模型将整个开发过程分割为几个小设计任务,每个小任务都有特殊 的设计目标 2 在任何抽象层次上,都不存在由语言构造和语言特性引起的歧义 3 在任何抽象层次上,模型的行为可被仿真,性能可被估计,每个设计结果都可 独立验证 c a i 还为系统语言定义了5 个抽象层次,见图2 这里x 轴代表计算模型,y 轴代表通讯模型。每个轴都有三档抽象层次,分别是无时间模型,近似时间模型和时 间精确模型无时间的计算通讯模型体现了纯粹的系统行为,投有任何的实现细 节。近似时间计算通讯模型包含了系统级的实现考虑,例如被选的系统架构,功能 进程与实现组件间的映射关系近似时间模型中的时间是在系统级估算得到的,而非 依据周期精确的r t l i s s 级信息计算得到周期精确模型则含有在r t l i s s 级上非 常具体的实现细节这里, 1 规范模型描述的是系统的功能与行为它不考虑具体的实现手段,在计算与通 讯两方面都是无时间的 2 i p ( i n t e l l e c t u a lp r o p e r t y ) 组合模型定义了系统架构中的组件结构系统功 能经过分割被指派到不同的组件中进程的运行时延时在模型中通过w n # 语句 被显示地标注因此, i p 组合模型在计算方面属于近似时间模型。但组件是利 用抽象的通道概念进行通讯。故该模型在通讯方面依然是无时间的 3 ,总线仲裁模型刻画的是那些以总线实现通道的程序模型在以总线方式通讯 1 2 华东簿藏大学计算辊琴湾学位论支金乃嘛 1 2 逶落 脚期精确 道儆对闻 戈时间 茏释潺透毂| l 季掏 鲻期鞲确 凝2 :设计模型接象联次 娥范接型 瑟曩畚曩簇型 总线功能模型 实现模型 计算 的系统里,设计师将按器要选用不同的总线协议,如阻塞式或非阻塞式总线相 毙较,捶象瓣逶遭横念隐藏7 较多懿炭褒缨节,翔接强翡雩l 枣定义,俦输静对梳 等通常每个处理组件在总缄体系中都被赋予一定的优先级,总线仲裁器依据优 先级的不同决定通讯的发生穷。每次数据传辕的时闯遇过”。娃语句插入到程序 文本中这样,遭讯也是近傲时间糟确的 4 总线功能横魁将椒程序文本中体现艇个总线协议,包括系统总线的每个引线上 壤蒲到震麓浆电平交纯。教该壤垄在瀵曩专方藿憝慝勰糖薅戆。农诗算方蠢鸯i p 鬣 合模型一样,是近似时间精确的 5 实现模型 用r t l i s s 级定义处理鳃件。事传发生顺序的时间粳度被精确到了 每个辩锌鬟凝所淡在该模囊下,诗舞藕逶讯都是藩麴精确魏 在这五个抽象臌次中,规范模型,总线仲裁模型和察现模型是纯的无时间模烈,近似 对闻模爨缎震嬲糖确模獭。爨2 中鲍获线援出了这三令模型超静猿诧关系i p 缝 合模獭和总线功能模型烧设计流襁中的中问模型 g r o t e k e r 在f 4 8 】中为s y s t e m c 定义了驻个抽象层次,分男q 是无时间功熊撰型,考 嘲瑟鸯键模型,事务处理层模垄,行隽瑟糗毽释鼢l 层横獯。g 稚镕k i 弼在f 3 嗣孛给 出了s p e c c 的抽象层次绩构,分别是规范模型,架构模型,通讯模型和实现模型。 圈3 是这些摸爨体系与e 娃的参考攘型霹浆关系,莓号“一”表示撰毽阉鳃等傍瞧。 需要搔出的是,s ”诎n g 的有时f 鄱身能模潮的特点不在抽象层次上,它关注的是模型 的时间因索,各模块是磷对时间搴件敏感因此,该模型也可用来描述纯系统行为规 范,系统絮擒释缀律结褥穗类酝豹,s 鞘t e m c 静攀务娃理模鳖考察翡是攘攥孛戆通 讯方式,非抽象层次上肖何特殊之处该模型集成了i p 组合模型和总线仲裁模型 图4 是e 越给出螅上述五个攘象模溅阕的设计漉程。爨中左边一拦是模型闻懿 1 3 华零藤蔻太学计算槐系撼士学位论文金强壤 强 参考横塑却e c c 翦模塑攥扶 斟# t 朋i c 静馥璧鹾次 图3 :抽象模型比较 醴4 :实现溅裰 耋平妻蒌童 华东搿范大学诗葵瓿累蒋士学隹论文垒墨夔;! 图5 :精化步骤的模式 壤宪关系,表逡一栏莛浚诗藏卷酶鏊令验段。 l ,架构探索的工作鼹点是将系统行为映射到处理组件中,将程序变量映射到全 局凌处理缎传的局部蠹存中。 2 幕务处理襟素酌正俸是定义系统的拓扑绪构,选择阻塞式绒非阻塞式通讯模 式,将通道映射到系统总线上,定义处理组件岛存储组件与系缀总线的建接点, 淡及在程謦文本孛女# 天慧努l 粒裁装爨 3 协议选择的任务撼确定总线协议总线的锯项实现细节将依据处理组件特性 的不同插入刘程序文本中 4 。宴瑷探索酶任务燕确定各须资源翡分配,绑定和调发算法,生成可运行代码。 如果前三个步骤仍可视为在较抽象的朦次对“系统”进行设计, “实现探索”则 是宠垒在避行缝终设诗 所有逡四个设计步骤都髓在构造前一模型的精化图 5 给出了这些步骤的设计模 式这照,“模型1 ”怒每个步骤的输入模型, “模型2 ”是精他黠的输出模型 务轿是摄取凄“横登l8 申程亭静特征的避程; 探索的焦点是根据分析得到的程序特征找到将要在程序转换中被实旖的实现 缨警; 精化其实就是软硬件编译的过稷,它把融确定的实现细节体现在新生成的 “模型2 ”的程序文本中; 验 菠蓬嚣一次确试“模警2 ”豹整垮潢是了源程穿鳆各项簧求与约粜 可见圉4 中的实现流程与u c h a r t 理念是一致的 3 獠序理论尚编译嚣设计 裰撼上一带驰分析,凌靛霹棼点萋到将系统级瓣范转换必硬俘鼹表或霹挟行二遴 代码豹避程是一个对程烀不断精亿的过程这一系捌的转换可由人工实现,也可由机 器实现人工实现会因程序员对高抽象层规范理解的偏颜或对目标处理组件的特性不 了錾露在低糖象瀑麓范审g l 入错误。特蒡麓在系统级设诗中,西标娥建组件往往蔻不 确定的,髂要通滋大量广泛地,多层次地探索才能得到最后的实现鬻求程序员对所 骞可能的目标处理组件都有深入缎致的了麟是不现炭鳃。黢忿,系缀级设诗舞嵌旗予 1 5华秀;爆莲大学计算撬系港堂霪澎交垒塑鎏 ! ! 用机器实现,即编译。在硬件实现中,通常称编译为综食本文如不特攒硬件实现, 将统称编译。 编译器怒连接系统规范别最终实现的桥粱编译器的首要必备条件是必须严格 芷礴黪。不撼确的编译会将入嬲在系筑设计积分氍上毂努力化必鸟毒。舞发严撂安全 系统一直是项重要挑战为姚,计算机科学家构造了校多理论,方法,技术和工舆来 处理相邻开发阶段的接口问题最有影响力的正作来自a h o ,s e t h i 和u i l m a n 5 】 缝l 疆交了一套类熬操 筝语义瓣方法米验证系统是正确瓣。这一方洼被广泛逢应簿于 编译器,汇编连接器,微处理器门级电路的开发中受他们的影响,欧洲于上世鳃八 十年代束窟凌了针对蹩个软佟舞发过嘏的正确性可验证计划p r o g o s 墨霸。这一诗翅 徭鼯用数学模型方法来确保软件开发褶邻阶段接口的一致性,从而保诞软件开发各 阶段的顺利过渡 3 1 程序分析静数举方法 程序分析可分为对程序谬畜的文法分析,对静态特性的类溅分析与对程序褥为 翦谮义努撰。文法分析考虑静是程穿醣语法结梅铡如,对程滓 g := z ;茁:荨掣;妒:= z 进行语法分析得到该程序段由3 条语句组成,语句间以“;”分剡每条语句都有相 同的模式,一个变虽精跟一个“:= ”帮一个袭逸式,嶷达式又鄹是含一个变量。 类型分析讨论静怒变量# 的类登麓否与交攮。酶类型匹配。如果不随配,就不 能将。的值赋给z 语义分辑考虑黪燕骞正确语法等爱凑类墼瓣程彦瓣抒为。瑟绘窭上镄程亭蒙豹 功能的详细解释,我们必须知道 1 形如。:。# 的语句的行为; 2 出“;”势翱的谮匐穿辫静行为 本文的程序分析是指糨序的语义分析 基于数学理论研究毽穿谗义翦方法大致数努为三类,据舔潺义方法,代数方法 和操作语义方法其中指称语义方法与我们在其他领域中使用的数学方法墩为接近在 工秘实践中,我们通过观察事物发展过程中特征的变化采考察研究对象与此相似,攒 豫港义方莹疆究翟枣挽行过程牵观察戮的变量鹩镯始值露最终滢滴的关系。西鲍,在 指称语义里规范,即程序,不过是描述用户期望的或可按受的产品行为的观察谱义 蟊毁贝l 是程序驰文法梅遣到交爨状态转换戆跌辨船:盛8 匏m e 耐一( s 。匏一s 矗e ) 。 指称语义有如下特点, 1 ,对语法范畴中的每个基本觉素都给出相应的语义子匈; 2 漆法范薅孛复合元索静语义子匐是定义在蠹接爨成嚣索语义予旬上静函数; 3 无限元素,如循环语句,用函数的不动点表示 熙搀张语义分辑翦露豹铡子,羧要先定义只哿程* rm 媚,对瘦弱语义矮数, 1 8 华东辩范大学计算抚条博士擘位论文金乃咏堕 对事物认识爨接象屡次蛇誉隧会寄不同戆可蕊察变量,扶霹有不同的援蓬。挎穆 语义借助于数攀方法描示不同抽象层次阐规范的连接关系逸一认识极大简化了对 程序正确性理论的的理解一个正确的稷序实现必定是规范允许行为的子巢, 与籀稼语义的磷究对象不瓣,霞数方法不讨论翟j | 芋酌语义模爨静 a nb ew i d e l yu s e d , k e yw o r d s : c a r b onf t e ep r e c a s tb l o c k s ,c r a c k i n gr e s i s t a n c e ,s p a l l i n gr e s i s t a n c e , s l a gc o r r o s i o nr x i 7 华农师范大学 葵撬系博士学经论文金乃壤 1 7 雁疆序 目标埕序 藤程亭著义解码目标程筹普义 图6 :编译器验证原理图 含努港法硷骏,语义检验,钱羁皇戒,我霹连接,技礴後匏等诸多步骤。零文翡缝译 是指代码生成 编译器本质上是一个文本翻译程序。它之所以吸g l 众多计算机辩学象姆注意农于 编译器不允许在程序髓译过程中孳l 入锵误,生成的新程搿在目标环境下的行为必须优 于域至少和膳程序规范的一致已有很多工作探讨了编译器的正确性问题,m c c 8 r t h y 耪p 越臧“邸】最早予l 6 7 年攀毙挺凄震操俸添义懿方法来验蟊戆萃表遮式懿缭洚歪 确性。代数方法的应用则源自b u r s t a l l 和l a n d i n 2 5 他们的工作对盾人有深遗的 影h 国从代数的角度嚣,正确编译器的原理如图6 所示。该交换图是m o r r i 8f 7 2 l 在静u 嗽龌秘l 蠹矗d i n 的工襻蒺础上孳i 入的葭中点为代数概念,箭头为同态映射, 和咖为语义函数,解码映射表明编译产生的目标程序的语义成能充分袭达原程序 斡镂义,薅嚣嚣者魂螺戆提等。可用扶鳜稷廖诿义到譬撂程枣语义上酶译褥浃麓采替 换解码映射类似的交换图也可用于基于指称语义的编译器证明p o l 吐f 8 1 1 不仅使 用该图的风格,还用丁该图的符号来袭示指秘语义所不同的凝他的图较m 。”i s 孵 更篱攀,骧程序与蓦赣;程枣事獬稆离酌语义西致模登,这榉可直接托较两者的语义, 丽光须在语义层次引入解码映射除了对早期的代数分析方法的影响,m c c a r t h y 和 p 出n t 蟾操傺语义方法还为我们带来了4 鼹释器筹侩”豹概念。辫释嚣掇据翟旁黠运 行时环境的影晌给出原语言与目标语宙的语义两者的翻译函数是由它们运行环境 间的关系刻颇的 尽管这黧方法煮滚撵镕i 榉秘蘧剃,但在表达编译器蠢磷往方蕊有共邋之处。如果 不考虑对圈6 中点绒名称的不同,它们的整体架构是一样的其它的编译器设计理 论也来跳出这一框絮。d e s p e 辨o u xf 3 谚蹬熙了睫6 来翔蓬编译嚣懿正臻性理论,堡 为了处理程序中的不确定性,潮中的箭头被定义为”关系”而非”函数”s n v af 3 4 1 用”操作等价”比较原程序与目标程序的语义总之,为构造一个正确的编译器,我 餐篱要, 1 原语言与目标语裔的文法, i 8 华东搿箍大学计算梳系薄学位论文金乃酥 1 8 2 ,廉滠言与蹬标语言的语义摸穗, 3 骧语言与馨标语言,及文法剜语义模疆的语义函数, 4 将原程序映射到目标程序的编译器, 5 嚣潺砉与嚣撼浯言谬义懿羹:较方法。 经验显示,即便人们对编译器有如此的共识,要简洁_ l 甑解决编译器的芷确性问题 仍是个挑战必须确保,当某些文本被替换为薪文本时,盛密与懿袭保持一定的精他 关系如果两豢采用不阍的语义形式诧方法,闯趱将变得羰复杂,逐必须建立语义闻 的翻译 菇了筵纯潺义瑟凌上麴翳:鞍关系,誊怒懿方繁怒将基搽语言鳃诺义褒入穗藏语富 的语义空间中,让目标程序与原稷序享有相同的符号,这样目标程序变成了原程序的 一个子集。进耐编译可归结为在缆一语义奄间中的文法变换。这一思路被m o r r i sf 7 2 l , 麓。r g f 7 1 l 和m a r k w 7 翻采用,并癌发了p r 。e o s 静编译禚设计方法。 3 3p r o e o s 的编译骆设计方法 p r o e o s 讦嘲中有报太一部分工作是美于正确编译器设计的h o a r ef 5 8 】 5 6 倡 导用代数的方法来设计编译器该方法不糍接定义语义函数,而通过文法对歙间的等 徐袭壤纯关系袋给窭程磐懿语义+ 这一方法戆饶努在予无筹专监的数学知 袋,设计费 发人员就可借助符号演算对编译器的正确性进行验证 s a m p i ol 删月代数努法建立了一套统一的编译糕设计糕浆。营先,健采髑了p c 。s 懿推理语寄( r e 8 8 0 n i n gk g l l a g e ) 作为系统规范语言,然后他用解释程穿寇义处理 器的行为。解释稷序的义法是推理语言的一个子集而解释程序也就是所谓的范式程 廖。s p i o 翦藏式其蠢鳃下豹形式 d 群 口:口;6 p ;n - 其中d c ”声明了在商抽象鼹次不可见的局部变量。,由于它怒局部变墩,故程 序结柬时它的值不堂要; 。爨专穰设,螽暴诌始斌逢举麓霞a 畿立,辩程穿弱锫为将不霹混寨弼时注意 到:的意义是非确定性赋值。这一抽象使程序员不用考虑具体的赋值和编码方 式; p 鼹个程净,只有当b 的值为f 幽e 时,p 停止一般而言,p 具有如下的形式 6 l 一尸l d k 一心若该语句中任一6 。为冀,相应的只就执行因此6 的表 达姣秀lv v k ,嚣只粼是改变撬器捩态魏斌篷港镌; q 雉对机器最后状态的断言如果谓词c 不成立,则熬个程序寝现为“放弃” c i 的形式化窟义将教后面的黎节中绘出。 在定义了范投之君,s a m p - o 又给蹬了将各基本语句妇结到范式的代数方法,并 证明了范式在顺序语句,条件语句,循环谮句的组会下仍然是范式这样从范式的结 棱番,一个应簿爨廖裁麓一拿大懿 | 垂嚣语麓,只要程亭静纛行使条箨孛懿莱令壤 2 0 华东辉范大学事 算枧系博士学位论文金乃咏 勰 了语义筷篓闻静转换工作,降低了代数性黉涯舞酌复杂度在魏蓁穑上,km一融iz 26用pvs f 8 5 】验证了m a r k u s 的方法是正确的。 代数方法不但被用于软件编译,也可应用于硬件编译he,bowen和page【62】17 为我粕挺供了将0eeam谬砉编译鸯硬毒孛葱式懿进程,势诞甓这一簿系是完备静, 即硬件范式的组禽仍为硬件范式。这样硬件电路尊程序语言的鸿沟被填平了。4 实现横型与爨源理论 4 。l 实瑰蠼型中的资源爨素 accellera的ge+工作组对第2节中的处予最底层的实现模型又进行了细分, 并制定了rtl谮义规范标准【49】该标准定义了五个不同的rtl抽象模型,它们是l 采映射豹雕l 在文法上该撼象瀑次懿程廖规范每瞢逮程枣语言缝程牟没有区 别不问的燕,各程序构造依据目标处理组件的特性被赋予了各自精确到周期的 谮义,并依据算数运算荜元的时间特性对赋德语甸进行了改造同时交缀被分为端日变囊和趱部变基。嫂珏变量按用途又分为拄刿蝼墨鸟数攮蠛蹬,按方向分先 输入端口,输出端口与双向端口2 学罐浃瓣豹歉t l 来浚射摸鳌串酶数据变萤在该捕象罄次串被替换为粪俸酌存 储单元,如寄存嚣,寄存器文件和内存等。 3 功能映射的r t l 目标处理组件所拥有的运算逻辑单茹,如加法器,移位器, 毙较器簿,被骥魂努配绘程【| 葶文零孛静鲺憨翘霾骢? i 嘻涟一嘲旧蓬鼍- 的程序行为波国镯馑臻馕嘲堪吲壤理壤燃蓄羲璺裂鬻轻型 薷豁臻羲巍蕈彰酲! 搓。 自j 国曦璜酾蠹蠹垂棼嚣磐墨翌曼毪罐蔼苗套壤甚趣滞漤啜鬟嚣二警蠡蔷菇鬃臻 臻搿务匕】秘鲤驺弱凳“颡: 是;移搴薹钧骞薹| 委嚏毒滢塞嚷嚷渖罐噔憾才1 臌髓鲍摸型孛,是考在不产生资源跨突的壤 瑟下状惑转 移才可能发生g o s w a m i 和j o s e p h 4 7 1 【4 6 1 的指称语义与s h a d e n ”a y a n a 模型的不 阿之怒是霞考虑弼部交萋静冲突闯嚣 鼹基于程序文本的逻辑方法研究势发程廖毒份正确性的工终可遥濒裂o w i e 妊秘 g r i e 8f 7 9 】在他们的瑷论中,各进程有赖于环境来保诚相应的资源不变式的成立 o 班e m 黎轴y n o l 蠡【7 8 】辫3 】借魏吲m m 讯9c 。耐n 渤扩篪了0 w 磷g 砖e 8 的逻辑 规则,从而能够更方便地形式化“进程应该只考虑自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年科教科工作计划(5篇)
- 智能电网中的电力电子转换器考核试卷
- 医疗机器人与专业技能培训考核试卷
- 文化创意产业技能提升
- 文化遗址保护性拆除合同
- 大型机械设备质检聘用合同样本
- 保安服务电线电缆施工合同
- 超市促销临时工劳动合同书
- 钢筋工程进度合同
- 基建安全质量监督检查制度
- 公园户外音响系统维护合同
- 2024-2030年中国风电运维行业发展现状规划分析报告
- 2024年国际货物买卖FOB条款合同
- 华南理工大学《嵌入式系统》2022-2023学年期末试卷
- 2024-2025学年二年级上学期数学期中模拟试卷(苏教版)(含答案解析)
- 礼修于心 仪养于行 课件-2023-2024学年高一上学期文明礼仪在心中养成教育主题班会
- 解除终止劳动合同备案登记表
- 红金大气商务风领导欢迎会PPT通用模板
- 入团志愿书(2016版本)(可编辑打印标准A4) (1)
- 山西某矿山皮带廊隧道安全专项施工方案
- 有限元讲义_《有限单元法》讲义
评论
0/150
提交评论