收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

基于动态语言的系统描述、验证和综合

张幂  
【摘要】:随着集成电路工艺的高速发展,单块集成电路上的晶体管数目越来越多,更多地以复杂的片上系统(SoC)形式出现。集成电路设计也从原来的寄存器传输级(RTL)转向系统级(ESL),由此系统级设计语言也适时而生。这是一种有能力在多个设计抽象级上描述电子系统的语言,从它的形成来看,它们来自于①对经典的硬件描述语言的扩展,②对通用串行语言的扩展,③一种完全全新的设计。它们的出现和发展极大提高了设计人员的生产力。在这三种分类中,其中来自对通用串行语言C/C++扩展的SystemC广受关注,已经成为事实上的标准。 由于面向硬件设计的系统级语言和通用语言为基础软件技术的独立发展,使得它们无法吸收软件技术发展的最新成果,这在一定程度上限制了设计人员的开发效率。其中近年来逐渐发展并流行的动态语言(如Python)已经被广泛地使用在各种大型项目中,并且取得了骄人的战绩。软件巨头微软公司也在他们的软件升级中加入各种动态性能的支持,如C#的新版本和IronPython的建立。使用这些新兴的软件技术极大地缩短了产品开发的周期,然而如何把这些优势扩展到系统级设计是一个极富挑战性的课题。源于此,本文以流行的动态语言Python为基础,在这方面做有益的探索和尝试。主要的工作如下: (1)提出新式的动态系统设计的定义和由此而生的新流程。动态系统描述定义为可动态修改的状态描述集合。它是贯穿本文的核心概念,系统设计实现的三阶段(描述、验证和综合)都建立在此基础之上。它区别于传统的建立在各种设计文件为基础的静态系统描述概念。 利用流行的Python动态语言,我们设计了动态系统级设计语言PDSL(Python based Dynamic System Language),用户可以通过它完成基于动态系统描述的整个流程。 (2)设计并实现PDSL中的的动态描述方式和对应的描述要素。用户可利用PDSL中各种描述要素(如模块,数据,过程等)构建一个动态系统,并且提供各种机制能够以程序方式动态添加、删除和修改系统的结构和行为。 (3)设计并实现了PDSL中动态系统的验证。这一部分首先定义了仿真时间的概念,并基于此设计和实现了一个离散事件驱动型系统仿真内核。另外,这一部分还定义了动态系统验证中的持久化管理,包括序列化和反序列化。 (4)设计并实现了PDSL中动态系统的综合。综合是把动态系统的即时映像转变成可以被业界接受的硬件描述语言描述。这其中包含数据的匹配,子模块的识别和转化,以及过程中Python字节码的复杂分析和转换。 (5)设计并实现了基于自然建模的高级综合系统Trilobite。自然建模指的是一种贴近设计者认知理解结构的建模方式,它的理念是把大量的复杂性转移并隐藏于系统工具库内部。基于这个理念,我们设计并实现了一个使用PDSL的高级综合系统。它创建了一个框架,能够按需要扩展各种细化、翻译和优化步骤把用户的高级描述转化到最终的硬件描述。 总的来说,这里包含两个项目:PDSL(包含工作点1-4)和在此基础上的Trilobite(包含工作点5),前者面向贴近硬件的低级设计,后者针对高级建模的描述和综合。最后论文阐述了使用动态语言Python、Trilobite和PDSL完成的温度补偿时钟模块的设计、验证和生成的整个过程。除了这个非处理器的实例,论文阐述了简单CPU的设计、验证和生成以及JAVA处理器的部分设计结果。 使用Python、Trilobite和PDSL的动态系统级设计催生了若干系统设计方法的改进,能极大地提高开发人员开发效率,适应于更高级别的电子自动化设计。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 高昂;;动态语言的虚拟机平台[J];程序员;2008年05期
2 高昂;;动态语言[J];程序员;2007年11期
3 ;动态语言与.NET[J];程序员;2004年05期
4 汤韬;;Open Source[J];程序员;2006年02期
5 汤韬;;动态语言,隔岸观“火”[J];程序员;2004年05期
6 孟岩;;Ruby on Rails震撼性的Web开发新技术[J];程序员;2005年09期
7 高昂;;支持动态语言的Android平台[J];程序员;2009年08期
8 胡鉴明;Renzo Titone的整体动态语言学习模式(HDM)理论的评介(摘要)[J];五邑大学学报(自然科学版);1994年02期
9 霍炬;;开放的动态语言兴起之路[J];程序员;2006年06期
10 高昂;;动态语言的代码托管云服务[J];程序员;2009年07期
11 李进;;.NET语言和模式的简析[J];电脑知识与技术;2010年26期
12 ;网络聚焦[J];程序员;2008年03期
13 崔峥;;用动态语言简化ICE接口测试[J];程序员;2009年09期
14 高昂;;动态语言的GIS开发插件[J];程序员;2009年12期
15 方舟;;动态语言[J];程序员;2007年08期
16 高昂;;面向动态语言的IDE策略——CodeGear公司CEO Jim Douglas专访[J];程序员;2008年01期
17 李大微;;一边是设计模式一边是动态语言[J];程序员;2006年09期
18 Frank Sommers;朱海艳;;Java虚拟机的动态语言支持——访Java SE项目负责人丹尼·考沃德[J];程序员;2007年02期
19 孟岩;闫辉;朱海燕;;Guido谈Python的现状与发展[J];程序员;2007年07期
20 肖久明;耿祥义;;利用动态代码生成提高设计模式的效率[J];电脑知识与技术;2010年33期
中国重要会议论文全文数据库 前7条
1 张普;;关于控制论与动态语言知识更新的思考[A];自然语言理解与机器翻译——全国第六届计算语言学联合学术会议论文集[C];2001年
2 张普;;流通度在IT术语识别中的应用分析——关于术语、术语学、术语数据库的研究[A];辉煌二十年——中国中文信息学会二十周年学术会议论文集[C];2001年
3 杨诗芳;郝世峰;黄伟;;Perl语言在气象类编程中的应用实例[A];第五届长三角气象科技论坛论文集[C];2008年
4 朱琦;;信息安全-应用程序代码保护[A];2008年MIS/S&A学术交流会议论文集[C];2008年
5 乔园园;李飞;;Mashup开发模式及实例CHEMap[A];第九届全国计算(机)化学学术会议论文摘要集[C];2007年
6 郭慧志;王强军;刘华;张普;;大规模动态流通语料库的构建[A];第二届全国学生计算语言学研讨会论文集[C];2004年
7 胡雪梅;;基于.net的三层架构视频点播网站设计[A];山东省计算机学会2005年信息技术与信息化研讨会论文集(一)[C];2005年
中国博士学位论文全文数据库 前4条
1 隋岩;基于“动态流通语料库”的“有效字符串”提取研究[D];北京语言大学;2004年
2 王强军;基于动态流通语料库(DCC)的信息技术领域新术语自动提取研究[D];北京语言文化大学;2003年
3 张幂;基于动态语言的系统描述、验证和综合[D];复旦大学;2009年
4 杨建国;基于动态流通语料库(DCC)的汉语熟语单位研究[D];北京语言大学;2005年
中国硕士学位论文全文数据库 前10条
1 杜欢;高度可扩展的递归可枚举语言解析器的研究[D];华中科技大学;2007年
2 李伟;基于JAVA的学生信息管理系统[D];电子科技大学;2009年
3 孙思亮;XX银行中间业务平台的设计与实现[D];山东大学;2009年
4 庄家栋;基于WSGI的可复用统计审核平台的研究与实现[D];中南大学;2009年
5 邓际锋;支持静态元编程的可扩展式开放编译器的研究与实现[D];华东师范大学;2006年
6 谌勇;游戏脚本引擎设计与实现[D];昆明理工大学;2007年
7 费玉英;汉英被动结构对比研究[D];上海外国语大学;2004年
8 孙盛毅;基于WEB技术的供电设备缺陷管理系统分析与设计[D];华北电力大学(北京);2008年
9 曹俊;基于Web2.0的社会化消息系统的设计与实现[D];重庆大学;2008年
10 龚闻达;基于混合语言的Web服务容器设计与实现[D];西安电子科技大学;2008年
中国重要报纸全文数据库 前10条
1 乐天编译;动态语言静待花开[N];计算机世界;2007年
2 Zend公司CTO Andi Gutmans;JVM救不了Java[N];中国计算机报;2008年
3 高洋(作者单位:安徽省歌舞剧院);浅析当代舞蹈创作走向[N];安徽经济报;2006年
4 清水 编译;Ruby面向Java世界[N];计算机世界;2006年
5 邢小萍;金蝶OperaMasks 2.0 拼抢SaaS市场[N];网络世界;2008年
6 胖胖;VBA会成为一种没落的技术吗?[N];中华读书报;2007年
7 ;微软对开源的爱与恨[N];网络世界;2007年
8 本报记者 王臻青;辽宁芭蕾感动首都观众[N];辽宁日报;2008年
9 孟冬冬;Java走上开源之路[N];计算机世界;2007年
10 ;JRuby:集Java和RoR之所长[N];计算机世界;2007年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978