出版时间:2010-1 出版社:科学 作者:李挥//陈曦 页数:308
Tag标签:无
前言
在过去的二十多年中,人类在单个集成电路上能够集成的晶体管个数遵照摩尔定律每1.5 年翻一番,但是集成电路设计能力的提高却未能赶上按照摩尔定律发展的集成电路制造商的集成能力的提高。人类的集成电路设计技术具有两次重大进步,第一次发生在1985-1987年。1985年,Phil Moorby发明了Verilog HDL语言;1987年,VHDL语言成为国际电子和电气工程师协会(IEEE)标准。这两种语言使得组合逻辑能够和时序逻辑分开单独优化,进而出现了Synopsys的Design Compiler这样的寄存器传输级综合工具,人类集成电路设计能力得到了有效提高。与此同时,出现了一种新类型的集成电路,称作FPGA(Field Programmable Gate Array)。FPGA与已有集成电路不同之处在于现场可编程,代价是浪费昂贵的晶体管逻辑门,因而当时被认为是没有前途的“怪胎”。如今,FPGA已经广泛应用于ASIC原型验证、高性能计算芯片等,已经发展到每年50亿美元的市值。现阶段,第二次集成电路设计技术重大进步正在发生,尚未完成。2005-2006年,SystemC和SystemVerilog先后成为IEEE标准。它们将通信和功能分开,将人类的集成电路设计时代引入以事务处理级(Transaction Level,TL)建模为核心的电子系统级(ESL)时代,正在为业界所接受。它们能够提供更高的设计效率、更高的首次流片成功概率、更有效的设计流程,从而帮助解决集成电路产业面临的爆炸性的复杂度、上市压力(time to market pressure)、飙升的成本等问题。 集成电路越来越复杂,早已不能够简单地从晶体管规模的角度描述,VLSI的概念也被片上系统取代。片上系统的最初概念是将包括存储器、信号采集和转换电路、CPIJ核等模拟、数字和混合电路构成的一个完整的电子系统集成到一个芯片上。单处理器片上系统如$3C2410、AT9200之类的芯片早已被大家所熟悉,而越来越多的片上系统正在配备多个处理器,我们已经从第一代的单核片上系统时代进入多核片上系统时代。实际上,片上系统是一个具备特定功能、服务于特定市场的软件和硅集成电路的混合体,比如无线局域网基带芯片、便携式多媒体芯片、DVD播放机解码芯片等。片上系统产品的成功关键在于在正确的时间窗口为自标用户提供令人满意的性能和价格。 现代片上系统的设计难度来源于其设计复杂性,设计复杂性催生ESL设计方法学。ESL设计方法学依赖于先进的设计和验证语言,以及支持这些语言的工具。
内容概要
本书重点讲述了IEEE P1666-2005 SystemC语法(模块、端口、信号、进程、基本数据类型、定点数据类型、波形跟踪、接口、端口、导出端口和通道、动态进程)、事务处理级建模库TLM 2.0(TLM2.o核心接口、发起者和目标套接字、通用净核和基础协议、实用工具、分析接口和端口)、验证库1.0(SystemC的验证库,包括验证思想、基于事务的验证方法、随机化、约束的随机数的产生、加权随机数产生)和SystemC的电子系统级综合技术(算法综合、SystemC行为综合和SystemC体系结构综合),并给出了SystemC的应用实例。 本书可作为电子工程技术人员学习SystemC设计、应用、开发的技术参考书,也可供高等院校电子及其相关专业的广大师生阅读。
书籍目录
第1章 前言 1.1 为什么要发展新的设计和验证语言 1.2 SystemC的历史 1.3 SystemC的本质 1.4 SystemC的核心价值 1.5 虚拟原型 1.6 ESL设计流程 1.7 事务处理级建模——ESL的关键 1.8 一个“Hello,SystemC!”建模实例 1.9 一个二输入与非门建模实例 1.10 本章小结 1.11 习题 第2章 systemC基本语法 2.1 从一个典型的SystemC设计开始 2.2 SystemC头文件 2.3 模块 2.4 端口和信号 2.5 SystemC时钟和时间模型 2.6 基本数据类型 2.7 定点数据类型 2.8 进 程 2.9 仿真与波形跟踪 2.10 SystemC信息和差错报告机制 2.11 SystemC中的一些杂散内容 2.12 本章小结 2.13 习 题 第3章 systemc行为建模语法 3.1 什么是TLM 3.2 TLM相关语法 3.3 接口 3.4 端口 3.5 通道基础 3.6 基本通道 3.7 分层通道 3.8 动态创建进程 3.9 系统建模中的分层模型 3.10 SystemC的事务处理级建模初步 3.11 通信细化 3.12 本章小结 3.13 习题 第4章 systemC事务处理级建模库 4.1 TLM2.0基本概念 4.2 通用净核类 4.3 阻塞传送接口 4.4 非阻塞传送接口 4.5 直接存储器接口 4.6 调试传送接口 4.7 合并的传送接口 4.8 发起者和目标套接字 4.9 预定义的套接字 4.10 全局量子时间和量子看守者 4.11 一个松散定时目标模块建模实例 4.12 本章小结 4.13 习题 第5章 systemc验证库 5.1 SystemC验证库概述 5.2 常用术语 5.3 基于事务的验证 5.4 数据内查 5.5 约束的随机化 5.6 变量和事务记录 5.7 SCV标准的其他内容 5.8 本章小结 5.9 习题 第6章 systemc综合 6.1 基于C的高层次综合 6.2 SystemC行为综合 6.3 SystemC体系结构综合介绍 6.4 SystemC优化的进程阵列 6.5 基于SOTA的SystemC体系结构综合 6.6 SystemC体系结构综合案例 6.7 本章小结 6.8 习题 第7章 systomc定点数据类型 7.1 定点数据的量化模式介绍 7.2 量化模式SC_RND 7.3 量化模式SC_RND_ZERO 7.4 量化模式SC_RND_MIN_INF 7.5 量化模式SC_RND_INF 7.6 量化模式SC_RND_CONV 7.7 量化模式SC_TRN 7.8 量化模式SC_TRN_ZERO 7.9 定点数据的溢出模式 7.10 溢出模式SC_SAT 7.11 溢出模式SC_SAT_ZERO 7.12 溢出模式SC_SAT_SYM 7.13 溢出模式SC WRAP 7.14 溢出模式SC WRAP SM 7.15 定点数据类型支持的运算符 7.16 定点数据类型的状态信息 7.17 将定点数据类型转换为字符串 7.18 一个定点FIR滤波器设计实例 7.19 本章小结 7.20 习题 第8章 systemC应用实例 8.1 回到“Hello,SystemC” 8.2 串口原理 8.3 串口寄存器定义 8.4 Wishbone总线简介 8.5 处理器的电子系统级总线功能模型 8.6 串口的设计 8.7 SystemC和Verilog混合仿真 8.8 本章小结 8.9 习题
章节摘录
实际上,在成立OSCI之前,已有一些相关工作,这些工作最终直接或者间接地成为SystemC的一部分: ①Synopsys公司就与加州大学尔湾分校(UC Irvine SystemC)合作了Scenic项目。该项目的目标是利用C++建模系统硬件和软件。该项目的主要成果,包括硬件数据类型、基于时钟周期的硬件仿真和建模库。 ②Frotier Design公司(现在已经被合并到飞利浦公司的数字信号处理部门)的定点数据类型库。 ③IMEC的软硬件协同设计工作,对SystemC影响很大。 当然,SystemC是完全免费的,这使得EDA供应商能够充分自由地了解SystemC库的源代码以优化它们的各种解释工具。 SystemC的最新版本是2.2 ,得到了由各家EDA供应商提供的工具的广泛支持。而将SystemC和System Verilog组合起来,能够最大范围地解决可能出现的对事务处理级的建模问题以及满足工程师的偏好,并提供一套从ESL至RTL验证的完整解决方案。 关于SystemC的典型使用情况,有关数据表明,SystemC用户中的主要用于系统建模(68%)、体系架构开发(68%)、事务处理级建模(56%)和硬件/软件协同仿真(56%)。 就SystemC和System Verilog这两种语言而言,SystemC是C++在硬件支持方面的扩展,而System Verilog扩展了Verilog在面向对象和验证平台方面的适用扩展。而这两种语言均支持诸如信号、事件、接口和面向对象的概念,但每一种语言又均拥有自己明确的应用重点: ①SystemC特别适合建模体系结构,开发事务处理级(TL)模型和在验证中描述软件的行为。对于具有很强C++实力的团队和有基于C/C++IP集成要求(如处理器仿真器)以及为早期软件开发设计的虚拟原型来说,SystemC特别适合。 ②System Verilog是进行RTL设计的最佳语言,不仅在于其描述真实硬件和断言的能力,还在于对工具支持方面的考虑。同时,System Verilog也提供了建模抽象模型和先进的验证平台语言特征,例如约束随机激励生成、功能覆盖和断言。对于那些没有c/C++IP集成要求的项目来讲比较合适,毕竟可以使用一种语言完成全部设计。 当然,SystemC可以用于描述RTL结构,而System Verilog也可以用于编写高层事务处理级模型。但是,每一种语言都用于自己的重点应用时,它们可以达到最佳的效率。这点对于复杂的项目特别适用,在这种项目中,不同的任务分属于不同的组,通常有不同的技能要求。
图书封面
图书标签Tags
无
评论、评分、阅读与下载