实例介绍
SystemC片上系统设计, SystemC片上系统设计,SystemC片上系统设计
高等院校教材 SystemC片上系统设计 陈曦徐宁仪编著 周祖成审定 学出版社 北京 内容简介 SystemC是被实践证明的优秀的系统设计描述语言,它能够完成从系统到门级、从软件到硬 件、从设计到验证的全部描述。 Systemc201已作为一个稳定的版本提交到IEE,申请国际标准。 本书为配合清华大学电子工程系 SystemC相关课程的教学而编写。全书分9章,内容包括: 硬件描述语言的发展史; SystemC出现的历史背景和片上系统设计方法学概述; SystemC的基 本语法; SystemC的寄存器传输级设计和 SystemC的可综合语言子集,以及根据作者设计经历 归结的RTL设计准则和经验;接口、端口和通道等 SystemC行为建模的基础、交易级建模和通 信细化; SystemC的 Master-Slave通信库;一个 SystemC TLM建模实例—片上总线系统; SystemC与Ⅴ HDL/Verilog HDL的比较; SystemC的验证标准和验证方法学; SystemC开发工具 SystemC win、 Wave Viewer等,以及使用 MATLAB进行 SystemC算法模块的验证。每一章都 精心编写了课后习题以配合教学的需要。 本书可作为大学电子设计自动化(EDA)相关课程教材,也可供电子工程技术人员作为 SystemC设计、应用开发的技术参考书。本书丰富的实例源代码特别适合初学者根据内容实际 运行、体会,举一反三,以掌握 SystemC进行应用系统设计。书中全部源代码可以从 htp/www.sciencep.com上获得。 图书在版编目(C|P)数据 SystemC片上系统设计/陈曦,徐宁仪编著.一北京:科学出版社, 2003.10 高等院校教材 ISBN7-030122925 1S…Ⅱ陈…②徐…Ⅲ. ystemC语言程序设计-高等学校-教材 ⅣVTP312 中国版本图书馆CP数据核字(200)第091861号 责任编辑杨凯筱戎责任制作魏谨 责任印制刘士平 封面设计’李力 导出版 北京东黄城根北街16号 邮政编码:100717 http:/www.sciencep.com 海印的有恨贵公司印刷 此集京方种龙面文有限公司制作 http://www.okbook.comcn 科学出版社发行各地新华书店经销 2004年1月第版开本:BS(720×1000 2004年1月第一次印刷印张:20 印数:1~5000 字数:367000 定价:30.00元 (如有印装质量问题,我社负责调换〈新欣》) 序 随着集成电路制造技术的发展,人们已经可以将包括存储器、信号采集和转 换电路、DSP、CPU核等模拟、数字和混合电路构成的一个完整的电子系统集成到 个芯片上,从而产生了片上系统( Sys tem on Chip)的概念。片上系统的核心 技术是深亚微米的甚大规模集成电路制造技术和系统设计技术 方面,电子系统越来越复杂;另一方面,其市场寿命也越来越短,一个新 产品往往上市几个月就被功能更新、更强大的产品代替了。这给电子设计带来了 严峻的挑战 在传统的设计方法中,首先由系统工程师进行系统规范,进行系统分割,接 着硬件与软件分开设计,硬件使用硬件描述语言如VHDL或者 Veri log HDL实现 软件使用C、C艹+或者汇编语言实现。软件的设计往往要迟于硬件.这种设计方法 的缺点是系统设计、硬件设计和软件设计使用不同的语言,无法进行软硬件协同 验证,系统验证成为制约设计效率的主要因素,迫切需要一种通用语言能够完成 从系统、软件到硬件、门级各个层次的设计描述和验证,这就是系统设计语言 ( System Level Description Language ) 当前系统设计语言的发展方向有两个。一是扩展传统的硬件描述语言VHDL 和 Verilog hDl,使它们支持抽象数据类型,从而具有系统描述能力。这方面比 较突出的工作之一是由 Accellera组织(0 pen Verilog Internat I组织和VHDL International组织合并成立的硬件描述语言发展组织)的 SystemVerilog,二是 扩展传统的软件语言C和C艹,使它们支持硬件描述,在 SystemC出现之前已经 有很多这方面的工作比较成功。但这方面的工作最突出的就是 SystemC. SystemC 在 Synopsys等一批大公司的支持下得到了很大的发展,它已经成为很多EDA(电 子设计自动化)工具除VHDL和 Verilog HDl之外的第三种支持语言,由于其开放 性等特点,已经得到全世界工程师的欢迎和认可,许多大公司都推出了 SystemC 的开发工具 SystemVerilog可以粗略地理解为是 Verilog的超集.业界多数人认为,如 果它成为IEEE标准,很可能导致VHDL逐步退出历史舞台。同时业界也普遍认为, SystemC与 SystemVerilog刚好构成互补的关系,“ SystemVerilog的发展将会成 为 SystemC的基石”。由于 SystemC在系统级设计与验证方面没有对手,我们认为 它几乎必然会流行开来并成为IEEE的标准 由于开发工具的不断推出, SystemC在国外已经十分流行.目前已经有国内 外一些大公司利用 SystemC开发项目成功的案例.我们在深圳清华大学研究院EDA 与网络应用重点实验室使用 Sys tem开发的数字音频芯片的流片也是使用 SystemC开发成功的案例之一。我们已经在清华大学开始讲授 Sys temC Sys temC之所以成功,关键在于 (1)开放性和广泛的支持。由于 System扩展了C++语言,所以无数熟悉C++ 又对硬件描述感兴趣的设计者可以很容易地掌握。对于那些熟悉硬件描述语言的 工程师,学习 SystemC也很容易,对于他们来讲,只需找到他们与所熟悉的语言 所对应的语法就可以了. SystemC几乎受到了所有EDA公司的支持,这也是它成 功的关键, (2)抽象描述能力, Sys temC是在系统级和交易级建模的最佳语言,同时它 能够很好地支持寄存器传输级设计和验证 (3)仿真速度。 SystemC描述的系统是可执行的文件,仿真速度远远大于逐 行解释的硬件描述语言,这一点对于越来越复杂的电子系统来讲十分重要 周祖成 2003年9月于清华园 编者序 1写书背景 到目前为止,成为IEE标准的硬件描述语言有两个:VHDL与 Verilog HDL VHDL的英文全称为 VHSIC Hardware descript ion language,其中 VHSIC指Very High Speed Integrated Circuit.ⅦHDL出现于1980年,并于1987年开始成为 IEEE标准,称为 IEEE Std.1176.Ⅴ erilog HDL语言出现于1983年,并于1995 年成为IEE标准,称为 IEEE Std1364-1995.与VHDL和 Verilog HDL同时存 在的语言如 Super!og、 SpecC等,由于它们由专门的公司所有,并非开放标准, 所以不是很流行 VHDL与 Verilog HDl并称为传统硬件描述语言基于它们的设计方法是,在 系统级一般采用C/C+等高级语言进行算法描述,然后再手工转换为ⅦHDL或者 Verilog HDL。由于两个阶段使用不同的设计语言,不能够很好地结合起来,软硬 件协同设计和仿真、验证很困难。随着集成电路工艺水平的提高,现代业界进入 了片上系统集成( System on Chip)的时代,一大特征就是软件设计的比重越来越 大,然而,使用传统设计方法只能在硬件设计接近完成时才能开始软件的设计和 调试,从而导致设计成为整个集成电路产业的瓶颈 基于以上原因,人们致力于开发一种新的设计语言,它能够提供全面的系统 描述能力.由于在软件领域C/(+的绝对优势,人们渴望能够利用它们来描述硬 件,这方面的研究工作已经开展了10多年的时间,一直处于自发的状态,直到 1999年 Sys temC的出现才改变了这一格局。 1999年9月,一些微电子业内一流的EDA公司、IP提供商、半导体制造商及 系统和嵌入式软件设计公司在加利福尼亚州 Saint Jose举行的“嵌入式系统会议 上,联合创建了开放 SystemC推动(0scI或者0 pen SystemC Initiative)组织, 并推出了基于C+的系统设计语言— - SystemC.0SCI是一个非盈利性组织,它负 责维护和发展 SystemC. SystemC是完全免费的,这使得EDA供应商能够充分自由 地了解 SystemC库的源代码以优化它们的设计工具 SystemC出身名门,是绝对的宠儿,它一开始出现就受到业界前所未有的欢 迎。又由于 SystemC是开放的标准,所以它很快就流行开来。目前业界知名的公 司包括 Synopsys、 Cadence、 Frontier Design、ARM、 Emission、 Lucent、Sony Synopsys、TI等都支持 Sys temC. SystemC是一种完成电子系统从软件到硬件的全部建模过程的语言,比起 ⅳ编者序 VHDL/ Verilog HDL,其在系统设计方面的优势明显 SystemC最近的版本是2.01,目前许多EDA厂商都在开发或者扩展它们的设 计工具以支持 SystemC。现在已经推出的商用 Sys temc软件有CSS、sPw、 SystemC ART等50多种,已经有很多著名公司(包括西门子、ARM、 Alcatel、富士通,中 国的东方通信、大唐飞利浦等)开始使用 SystemC作为其系统级开发语言。一些 归国的留学生在他们自己的小公司里也已经开始使用 SystemC进行开发和验证 作者所在的实验室之一的清华大学深圳研究院EDA实验室已经将其用 Sys temC设 计的第一款数字音频芯片进行了流片 业界一般认为, Sys temC可望在1-2年之内成为IEE标准,目前 SystemC2.01 作为一个稳定的版本已经提交到IEEE进行标准化. SystemC的标准化会加速 SystemC的应用和发展 目前,另外一种被业界看好的硬件描述语言是 SystemVerilog,它是Ⅴ erilog 2001标准的扩展,增加了类似C语言的结构和增强的验证功能,它与 SystemC恰 好形成互补的关系. SystemC和 SystemVerilog在不同的设计领城中,分别有各 自的特点。两种语言的结合,将从系统规范、门电路布局直至设计验证,为设计 人员提供一种可供选择的综合语言环境。这种结合可以看作是工具和语言相统 的转变潮流中的重要部分,这种统一是为了满足最终用户的需求,而不仅仅是为 了方便工具供应商 需要特别澄清的是, SystemC语言的主要目的是实现用单一语言完成设计规 范、系统体系结构分析、验证平台和行为模型,而寄存器传输级和门级建模并非 SystemC所长。现在的很多设计都从算法开始, SystemC比C/C+更适合对算法的 描述和分析。传统硬件描述语言和 System Verilog的C接口不支持硬件设计中的 并发性、层次性和互连。所以并不适合描述复杂多样的系统行为.通常用 Sys temC 的行为模型描述的模块比RTL樸块仿真速度快10~100倍,这是 Sys temC的价值 之一, SystemC的更大价值在于其提供的高层次设计流程,基于渐趋成熟的行为级 综合工具和 SystemC行为模型的高层次设计流程将会大大提高设计和验证效率。 SystemC特别为行为综合设计的语法将使它成为非常适合行为级综合的设计语言 2本书内容安排 本书内容安排如下:第1章着重介绍硬件描述语言的发展史,以及 SystemC 的出现和成为IEBE标准的必然趋势。第2章介绍 SystemC的基本语法包括模块、 端口、信号、进程、基本数据类型、定点数据类型、sc- main C函数以及波形跟踪 等。该章内容是所有后续章节的基础,读完了第2章就可以完成全部的 SystemC 寄存器传输级建模。第3章着重讨论 SystemC的寄存器传输级设计和 SystemC的 可综合语言子集,并根据作者的设计经验讲述RTL设计的一些准则和经验,第4 编者序V 章将围绕 SystemC行为建模展开,前半部分着重介绍接口、端口和通道等 SystemC 行为建模的基础。后半部分介绍 Sys temC行为建模中的交易级建模( transaction level model ing),内容涉及系统建模的分层模型、交易级建模的基本概念和通信 细化,第5章讲述 Syst emC提供的 Master^ Slave通信库,这个库尤其适用于包含 个或者多个处理器核、数字信号处理器、周边设备和用户定制集成电路而且是 利用一组总线相互通信的系统建模。笫6章集中介绍一个 Sys temC TLM建模实例 片上总线系统,包括主从设备接口、快速/慢速存储器通道、通用串口通道、 仲裁器接口、仲裁器模块、仲裁算法的 SystemC实现。第7章写给那些熟悉传统 硬件描述语言VHDL/ Verilog HDl或者需要将传统硬件描述语言写成的IP向 SystemC进行手工转换的读者。通过 SystemC与VHDL/ Verilog HDl的直接比较, 读者可以很快地掌握和更好地理解 Sys temC。第8章将简要介绍 SystemC的验证 标准和验证方法学,主要描述 SystemC的验证标准的基本思路和主要功能。通过 该章,读者可以对基于交易的验证 Sys temC方法有一个初步的了解,并且可以利 用 SystemC库进行简单的验证平台( Test bench)的编写。第9章是本书最后一章, 介绍一些基于个人电脑的 SystemC开发工具,包括 SystemC-win、 Waveviewer, 并详细介绍了如何使用 MATLAB进行 SystemC模块,尤其是 SystemC算法模块的验 证 从电子系统建模层次的角度看,第1、2、3章描述 SystemC的寄存器传输级 建模;第4、5、6章讨论 SystemC的行为级建模;第7章阐明 SystemC与传统硬 件描述语言的等效性;第8章介绍 SystemC的验证;第9章给出 SystemC的设计 工具其中第5章和第8章又分别围绕 Sys temC的 Master- Slave库和验证库展开。 本书第2.4节描述的是 Sys temC定点数据类型,这一节是与后续章节无关的, 读者如果在工作中用不到,可以略过本节。在本书作者看来,这一节放在第2章 是否合适还有待讨论 本书的每一章节中部给出了较多的典型设计实例以加深读者对这些概念的理 解,读者可以对照着这些代码学习 作为教材,作者建议在课堂上集中讲授第1、2(不包括2.4节)、4、5、8 章,其他章节可以作为课外阅读内容,本书每一章都安排了习题,可以作为课后 作业,同时可以考虑以第6章的片上总线模型为起点,安排一个复杂度和任务量 适中的课程设计 3写书目的与读者对象 清华大学电子工程系已经开始在其《电子系统仿真和VHDL》和《通信系统仿 真与ASIC设计》两门课中讲授 SystemC,本书写作的主要目的是作为这两门课程 的教材,本书作者的导师,也是这两门课的授课教授,对于本书的编写给予了细 编者序 致入微的指导 本书出版的另外一个目的是配合 SystemC在国内发展的需要。目前,国外已 经有若干本 Systemc方面的图书,而据作者所知,中文的相关出版物却一直没有。 本书作为国内 SystemC方面的第一本书,希望能够方便国内工程师对 SystemC的 了解、学习和使用 作为教材,本书在注重对基本概念的诠释的同时,还引入了大量的实例以加 深读者对所述内容的理解 本书可以作为大学相关课程的高年级本科生和研究生教材,也可以作为工程 技 术人员的参考手册.本书读者需要有C++的基础知识,包括C++中的纯虚函数和 模板类。如果读者已经掌握了一种硬件描述语言(如VDL或者 Verilog HDL, 同时又具有C/C++的基本知识,那么阅读本书将会如鱼得水 如果读者是一位软件工程师,阅读本书可以迅速掌握数字电路的设计和建模 如果读者是一位硬件工程师,通过阅读本书,将可以掌握新一代描述语言,从而 更加有效地与软件工程师合作。作为IC设计公司的负责人,可以藉助本书了解业 界最新的设计方法学和电子系统设计领域的动向,缁短公司产品上市时间(time to market),以在竟争中获得先发优势 本书所有实例都有源代码,读者可以从科学出版社的网站(http://www.sciencep c0m)下载或者向本书作者索取 4作者简介 本书以两个高年级博士生为主完成,他们的研究方向都是片上系统集成 (SoC).他们都有丰富的 Verilog dl和HDL的开发经验,参与过骨干网路由器 项目的开发,独立完成过百万门级FGA的设计,并于200年下半年和2003年上 半年参与国家863项目期间使用了 CoCentric System Studio和 SystemC进行了 系统建模和仿真,最终系统满足了设计要求。本书作者还多次在国内外期刊和会 议上发表有关集成电路设计和 SystemC方面的文章,他们都是中国通信学会学生 会员、IEE学生会员 本书第1、2、4、6、7、9章由陈曦完成;第3、5、8章由徐宁仪完成 本书的编写得到了作者导师周祖成教授的大力支持和指导。作者导师长期从 事EDA相关领域的研究,并在清华大学主讲《电子系统仿真和VHDL》和《通信系 统仿真与ASIC设计》这两门课。 5致谢 本书作者首先感谢恩师周祖成教授将自己带入电子设计自动化和集成电路设 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论