Verilog HDL与数字系统设计简明教程

出版时间:2009-2  出版社:人民邮电出版社  作者:吴戈  页数:292  
Tag标签:无  

前言

  HDL(HardwareDescriptionLanguage,硬件描述语言)是伴随着集成电路设计复杂度和集成度的急剧上升而出现的。  硬件工程师们总要画电路图,用一个个小元件搭出或大或小的系统原理图。当电路图中的元件多达百个以上时,无论是画图还是分析都会有一定的难度。同样的情形也发生在集成电路设计中,当一个芯片内必须包含上万个甚至几十万、几百万个晶体管时(目前面市的频率最高的CPU芯片内已经集成了近2亿个晶体管),用原理图的方式来设计和管理显然是“不可能的任务”。于是出现了HDL设计方法,就像20世纪70年代高级编程语言迅速取代汇编语言一样,从20世纪90年代以来,HDL逐渐取代了门级原理图设计方法。  VerilogHDL是1983年由位于英格兰阿克顿市的GDA公司开发出来的。VerilogHDL的具体物理建模能力强,语法类似c语言,容易学习。Verilog在工业界被应用广泛,美国大多数公司的RTL级代码都是用Verilog写的。  本书主要针对初学者,在内容安排上主要以语法讲解和程序分析为主,并没有介绍复杂系统的设计方法。初学者应当从本书的基本结构和方法出发,打好基础,一旦成为一个熟练的设计师,就会发现Verilog只是一个工具,而对系统功能的考虑和时序的精细设计才是最需要设计人员考虑的。  本书的写作目标是让初学者顺利入门,希望您在阅读本书的过程中逐渐了解到VerilogHDL,是什么、如何写、如何用,面对一段写好的程序能够做出正确分析,最终掌握设计流程和建模方法。  VerilogHDL发展至今20多年积累的文档、书籍和各种资料可谓不计其数,本书作者试图从这些资料中,找到更好的也是更适合初学者学习的内容,用一种更好的组织方式,呈现给读者,让读者从中受益。  大量使用实例并带有详细的注释和分析是本书的最大特点。书中提供大量程序实例,目的不仅仅是让读者在学习阶段理解它们的建模方法和技巧,而且可以在设计阶段把其中很多程序片段直接拿来使用,从而节省时间。  实践是学好编程语言的最佳途径,所以建议读者在学习之余尽量能多动手编程并做仿真。如果您能把本书给出的实例全都调试一次,一定可以事半功倍。  本书由吴戈编写,参加资料整理的还有何伟、张兵、刘兆宏、季建华、刘福刚、赵文革、黄弦、邓玉春、曾庆华、石昀、朱元斌、钱文杰、陈功杰、汪洪、刘超、钟晓媛等,在此一并表示感谢!

内容概要

  《Verilog HDL与数字系统设计简明教程》分3部分,第1部分(第1-6章)是语法部分,详细讲解Verilog HDL语法知识和基本应用;第2部分(第7-9章)是实例部分,通过从已公布的成熟源代码中精选的50多个最具代表性的建模实例,辅以框图和详细注释帮助读者理解程序,从而学习典型电路单元的建模方法;第3部分(第10章)是系统设计实战,为初学者展示了一个小型系统的详细设计流程。  《Verilog HDL与数字系统设计简明教程》内容丰富、实用性强,适合高等院校相关专业高年级学生和研究生学习和阅读,对参加相关工作的工程技术人员也有很强的参考价值。

书籍目录

第1章 初识Verilog HDL1.1 什么是Verilog HDL1.2 主要功能1.3 设计流程1.4 基本结构1.4.1 模块的概念1.4.2 模块调用1.4.3 测试模块1.5 程序设计基础1.5.1 程序格式1.5.2 注释语句1.5.3 标识符和关键词1.5.4 参数声明1.5.5 预处理指令第2章 数据类型与表达式2.1 数据类型2.1.1 常量2.1.2 变量2.2 表达式2.2.1 操作数2.2.2 操作符第3章 行为建模方法3.1 数据流行为建模3.1.1 连续赋值语句3.1.2 线网声明赋值3.1.3 时延的概念3.1.4 线网时延3.1.5 用数据流建模方式实现1位全加器3.2 顺序行为建模3.2.1 过程结构语句3.2.2 时序控制3.2.3 语句块3.2.4 过程性赋值3.2.5 if语句3.2.6 case语句3.2.7 循环语句3.2.8 握手协议实例第4章 结构建模方法4.1 Verilog HDL内置基元4.1.1 内置基本门4.1.2 上拉、下拉电阻4.1.3 MOS开关4.1.4 双向开关4.1.5 给基元定义时延4.1.6 描述实例数组4.1.7 内置基元建模实例4.2 用户定义基元4.2.1 UDP的定义4.2.2 组合电路UDP4.2.3 时序电路UDP4.2.4 Verilog HDL速记符号4.2.5 电平触发和边沿触发混合的UDP4.3 模块实例化4.3.1 端口关联方式4.3.2 悬空端口4.3.3 端口匹配4.3.4 模块参数值4.3.5 建模实例4.4 行为描述和结构描述的混合使用第5章 任务、函数及其他5.1 任务5.1.1 任务定义5.1.2 任务调用5.2 函数5.2.1 函数定义5.2.2 函数调用5.3 系统任务和函数5.3.1 显示任务5.3.2 文件输入/输出任务5.3.3 时间标度任务5.3.4 仿真控制任务5.3.5 时序验证任务5.3.6 仿真时间函数5.3.7 实数变换函数5.3.8 随机函数5.4 其他重要概念5.4.1 禁止语句5.4.2 命名事件5.4.3 层次路径名5.4.4 共享任务和函数5.4.5 VCD文件5.4.6 指定块5.4.7 强度第6章 编写测试程序6.1 测试模块6.2 产生输入信号6.2.1 特定值序列6.2.2 重复模式6.3 从文本文件中读取向量6.4 向文本文件中写入向量6.5 测试程序实例6.5.1 半加器6.5.2 5位计数器6.5.3 2选1选择器6.5.4 2-4解码器6.5.5 D触发器第7章 初级建模实例7.1 触发器7.1.1 上升沿触发器7.1.2 带异步复位端的上升沿触发器7.1.3 带异步置位端的上升沿触发器7.1.4 带异步复位端和异步置位端的上升沿触发器7.1.5 带同步复位端的上升沿触发器7.1.6 带同步置位端的上升沿触发器7.1.7 带异步复位端和输出使能端的上升沿触发器7.2 锁存器7.2.1 带使能端的锁存器7.2.2 可异步选通数据的锁存器7.2.3 可选通使能端的锁存器7.2.4 带异步复位端的锁存器7.3 编码器7.4 解码器7.5 多路数据选择器7.5.1 用if-else构造的4选1选择器7.5.2 用case构造的4选1选择器7.5.3 用case构造的12选1选择器7.5.4 带忽略位的多路选择器7.6 计数器7.6.1 带计数使能端和异步复位端的8位计数器7.6.2 可设定计数输出并带异步复位端的8位计数器7.6.3 可设定计数输出并带使能端、进位端和复位端的8位计数器7.7 输入输出缓冲器7.7.1 三态缓冲器7.7.2 双向缓冲器7.8 加法器7.8.1 半加器7.8.2 全加器7.8.3 串行进位加法器7.8.4 超前进位加法器7.9 移位寄存器7.10 频率转换器7.11 模数转换器第8章 高级建模实例8.1 状态机建模8.1.1 乘法器状态机8.1.2 交互状态机8.1.3 Moore型有限状态机8.1.4 Mealy型有限状态机8.2 序列检测器8.3 FIFO(先入先出电路)8.3.1 16×16FIFO8.3.2 4×16FIFO8.4 UART(通用异步收发器)第9章 程序综合实例9.1 可综合设计9.1.1 综合的概念9.1.2 可综合9.1.3 可综合及不可综合的结构9.2 综合实例9.2.1 组合逻辑电路9.2.2 时序逻辑电路9.2.3 存储器9.2.4 布尔方程9.2.5 有限状态机9.2.6 通用移位寄存器9.2.7 算术逻辑单元(ALU)9.2.8 二进制计数器9.2.9 加法器9.2.10 数值比较器9.2.11 解码器9.2.12 三态门9.2.13 序列检测器第10章 系统设计实战10.1 系统功能分析10.1.1 计算机的基本结构10.1.2 典型微处理器系统结构及工作原理10.1.3 普通计算器的基本结构10.2 系统设计规划10.2.1 系统功能模块划分10.2.2 键盘输入模块10.2.3 寄存器组10.2.4 算术逻辑单元10.2.5 显示部分10.2.6 系统结构10.3 程序设计与仿真10.3.1 键盘输入模块程序与仿真10.3.2 ALU模块程序与仿真10.3.3 显示部分程序与仿真10.3.4 顶层模块程序设计10.4 逻辑综合

章节摘录

  VeiilogHDL是一种硬件描述语言,可以在算法级、门级到开关级的多种抽象设计层次上对数字系统建模。  VerilogHDL可以描述设计的行为特性、数据流特性、结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。此外,VerilogHDL提供了编程语言接口,通过该接口用户可以在模拟、验证期间从外部访问设计,包括模拟的具体控制和运行。  VeillogHDL不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用VerilogHDL仿真器进行验证。VetilogHDL从C语言中继承了多种操作符和结构,所以从形式上看VerilogHDL和C语言有很多相似之处。虽然VeillogHDL有一些不太容易理解的扩展功能,但是VerilogHDL的核心子集非常易于学习和使用,而且对大多数建模应用来说核心子集已经足够用了。完整的VeillogHDL足以对最复杂的芯片和完整的电子系统进行描述。  1.2 主要功能  作为一种硬件描述语言,VerilogHDL可以直接描述硬件结构,也可以通过描述系统行为实现建模。VerilogHDL的主要特点和功能有:描述基本逻辑门,如and、or和nand等基本逻辑门都内置在语言中,可以直接调用。描述基本开关模型,如nlrlos、pmos和cmos等基本开关都可以直接调用。允许用户定义基元(uDP),这种方式灵活而有效,用户定义的基元既可以是组合逻辑也可以是时序逻辑。可以指定设计中的端口到端口的时延、路径时延和设计的时序检查。可采用多种方式进行建模。这些方式包括顺序行为描述方式——使用过程化结构建模,数据流行为方式——使用连续赋值语句方式建模,结构化方式——使用门和模块实例语句描述建模。

编辑推荐

  VerilogHDL发展至今20多年中积累的文档、书籍和各种资料可谓不计其数,《Verilog HDL与数字系统设计简明教程》力图从这些资料中,找到适合初学者学习的内容,用一种更好的组织方式,将之呈现给读者。  以语法讲解和程序分析为主,告诉读者VerilogHDL是什么、如何写、如何用,面对一段写好的程序如何做出正确分析,并最终掌握设计流程和建模方法。  实例丰富、注释和分析详尽,可以在设计阶段直接使用书上的程序,从而节省时间。  建议读者在学习之余尽量多动手编程并做仿真。如果能把《Verilog HDL与数字系统设计简明教程》给出的实例全都调试一次,一定可以事半功倍。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Verilog HDL与数字系统设计简明教程 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7