编辑推荐
null
内容简介
巴斯克著的《Verilog HDL入门(第3版)/国外数字系统设计经典教材系列》简要介绍了Verilog硬件描述语言的基础知识,包括语言的基本内容和基本结构,以及利用该语言在各种层次上对数字系统的建模方法。书中列举了大量实例,帮助读者掌握语言本身和建模方法,对实际数字系统设计也很有帮助。第3版中添加了与Verilog2001有关的新内容。本书是VerilogHDL的初级读本,可作为计算机、电子、电气及自控等专业相关课程的教材,也可用作相关科研人员的参考书。
作者介绍
巴斯克是eSilicon公司的体系结构设计师。他曾是朗讯技术公司和贝尔实验室技术部门的杰出成员,并在朗讯科技公司教授VHDL和Venlog HDL课程四年多。他还编写了四本其他有关硬件描述语言和综合的书籍,其中包括最畅销的书A VHDL Primer和Venlog HDL Synthesis,A Practical Primer。Bhasker拥有美国明尼苏达大学计算机科学系的博士学位和计算机技术学院的技术硕士学位,以及新德里印度技术学院电子工程系的学士学位。
目 录
第1章 简介 1.1 什么是Verilog HDL? 1.2 历史 1.3 主要能力 1.4 练习题 第2 章 入门指南 2.1 模块 2.2 延迟 2.3 数据流风格的描述 2.4 行为风格的描述 2.5 结构风格的描述 2.6 混合设计风格的描述 2.7 设计的仿真 2.8 练习题 第3章 Verilog语言要素 3.1 标识符 3.2 注释 3.3 格式 3.4 系统任务和系统函数 3.5 编译器指令 3.5.1 `define和`undef 3.5.2 ` ifdef、`ifndef、`else、elseif和 `endif 3.5.3 ` default_nettype 3.5.4 ` include 3.5.5 ` resetall 3.5.6 ` timescale 3.5.7 ` unconnected_drive 和`nounconnected_drive 3.5.8 ` celldefine和`endcelldefine 3.5.9 line 3.6 值集合 3.6.1 整型数 3.6.2 实数 3.6.3 字符串 3.7 数据类型 3.7.1 线网类型 3.7.2 未声明的线网 3.7.3 向量线网和标量线网 3.7.4 变量类型 3.7.5 数组 3.7.6 reg与wire的不同点 3.8 参数(parameter) 局部参数 3.9 练习题 第4 章 表达式 4.1 操作数 4.1.1 常数 4.1.2 参数 4.1.3 线网 4.1.4 变量 4.1.5 位选 4.1.6 部分位选 4.1.7 存储器和数组元素 4.1.8 函数调用 4.1.9 符号 4.2 操作符 4.2.1 算术操作符 4.2.2 关系操作符 4.2.3 相等操作符 4.2.4 逻辑操作符 4.2.5 按位操作符 4.2.6 缩减操作符 4.2.7 移位操作符 4.2.8 条件操作符 4.2.9 拼接和复制操作符 4.3 表达式的类型 4.4 练习题 第5章 门级建模 5.1 内建基元(原语)门 5.2 多输入门 5.3 多输出门 5.4 三态门 5.5 上拉门和下拉门(电阻) 5.6 MOS开关 5.7 双向开关 5.8 门延迟 5.9 实例数组 5.10 隐含的线网 5.11 一个简单的示例 5.12 24 编码器举例 5.13 主/从触发器举例 5.14 奇偶校验电路 5.15 练习题 第6章 用户定义的原语(基元UDP) 6.1 UDP的定义 6.2 组合逻辑的UDP 6.3 时序逻辑的UDP 6.3.1 状态变量的初始化 6.3.2 电平触发的时序逻辑UDP 6.3.3 沿触发的时序逻辑UDP 6.3.4 沿触发的和电平敏感的混合行为 6.4 另一个示例 6.5 表项的总结 6.6 练习题 第7章 数据流建模 7.1 连续赋值语句 7.2 示例 7.3 线网声明赋值 7.4 赋值延迟 7.5 线网延迟 7.6 示例 7.6.1 主/从触发器 7.6.2 幅值比较器 7.7 练习题 第8章 行为级建模 8.1 过程性结构 8.1.1 initial语句 8.1.2 always语句 8.1.3 两类语句在模块中的使用 8.2 时序控制 8.2.1 延迟控制 8.2.2 事件控制 8.3 语句块 8.3.1 顺序语句块 8.3.2 并行语句块 8.4 过程性赋值 8.4.1 语句内部延迟 8.4.2 阻塞性过程赋值 8.4.3 非阻塞性过程赋值 8.4.4 连续赋值与过程赋值的比较 8.5 条件语句 8.6 case语句 8.7 循环语句 8.7.1 forever循环语句 8.7.2 repeat循环语句 8.7.3 while循环语句 8.7.4 for循环语句 8.8 过程性连续赋值 8.8.1 assign与deassign语句 8.8.2 force与 release语句 8.9 握手协议示例 8.10 练习题 第9章 结构建模 9.1 模块 9.2 端口 9.3 模块实例引用语句 9.3.1 未连接的端口 9.3.2 不同的端口位宽 9.3.3 模块参数值 9.4 外部端口 9.5 举例 9.6 generate语句 9.6.1 generate循环语句 9.6.2 generate conditional条件语句 9.6.3 generatecase分支语句 9.7 配置 9.8 练习题 第10章 其他论题 10.1 任务 10.1.1 任务的定义 10.1.2 任务的调用 10.2 函数 10.2.1 函数的定义 10.2.2 函数的调用 10.2.3 常数函数 10.3 系统任务和系统函数 10.3.1 显示任务 10.3.2 文件输入/输出任务 10.3.3 时间标度任务 10.3.4 仿真控制任务 10.3.5 仿真时间函数 10.3.6 转换函数 10.3.7 概率分布函数 10.3.8 字符串格式化 10.4 禁止语句 10.5 命名事件 10.6 结构描述方式和行为描述方式的混合使用 10.7 层次路径名 10.8 共享任务和函数 10.9 属性 10.10 值变转储文件 10.10.1 四状态型VCD文件 10.10.2 拓展的VCD文件 10.10.3 示例 10.10.4 VCD文件格式 10.11 指定块 10.12 强度 10.12.1 驱动强度 10.12.2 电荷强度 10.13 竞争的状况 10.14 命令行参变量 10.15 练习题 第11章 验证 11.1 编写测试平台 11.2 波形的生成 11.2.1 值序列 11.2.2 重复模式 11.3 测试平台举例 11.3.1 解码器 11.3.2 触发器 11.4 从文本文件中读取向量 11.5 向文本文件中写入向量 11.6 其他示例 11.6.1 时钟分频器 11.6.2 阶乘设计 11.6.3 序列检测器 11.6.4 LED序列 11.7 实用程序 11.7.1 检测x 11.7.2 将文件传递到任务中 11.7.3 操作码的调试 11.7.4 检测时钟脉冲是否出现丢失的情况 11.7.5 突发时钟发生器 11.8 练习题 第12章 建模示例 12.1 简单元素的建模 12.2 不同风格的建模方式 12.3 延迟的建模 12.4 真值表的建模 12.5 条件操作的建模 12.6 同步逻辑建模 12.7 通用移位寄存器 12.8 格雷码计数器 12.9 十进制数计数器 12.10 并行到串行转换器 12.11 状态机建模 12.12 状态机的交互 12.13 Moore有限状态机的建模 12.14 Mealy有限状态机的建模 12.15 简化的黑杰克程序 12.16 扫描单元 12.17 7段BCD码译码器 12.18 实用程序 12.19 练习题 附录A 语法参考资料 A.1 关键字 A.2 语法规则 A.3 语法 参考文献 索引
媒体评论
null