VERILOG HDL入门(第3版)/夏宇闻等

本书特色

[

本书简要介绍了Verilog硬件描述语言的基础知识,包括语言的基本内容和基本结构,以及利用该语言在各种层次上对数字系统的建模方法。书中列举了大量实例,帮助读者掌握语言本身和建模方法,对实际数字系统设计也很有帮助。第3版中添加了与Verilog2001有关的新内容。
本书是VerilogHDL的初级读本,可作为计算机、电子、电气及自控等专业相关课程的教材,也可用作相关科研人员的参考书。

]

目录

第1章 简介

1.1 什么是Verilog
HDL?1

1.2 历史2

1.3 主要能力2

1.4 练习题4

第2 章 入门指南

2.1 模块5

2.2 延迟7

2.3 数据流风格的描述7

2.4 行为风格的描述9

2.5 结构风格的描述12

2.6 混合设计风格的描述14

2.7 设计的仿真15

2.8 练习题19

第3章 Verilog语言要素

3.1 标识符20

3.2 注释21

3.3 格式21

3.4 系统任务和系统函数22

3.5 编译器指令22

3.5.1 `define和`undef22

3.5.2` ifdef、`ifndef、`else、elseif和
`endif23

3.5.3` default_nettype24

3.5.4` include24

3.5.5` resetall24

3.5.6` timescale25

3.5.7` unconnected_drive 和`nounconnected_drive26

3.5.8` celldefine和`endcelldefine27

3.5.9 line27

3.6 值集合27

3.6.1 整型数28

3.6.2 实数30

3.6.3 字符串30

3.7 数据类型31

3.7.1 线网类型31

3.7.2 未声明的线网35

3.7.3 向量线网和标量线网35

3.7.4 变量类型36

3.7.5 数组41

3.7.6 reg与wire的不同点42

3.8 参数(parameter)42

局部参数43

3.9 练习题44

第4 章 表达式

4.1 操作数45

4.1.1 常数45

4.1.2 参数46

4.1.3 线网46

4.1.4 变量47

4.1.5 位选47

4.1.6 部分位选48

4.1.7 存储器和数组元素49

4.1.8 函数调用50

4.1.9 符号50

4.2 操作符50

4.2.1 算术操作符52

4.2.2 关系操作符55

4.2.3 相等操作符56

4.2.4 逻辑操作符57

4.2.5 按位操作符58

4.2.6 缩减操作符59

4.2.7 移位操作符60

4.2.8 条件操作符62

4.2.9 拼接和复制操作符62

4.3 表达式的类型63

4.4 练习题64

第5章 门级建模

5.1 内建基元(原语)门65

5.2 多输入门66

5.3 多输出门68

5.4 三态门69

5.5 上拉门和下拉门(电阻)70

5.6
MOS开关71

5.7 双向开关72

5.8 门延迟73

5.9 实例数组75

5.10 隐含的线网76

5.11 一个简单的示例76

5.12 24 编码器举例78

5.13 主/从触发器举例78

5.14 奇偶校验电路79

5.15 练习题80

第6章 用户定义的原语(基元UDP)

6.1 UDP的定义82

6.2 组合逻辑的UDP83

6.3 时序逻辑的UDP84

6.3.1 状态变量的初始化85

6.3.2 电平触发的时序逻辑UDP85

6.3.3 沿触发的时序逻辑UDP85

6.3.4 沿触发的和电平敏感的混合行为86

6.4 另一个示例87

6.5 表项的总结88

6.6 练习题88

第7章 数据流建模

7.1 连续赋值语句89

7.2 示例91

7.3 线网声明赋值91

7.4 赋值延迟92

7.5 线网延迟94

7.6 示例95

7.6.1 主/从触发器95

7.6.2 幅值比较器96

7.7 练习题96

第8章 行为级建模

8.1 过程性结构97

8.1.1 initial语句97

8.1.2 always语句100

8.1.3 两类语句在模块中的使用102

8.2 时序控制104

8.2.1 延迟控制104

8.2.2 事件控制105

8.3 语句块109

8.3.1 顺序语句块109

8.3.2 并行语句块111

8.4 过程性赋值113

8.4.1 语句内部延迟114

8.4.2 阻塞性过程赋值115

8.4.3 非阻塞性过程赋值116

8.4.4 连续赋值与过程赋值的比较119

8.5 条件语句121

8.6 case语句122

8.7 循环语句125

8.7.1 forever循环语句125

8.7.2 repeat循环语句126

8.7.3 while循环语句127

8.7.4 for循环语句127

8.8 过程性连续赋值128

8.8.1 assign与deassign语句128

8.8.2 force与
release语句129

8.9 握手协议示例130

8.10 练习题132

第9章 结构建模

9.1 模块134

9.2 端口134

9.3 模块实例引用语句137

9.3.1 未连接的端口139

9.3.2 不同的端口位宽139

9.3.3 模块参数值140

9.4 外部端口144

9.5 举例148

9.6 generate语句151

9.6.1 generate循环语句151

9.6.2 generate�Mconditional条件语句153

9.6.3 generatecase分支语句156

9.7 配置157

9.8 练习题161

第10章 其他论题

10.1 任务162

10.1.1 任务的定义162

10.1.2 任务的调用164

10.2 函数167

10.2.1 函数的定义168

10.2.2 函数的调用171

10.2.3 常数函数172

10.3 系统任务和系统函数172

10.3.1 显示任务173

10.3.2 文件输入/输出任务177

10.3.3 时间标度任务180

10.3.4 仿真控制任务181

10.3.5 仿真时间函数182

10.3.6 转换函数182

10.3.7 概率分布函数183

10.3.8 字符串格式化184

10.4 禁止语句185

10.5 命名事件187

10.6 结构描述方式和行为描述方式的混合使用189

10.7 层次路径名191

10.8 共享任务和函数193

10.9 属性195

10.10 值变转储文件196

10.10.1 四状态型VCD文件196

10.10.2 拓展的VCD文件197

10.10.3 示例198

10.10.4 VCD文件格式200

10.11 指定块 201

10.12 强度207

10.12.1 驱动强度207

10.12.2 电荷强度208

10.13 竞争的状况208

10.14 命令行参变量210

10.15 练习题211

第11章 验证

11.1 编写测试平台213

11.2 波形的生成214

11.2.1 值序列214

11.2.2 重复模式216

11.3 测试平台举例221

11.3.1 解码器221

11.3.2 触发器223

11.4 从文本文件中读取向量225

11.5 向文本文件中写入向量228

11.6 其他示例229

11.6.1 时钟分频器229

11.6.2 阶乘设计231

11.6.3 序列检测器235

11.6.4 LED序列237

11.7 实用程序239

11.7.1 检测x239

11.7.2 将文件传递到任务中240

11.7.3 操作码的调试241

11.7.4 检测时钟脉冲是否出现丢失的情况242

11.7.5 突发时钟发生器242

11.8 练习题243

第12章 建模示例

12.1 简单元素的建模245

12.2 不同风格的建模方式249

12.3 延迟的建模251

12.4 真值表的建模254

12.5 条件操作的建模256

12.6 同步逻辑建模258

12.7 通用移位寄存器262

12.8 格雷码计数器
263

12.9 十进制数计数器264

12.10 并行到串行转换器265

12.11 状态机建模265

12.12 状态机的交互268

12.13 Moore有限状态机的建模272

12.14 Mealy有限状态机的建模273

12.15 简化的黑杰克程序275

12.16 扫描单元278

12.17 7段BCD码译码器279

12.18 实用程序280

12.19 练习题281

附录A 语法参考资料

A.1 关键字282

A.2 语法规则284

A.3 语法284

参考文献315

索引316

封面

VERILOG HDL入门(第3版)/夏宇闻等

书名:VERILOG HDL入门(第3版)/夏宇闻等

作者:夏宇闻 甘伟

页数:0

定价:¥59.0

出版社:北京航空航天大学出版社

出版日期:2019-03-01

ISBN:9787811242485

PDF电子书大小:35MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注