书籍详情
Verilog编程艺术
作者:魏家明 著
出版社:电子工业出版社
出版时间:2014-01-01
ISBN:9787121220616
定价:¥79.00
购买这本书可以去
内容简介
《Verilog编程艺术》深入地探讨了Verilog编程,分为七个部分:设计原则、语言特性、书写文档、高级设计、时钟和复位、验证之路、其他介绍。本书对这些部分做了重点的探讨:Verilog编码风格、Verilog-2001的新特性、简洁高效的编程、容易出错的语言元素、可配置设计、时钟生成、复位设计、验证方法等。另外,本书还对SystemVerilog做了简单的介绍。
作者简介
作者具有多年的Verilog设计经验,参与了多个芯片的设计工作,重点在前端设计(设计、验证、综合、和STA等)。
目录
第一部分 设 计 原 则
第1章 美的设计
1.1 美学观点
1.2 美是修养
1.3 专业术语
第2章 高效之道
2.1 敏捷开发
2.2 代码质量
2.3 版本控制
2.4 提早集成
第3章 组织管理
3.1 植物分类
3.2 SoC特性
3.3 设计流程
3.4 仔细规划
3.5 管理表格
3.6 模块层次
3.7 目录组织
第4章 使用工具
4.1 使用Emacs 19
4.2 使用Shell
4.3 使用CVS
第5章 编码风格
5.1 干干净净
5.2 代码划分
5.3 代码要求
5.4 名字定义
5.5 书写格式
5.6 添加注释
5.7 参数化
5.8 lint检查
第二部分 语 言 特 性
第6章 Verilog特性
6.1 Verilog标准
6.2 抽象级别
6.3 可综合子集
6.4 保持一致
第7章 常数
7.1 整数(integer)
7.2 实数(real)
7.3 字符串(string)
7.4 标识符(identifier)
第8章 数据类型
第9章 表达式
第10章 赋值操作
10.1 连续赋值
10.2 过程赋值
第11章 门级和开关级模型
第12章 用户定义原语
12.1 UDP定义
12.2 组合UDP
12.3 电平敏感时序UDP
12.4 沿敏感时序UDP
第13章 行为模型
13.1 概览
13.2 过程赋值
13.3 过程连续赋值
13.4 条件语句
13.5 循环语句
13.6 过程时序控制
13.7 块语句
13.8 结构化过程
13.9 always有关的问题
第14章 case语句
第15章 task和function
第16章 调度和赋值
16.1 仿真过程
16.2 事件仿真
16.3 仿真参考模型
16.4 分层事件队列
16.5 确定性和不确定性
16.6 赋值的调度含义
16.7 阻塞赋值和非阻塞赋值
16.8 赋值使用原则
16.9 自己触发自己
16.10 仿真零延迟RTL模型
16.11 惯性延迟和传输延迟
16.12 延迟线模型
16.13 使用#1延迟
16.14 多个公共时钟和竞争条件
16.15 避免混杂阻塞赋值和非阻塞赋值
16.16 RTL和门级混合仿真
16.17 带有SDF延迟的门级仿真
第17章 层次结构
17.1 模块
17.2 参数
17.3 端口
17.4 Generate语句
17.5 实例数组
17.6 层次名字
第18章 系统任务和函数
18.10 波形记录
第19章 编译指令
第20章 Specify块
20.1 specify块声明
20.2 speparam
20.3 模块路径声明
20.4 模块路径延迟
第21章 时序检查
21.1 概览
21.2 使用稳定窗口的时序检查
21.3 时钟和控制信号的时序检查
21.4 使用notifier响应时序违反
21.5 使用条件事件
21.6 时序检查中的Vector
21.7 Negative timing check
第22章 反标SDF
22.1 SDF标注器
22.2 SDF construct到Verilog的映射
22.3 $sdf_annotate
22.4 SDF文件例子
第23章 编程语言接口
23.1 DirectC
23.2 SystemVerilog
第24章 综合指令
第三部分 书 写 文 档
第25章 书写文档
25.1 文档格式
25.2 定义文档
25.3 应用文档
25.4 设计文档
25.5 备份文档
25.6 GPIO设计
第26章 GPIO应用文档
26.1 Overview
26.2 Register Description
26.3 Program Guide
第27章 GPIO设计文档
27.1 文件列表(见表27-1)
27.2 端口列表(见表27-2)
27.3 配置参数(见表27-3)
第四部分 高 级 设 计
第28章 使用IP
第29章 代码优化
29.1 代码可读
29.2 简洁编码
29.3 优化逻辑
29.4 优化迟到信号
29.5 括号控制结构
第30章 状态机设计
30.1 状态机类型
30.2 状态编码方式
30.3 二进制编码FSM
30.4 独热码编码FSM
30.5 寄存器输出
第31章 可配置设计
31.1 格雷码转换
31.2 通用串行CRC
31.3 FIFO控制器
31.4 RAM Wrapper 例子
31.5 可配置的GPIO设计
31.6 可配置的BusMatrix
31.7 可配置的Andes Core N801
31.8 可配置的ARM926EJS
31.9 灵活的coreConsultant
第32章 可测性设计
32.1 内部扫描
32.2 内建自测
32.3 边界扫描
第五部分 时钟和复位
第33章 异步时序
33.1 亚稳态
33.2 MTBF
33.3 同步器
33.4 同步多位数据
33.5 异步FIFO
33.6 Design Ware
33.7 DW_fifoctl_s2_sf
33.8 门级仿真
第34章 时钟生成
34.1 同步电路
34.2 设计原则
34.3 分频器
34.4 时钟切换
34.5 时钟生成
第35章 时钟例子
第36章 复位设计
第六部分 验 证 之 路
第37章 验证之路
37.1 整洁验证
37.2 验证目标
37.3 验证流程
37.4 验证计划
37.5 随机验证
37.6 直接验证
37.7 白盒验证
37.8 模块验证
37.9 系统验证
37.10 DFT验证
37.11 网表验证
37.12 高级抽象
37.13 灵活验证
37.14 ARM926EJS的Validation环境
37.15 AHB BusMatrix的验证
37.16 某芯片的SoC验证环境
第七部分 其 他 介 绍
第38章 SystemVerilog特性
参考文献
关于版权
第1章 美的设计
1.1 美学观点
1.2 美是修养
1.3 专业术语
第2章 高效之道
2.1 敏捷开发
2.2 代码质量
2.3 版本控制
2.4 提早集成
第3章 组织管理
3.1 植物分类
3.2 SoC特性
3.3 设计流程
3.4 仔细规划
3.5 管理表格
3.6 模块层次
3.7 目录组织
第4章 使用工具
4.1 使用Emacs 19
4.2 使用Shell
4.3 使用CVS
第5章 编码风格
5.1 干干净净
5.2 代码划分
5.3 代码要求
5.4 名字定义
5.5 书写格式
5.6 添加注释
5.7 参数化
5.8 lint检查
第二部分 语 言 特 性
第6章 Verilog特性
6.1 Verilog标准
6.2 抽象级别
6.3 可综合子集
6.4 保持一致
第7章 常数
7.1 整数(integer)
7.2 实数(real)
7.3 字符串(string)
7.4 标识符(identifier)
第8章 数据类型
第9章 表达式
第10章 赋值操作
10.1 连续赋值
10.2 过程赋值
第11章 门级和开关级模型
第12章 用户定义原语
12.1 UDP定义
12.2 组合UDP
12.3 电平敏感时序UDP
12.4 沿敏感时序UDP
第13章 行为模型
13.1 概览
13.2 过程赋值
13.3 过程连续赋值
13.4 条件语句
13.5 循环语句
13.6 过程时序控制
13.7 块语句
13.8 结构化过程
13.9 always有关的问题
第14章 case语句
第15章 task和function
第16章 调度和赋值
16.1 仿真过程
16.2 事件仿真
16.3 仿真参考模型
16.4 分层事件队列
16.5 确定性和不确定性
16.6 赋值的调度含义
16.7 阻塞赋值和非阻塞赋值
16.8 赋值使用原则
16.9 自己触发自己
16.10 仿真零延迟RTL模型
16.11 惯性延迟和传输延迟
16.12 延迟线模型
16.13 使用#1延迟
16.14 多个公共时钟和竞争条件
16.15 避免混杂阻塞赋值和非阻塞赋值
16.16 RTL和门级混合仿真
16.17 带有SDF延迟的门级仿真
第17章 层次结构
17.1 模块
17.2 参数
17.3 端口
17.4 Generate语句
17.5 实例数组
17.6 层次名字
第18章 系统任务和函数
18.10 波形记录
第19章 编译指令
第20章 Specify块
20.1 specify块声明
20.2 speparam
20.3 模块路径声明
20.4 模块路径延迟
第21章 时序检查
21.1 概览
21.2 使用稳定窗口的时序检查
21.3 时钟和控制信号的时序检查
21.4 使用notifier响应时序违反
21.5 使用条件事件
21.6 时序检查中的Vector
21.7 Negative timing check
第22章 反标SDF
22.1 SDF标注器
22.2 SDF construct到Verilog的映射
22.3 $sdf_annotate
22.4 SDF文件例子
第23章 编程语言接口
23.1 DirectC
23.2 SystemVerilog
第24章 综合指令
第三部分 书 写 文 档
第25章 书写文档
25.1 文档格式
25.2 定义文档
25.3 应用文档
25.4 设计文档
25.5 备份文档
25.6 GPIO设计
第26章 GPIO应用文档
26.1 Overview
26.2 Register Description
26.3 Program Guide
第27章 GPIO设计文档
27.1 文件列表(见表27-1)
27.2 端口列表(见表27-2)
27.3 配置参数(见表27-3)
第四部分 高 级 设 计
第28章 使用IP
第29章 代码优化
29.1 代码可读
29.2 简洁编码
29.3 优化逻辑
29.4 优化迟到信号
29.5 括号控制结构
第30章 状态机设计
30.1 状态机类型
30.2 状态编码方式
30.3 二进制编码FSM
30.4 独热码编码FSM
30.5 寄存器输出
第31章 可配置设计
31.1 格雷码转换
31.2 通用串行CRC
31.3 FIFO控制器
31.4 RAM Wrapper 例子
31.5 可配置的GPIO设计
31.6 可配置的BusMatrix
31.7 可配置的Andes Core N801
31.8 可配置的ARM926EJS
31.9 灵活的coreConsultant
第32章 可测性设计
32.1 内部扫描
32.2 内建自测
32.3 边界扫描
第五部分 时钟和复位
第33章 异步时序
33.1 亚稳态
33.2 MTBF
33.3 同步器
33.4 同步多位数据
33.5 异步FIFO
33.6 Design Ware
33.7 DW_fifoctl_s2_sf
33.8 门级仿真
第34章 时钟生成
34.1 同步电路
34.2 设计原则
34.3 分频器
34.4 时钟切换
34.5 时钟生成
第35章 时钟例子
第36章 复位设计
第六部分 验 证 之 路
第37章 验证之路
37.1 整洁验证
37.2 验证目标
37.3 验证流程
37.4 验证计划
37.5 随机验证
37.6 直接验证
37.7 白盒验证
37.8 模块验证
37.9 系统验证
37.10 DFT验证
37.11 网表验证
37.12 高级抽象
37.13 灵活验证
37.14 ARM926EJS的Validation环境
37.15 AHB BusMatrix的验证
37.16 某芯片的SoC验证环境
第七部分 其 他 介 绍
第38章 SystemVerilog特性
参考文献
关于版权
猜您喜欢