在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 28767|回复: 323

[资料] verilog高级数字系统设计技术与案例分析

[复制链接]
发表于 2021-6-18 14:42:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
verilog高级数字系统设计技术与案例分析》
Advanced Chip Design Practical Examples in Verilog


编辑推荐
适读人群 :本书适合电子工程专业、计算机专业高年级本科生和研究生作为教材使用,也非常适合从事电子技术领域科研工作的工程师参考。
本书通过大量实例由浅入深地介绍了数字电路和数字系统设计中的重要概念和知识要点。本书分两大部分。第一部分重点关注数字电路设计层面,偏重基础。第2章到第6章为Verilog语法与数字电路设计相关知识,包括常用语法、基本数字电路单元等。第7章到第9章重点介绍高级数字设计知识,包括数字系统架构设计、复杂数字系统中常用的电路单元、算法,并给出了大量工程实例。第10章给出了一些重要的工程设计经验,包括文档管理、代码设计、系统验证、高可靠性设计等。第二部分重点关注数字系统设计层面。第11章到第13章介绍了常用数字系统关键电路,包括与处理器系统相关的存储结构与存储访问技术、存储介质(硬盘、闪存、DDR等)与驱动电路、处理器总线结构与协议等。第14章和第15章介绍了电路可测性设计、静态定时分析、芯片工程修改的相关知识。第16章和第17章从电路设计层面到系统设计层面介绍了降低电路功耗的方法。第18章到第20章介绍常用串行总线和串行通信协议,包括PCI Express、SATA、USB及以太网技术。



内容简介
本书通过大量实例由浅入深地介绍了数字电路和数字系统设计中的重要概念和知识要点。本书分两大部分。第一部分重点关注数字电路设计层面,偏重基础。第2章到第6章为Verilog语法与数字电路设计相关知识,包括常用语法、基本数字电路单元等。第7章到第9章重点介绍高级数字设计知识,包括数字系统架构设计、复杂数字系统中常用的电路单元、算法,并给出了大量工程实例。第10章给出了一些重要的工程设计经验,包括文档管理、代码设计、系统验证、高可靠性设计等。第二部分重点关注数字系统设计层面。第11章到第13章介绍了常用数字系统关键电路,包括与处理器系统相关的存储结构与存储访问技术、存储介质(硬盘、闪存、DDR等)与驱动电路、处理器总线结构与协议等。第14章和第15章介绍了电路可测性设计、静态定时分析、芯片工程修改的相关知识。第16章和第17章从电路设计层面到系统设计层面介绍了降低电路功耗的方法。第18章到第20章介绍常用串行总线和串行通信协议,包括PCI Express、SATA、USB及以太网技术。



作者简介
Kishore Mishra 20年前进入Allied Telesyn International公司,最初从事以太网芯片设计。此后,他先后在Texas Instrument和Intel公司从事芯片设计和架构设计。他感兴趣和从事过的设计领域包括处理器外围芯片组设计,PCI Express、SATA和DDR技术,芯片功率管理/低功耗设计技术。Kishore与他人合作创立了多家公司,设计了PCI Express和SATA控制器芯片内核。作为asic Architect公司的CEO,带领公司设计了很多在业界很有影响力的IP核。在2008年,ASIC Architect公司被Gennum公司收购,他开始负责设计PCI Express交换芯片,并担任数字IP部门负责人。他负责设计的PCI Express交换芯片IP核被很多大型公司使用并实现了量产。他曾在多个国际会议上发表论文并持有3项美国专利。Kishore近年来专注于教材编写,分享20年来积累的数字系统设计知识和经验。
Kishore Mishra 20年前进入Allied Telesyn International公司,最初从事以太网芯片设计。此后,他先后在Texas Instrument和Intel公司从事芯片设计和架构设计。他感兴趣和从事过的设计领域包括处理器外围芯片组设计,PCI Express、SATA和DDR技术,芯片功率管理/低功耗设计技术。Kishore与他人合作创立了多家公司,设计了PCI Express和SATA控制器芯片内核。作为ASIC Architect公司的CEO,带领公司设计了很多在业界很有影响力的IP核。在2008年,ASIC Architect公司被Gennum公司收购,他开始负责设计PCI Express交换芯片,并担任数字IP部门负责人。他负责设计的PCI Express交换芯片IP核被很多大型公司使用并实现了量产。他曾在多个国际会议上发表论文并持有3项美国专利。Kishore近年来专注于教材编写,分享20年来积累的数字系统设计知识和经验。



目录
第1章 绪论
第2章 寄存器传输语言(RTL)
第3章 可综合的Verilog――用于电路设计
3.1 什么是Verilog
3.2 Verilog的发展历史
3.3 Verilog的结构
3.4 硬件RTL代码的执行
3.5 Verilog模块分析
3.6 Verilog中的触发器
3.6.1 带RST复位引脚的触发器
3.6.2 没有复位引脚的触发器
3.7 组合逻辑
3.7.1 always块语句
3.7.2 case和if-else语句
3.7.3 赋值语句
3.8 Verilog操作符
3.8.1 操作符描述
3.8.2 操作符的执行顺序
3.8.3 Verilog中的注释
3.9 可重用和模块化设计
3.9.1 参数化设计
3.9.2 Verilog函数
3.9.3 Verilog中的generate结构
3.9.4 Verilog中的`ifdef
3.9.5 数组、多维数组
第4章 用于验证的Verilog语法
4.1 Verilog的测试平台
4.2 initial语句
4.3 Verilog 系统任务
4.3.1 $finish/$stop
4.3.2 $display/$monitor
4.3.3 $time,$realtime
4.3.4 $random/$random(seed)
4.3.5 $save
4.3.6 $readmemh/$writememh
4.3.7 $fopen/$fclose
4.4 任务
4.5 存储器建模
4.6 其他Verilog语法结构
4.6.1 while循环
4.6.2 for循环、repeat
4.6.3 force/release
4.6.4 fork / join
4.7 一个简单的testbench
第5章 数字电路设计――初级篇
5.1 组合逻辑门
5.1.1 逻辑1和逻辑0
5.1.2 真值表
5.1.3 晶体管
5.1.4 反相器
5.1.5 与门
5.1.6 或门
5.1.7 与非门
5.1.8 或非门
5.1.9 XOR(异或)、XNOR(异或非)
5.1.10 缓冲门
5.1.11 复用器
5.1.12 通用逻辑门――NAND、NOR
5.1.13 复杂门电路
5.1.14 噪声容限
5.1.15 扇入和扇出
5.2 德摩根定理
5.3 通用D触发器
5.3.1 D触发器时序图
5.4 建立和保持时间
5.4.1 建立时间
5.4.2 保持时间
5.4.3 亚稳态
5.5 单比特信号同步
5.5.1 两个触发器构成的同步器
5.5.2 信号同步规则
5.6 关于时序
5.7 事件/边沿检测
5.7.1 同步上升沿检测
5.7.2 同步下降沿检测
5.7.3 同步上升/下降沿检测
5.7.4 异步输入上升沿检测
5.8 数值系统
5.8.1 十进制数值系统
5.8.2 二进制数
5.8.3 十进制数到二进制数的转换
5.8.4 十六进制数值系统
5.8.5 十六进制数和二进制数的转换
5.9 加法和减法
5.9.1 行波进位加法器
5.9.2 超前进位加法
5.9.3 累加器
5.10 乘和除
5.10.1 乘以一个常数
5.10.2 除以常数(2的整数次幂)
5.11 计数器
5.11.1 加法/减法计数器
5.11.2 LFSR(线性反馈移位寄存器)计数器
第6章 数字设计――基础模块
6.1 LFSR
6.1.1 引言
6.1.2 斐波那契LFSR与伽罗瓦LFSR
6.1.3 LFSR反馈多项式
6.1.4 LFSR的用法
6.2 扰码与解扰
6.2.1 什么是扰码与解扰
6.2.2 扰码的作用
6.2.3 串行扰码器
6.2.4 并行扰码器
6.2.5 扰码电路设计要点
6.2.6 PCIe扰码电路
6.2.7 Verilog RTL-PCIe扰码器
6.3 检错与纠错
6.3.1 检错
6.3.2 错误纠正
6.3.3 纠错编码
6.3.4 汉明码
6.3.5 汉明码应用举例――DDR ECC
6.3.6 BCH编码
6.3.7 里德-所罗门编码
6.3.8 LDPC编码
6.3.9 卷积码
6.3.10 卷积译码
6.3.11 软判决与硬判决
6.4 奇偶校验
6.4.1 偶校验和奇校验
6.4.2 奇偶校验位的生成
6.4.3 奇偶校验的应用
6.5 CRC(循环冗余校验)
6.5.1 CRC介绍
6.5.2 串行CRC计算
6.5.3 并行CRC计算
6.5.4 部分数据CRC计算
6.5.5 常用CRC类型
6.6 格雷编码/解码
6.6.1 二进制码转换为格雷编码的通用电路
6.6.2 格雷码转换为二进制码的通用电路
6.7 译码器(7段数码显示实例)
6.8 优先级编码
6.8.1 常规编码器的Verilog 代码
6.8.2 优先级编码器的Verilog代码
6.9 8b/10b编码/解码
6.9.1 8b/10b编码方式
6.9.2 多字节8b/10b编码
6.9.3 disparity选择8b/10b编码方案
6.10 64b/66b编码/解码
6.10.1 64b/66b编码机制
6.10.2 128b/130b编码机制
6.11 NRZ、NRZI编码
6.12 移位寄存器与桶形移位器
6.12.1 左移位与右移位
6.12.2 左循环移位与右循环移位
6.12.3 桶形移位器
6.13 数据转换器
6.13.1 由宽到窄数据转换
6.13.2 由窄到宽数据转换
6.14 同步技术
6.14.1 使用fifo进行的数据同步
6.14.2 握手同步方式
6.14.3 脉冲同步器
6.14.4 相位、频率关系固定时的跨时钟域数据传输
6.14.5 准同步时钟域
6.15 计时(微秒、毫秒和秒)脉冲的产生
6.16 波形整形电路
第7章 数字设计先进概念(第1部分)
7.1 时钟
7.1.1 频率和时钟周期
7.1.2 不同的时钟机制
7.1.3 同步时钟
7.1.4 源同步时钟
7.1.5 嵌入式时钟
7.1.6 准同步时钟
7.1.7 异步系统
7.1.8 扩频时钟
7.1.9 时钟抖动
7.2 复位方法
7.2.1 非同步复位(异步复位)
7.2.2 复位同步电路
7.2.3 同步复位
7.2.4 异步复位和同步复位的选择
7.3 吞吐率
7.3.1 增加吞吐率的方法
7.3.2 更高的频率
7.3.3 更宽的数据通道
7.3.4 流水线
7.3.5 并行处理
7.3.6 无序执行(乱序执行)
7.3.7 高速缓存(cache)
7.3.8 预读取
7.3.9 多核
7.4 时延
7.4.1 降低时延的方法
7.5 流控
7.5.1 介绍
7.5.2 数据转发:data_valid和data_ack
7.5.3 基于信用的流控:PCIe
7.5.4 SATA流控机制
7.5.5 吉比特以太网流控
7.5.6 TCP滑动窗流控机制
7.6 流水线操作
7.6.1 流水线介绍
7.6.2 流水线的简单实例
7.6.3 RISC――流水线处理器
7.6.4 流水线结构和并行操作
7.6.5 流水线加法器
7.6.6 并行加法器
7.6.7 系统设计中的流水线
7.7 out-of-order执行(乱序执行)
7.7.1 现代处理器:out-of-order执行
7.7.2 SATA NCQ:out-of-order执行
第8章 数字设计先进概念(第2部分)
8.1 状态机
8.1.1 引言
8.1.2 状态机泡泡图
8.1.3 状态机:推荐方式
8.1.4 二进制编码的状态机
8.1.5 独热码编码的状态机
8.1.6 二进制编码和独热码比较
8.1.7 米里型和摩尔型状态机
8.1.8 子状态机
8.2 FIFO
8.2.1 引言
8.2.2 FIFO操作
8.2.3 同步FIFO
8.2.4 同步FIFO
8.2.5 异步FIFO的工作机制
8.2.6 异步FIFO的实现
8.3 FIFO高级原理
8.3.1 FIFO的大小
8.3.2 FIFO的深度
8.3.3 辅助数据或标签
8.3.4 快照/回退操作
8.3.5 直通交换和存储转发模式
8.3.6 FIFO指针复位
8.3.7 不同的写入、读取数据宽度
8.3.8 使用FIFO的缺点
8.3.9 基于触发器或者SRAM的FIFO
8.4 仲裁
8.4.1 关于仲裁
8.4.2 常规仲裁方案
8.4.3 严格优先级轮询
8.4.4 公平轮询
8.4.5 公平轮询(仲裁w/o死周期)
8.4.6 带权重的轮询(WRR)
8.4.7 权重轮询(WRR):第二种方法
8.4.8 两组轮询
8.5 总线接口
8.5.1 总线仲裁
8.5.2 split-transaction(分割处理)总线
8.5.3 流水线式总线
8.6 链表
8.7 近期最少使用(LRU)算法
8.7.1 LRU的矩阵实现
8.7.2 采用矩阵法实现LRU的Verilog代码
第9章 设计ASIC/SoC
9.1 设计芯片――如何开展
9.2 结构和微结构
9.2.1 尽可能保持简单
9.2.2 善于平衡
9.2.3 处理好错误和异常
9.3 数据路径
9.3.1 数据流
9.3.2 时钟
9.4 控制单元
9.4.1 关注边界条件
9.4.2 注意细节
9.4.3 多输入点
9.4.4 正确理解规范
9.5 其他考虑
9.5.1 门数
9.5.2 焊盘受限与内核受限
9.5.3 时钟树和复位树
9.5.4 EEPROM、配置引脚
第10章 设计经验
10.1 文档
10.1.1 可读性
10.1.2 注释
10.1.3 命名规则
10.2 在编写第一行代码之前
10.2.1 直到你脑海里有了蓝图才开始
10.2.2 脑海中的模拟
10.3 一些建议
10.3.1 哪种风格――数据流或算法
10.3.2 寄存器型输出
10.3.3 使用状态机而不是松散的控制逻辑
10.3.4 综合和仿真不匹配
10.3.5 设计的模块化和参数化
10.3.6 加法器、减法器的有效使用
10.4 需要避免的情况
10.4.1 不要形成组合逻辑环路
10.4.2 避免意外生成锁存器
10.4.3 不要采用基于延迟的设计
10.4.4 不要对一个变量多次赋值
10.5 初步完成RTL代码之后
10.5.1 初步完成代码之后的回顾
10.5.2 目测RTL代码
10.5.3 对发现bug感到惊喜
10.6 设计要面向未来使用需求
10.6.1 易于实现的寄存器结构
10.6.2 考虑将来需求
10.7 高速设计
10.7.1 使用独热码进行状态编码
10.7.2 使用互斥的数据选择器而不是优先级编码器
10.7.3 避免大量散乱的组合逻辑电路
10.7.4 复制或克隆
10.7.5 使用同步复位时要小心
10.7.6 将后到的信号放在逻辑的前面
10.8 SoC设计经验
10.8.1 使用双触发器同步电路
10.8.2 将所有复位电路放在一起
第11章 系统概念(第1部分)
11.1 PC系统结构
11.2 存储器
11.2.1 存储器层次结构
11.2.2 cpu使用高速缓存的方法
11.2.3 cache的架构
11.2.4 cache的组织方式
11.2.5 虚拟存储器(Virtual Memory)
11.2.6 动态随机访问存储器(DRAM)
11.2.7 静态随机访问存储器(SRAM)
11.2.8 内容可寻址存储器(CAM)
11.2.9 CAM的Verilog模型
11.2.10 ROM、PROM、EPROM和EEPROM
11.2.11 闪存
11.3 中断

11.3.1 中断不同部分
11.3.2 中断向量表
11.3.3 I/O设备产生的中断
11.3.4 高级可编程中断控制器
11.3.5 INTx中断共享
11.3.6 MSI中断
11.3.7 MSI-X中断
11.3.8 中断聚合
11.3.9 中断产生的RTL示例
11.4 PIO(Programmed IO)模式的数据传送
11.5 直接存储器访问
11.5.1 什么是DMA
11.5.2 第三方、第一方DMA和RDMA
11.5.3 分/集式DMA
11.5.4 DMA描述符
11.5.5 环形描述符结构
11.5.6 链表描述符结构
11.5.7 DMA控制器的设计
11.5.8 DMA控制器的Verilog RTL模型
第12章 系统概念(第2部分)
12.1 永久存储器――硬盘
12.1.1 磁盘结构
12.1.2 磁盘寻址
12.1.3 硬盘控制器
12.1.4 硬盘的类型:SATA硬盘和基于SAS的硬盘
12.1.5 RAID(独立磁盘冗余阵列)
12.2 永久存储设备――固态盘
12.2.1 闪存的组织
12.2.2 闪存写入、擦除
12.2.3 逻辑地址到物理地址的转换
12.2.4 无用存储空间回收
12.2.5 耗损均衡
12.2.6 写放大及其缓解方法
12.2.7 超量供给
12.2.8 SSD中的高速缓存
12.2.9 ECC和RAID
12.2.10 闪存的一些重要指标
12.2.11 NVM总线
12.3 DDR存储器
12.3.1 DDR存储器命令
12.3.2 DDR的初始化和校准
12.3.3 DDR存储器术语
12.4 软硬件协同
12.4.1 设备驱动
12.4.2 软件层
12.4.3 BIOS
12.4.4 内核模式和用户模式
12.4.5 控制/状态寄存器、RO、粘着位
第13章 嵌入式系统13.1 AMBA总线架构
13.1.1 AMBA模块图
13.1.2 AHB总线
13.1.3 AXI总线
13.2 其他总线(OCP、Avalon、Wishbone和IBM Core Connect)
13.3 非透明桥接
第14章 ASIC/SoC的可测试性
14.1 简介
14.1.1 为什么测试很重要
14.1.2 故障类型
14.2 ATPG
14.3 扫描
14.3.1 内部扫描
14.3.2 边界扫描
14.3.3 IDDQ测试
14.4 SoC测试策略
14.4.1 SoC的内部结构
14.4.2 可测性设计(DFT
14.4.3 DFT设计准则
14.4.4 测试层面和测试向量
第15章 芯片开发流程与工具
15.1 简介
15.1.1 芯片设计的不同阶段
15.2 前端设计过程所使用的工具
15.2.1 代码分析工具
15.2.2 仿真工具
15.3 后端设计过程使用的工具
15.3.1 综合工具
15.3.2 静态定时分析及常用工具
15.3.3 SDC约束文件
15.3.4 Max Cap/Maxtrans检查
15.3.5 门级仿真
15.4 tape-out 和相关工具
15.4.1 不同类型的tape-out
15.4.2 等效性检查
15.4.3 网表ECO
15.4.4 FIB操作
15.5 在硅片调试
第16章 功率节约技术
16.1 简介
16.2 功耗分析基础
16.3 通过控制工作频率降低功耗
16.3.1 降低频率、增大数据路径宽度
16.3.2 动态频率调整
16.3.3 零频率/门控时钟
16.4 减少电容负载
16.5 降低工作电压
16.5.1 动态改变工作电压
16.5.2 零操作电压
16.5.3 电源阱与隔离
第17章 功率管理
17.1 功率管理的基础知识
17.2 系统级功率管理与ACPI
17.3 CPU功率状态――C状态
17.4 设备级功率管理与D状态
17.5 系统、设备和链路间的关系
第18章 串行总线技术
18.1 串行总线结构
18.1.1 串行总线的出现
18.1.2 串行总线的优缺点
18.1.3 串行总线结构
18.1.4 串行总线时钟
18.1.5 发送路径的微结构
18.1.6 接收路径的微结构
18.2 串行总线中的先进设计理念
18.2.1 字节分割/链路聚合
18.2.2 通道绑定与去偏移
18.2.3 极性翻转
18.2.4 线路翻转
18.2.5 锁相环(PLL)
18.3 串行总线的PMA层功能
18.3.1 发送均衡
18.3.2 接收均衡
18.3.3 端接电阻
第19章 串行协议(第1部分)
19.1 PCIe
19.1.1 PCIe功能特性
19.1.2 PCIe带宽
19.1.3 PCIe交换结构
19.1.4 PCIe配置空间寄存器
19.1.5 PCIe的交换机制
19.2 SATA
19.2.1 引言
19.2.2 SATA架构
19.2.3 SATA的其他变种
19.3 通用串行总线
19.3.1 引言
19.3.2 全速、高速和超高速USB
19.3.3 USB的显著功能特性
19.3.4 USB 3.0(超高速USB)
19.4 雷电接口
19.4.1 雷电接口介绍
19.4.2 雷电接口架构
第20章 串行协议(第2部分)
20.1 以太网简介
20.2 OSI和以太网协议层次
20.3 以太网帧格式
20.4 10 Mbps以太网
20.5 快速以太网(100 Mbps)
20.6 千兆位以太网(1 Gbps)
20.7 万兆位以太网(10 Gbps)
20.8 40 G和100 G以太网
20.9 以太网桥接器、交换机与路由器
附录A 资源
附录B FPGA 101
附录C 用于验证的测试平台(testbench)
附录D System Verilog断言(SVA)
缩略词


查看全部↓

前言/序言
前言
本书面向从事数字系统设计和数字系统架构设计的研究生和工程师。本书划分为两大部分,第1章到第10章重点关注数字电路设计层面,第11章到第20章重点关注数字系统设计层面。
第1章重点介绍了本书面向的读者群体,以及本书的主要内容、组织方式和这样组织的原因。
第2章介绍了Verilog语言的历史、发展变化,以及Verilog在现代数字设计中的地位。
第3章和第4章介绍了在设计和验证中常用的Verilog语法结构。其中,第3章重点介绍了进行数字设计时使用的可综合的Verilog语法结构,同时给出了很多可重用的设计实例,这些例子中普遍使用了parameter、function和generate这类可重用设计方式;第4章初步介绍了电路验证问题,目的是使读者对电路验证有一个基本理解,能够使用Verilog进行模块级验证。
第5章介绍了数字设计中的基本单元,包括逻辑门、真值表、德摩根定理、建立时间/保持时间、边沿检测和数值系统。
第6章介绍了数字设计中的一些常用基本模块,包括LFSR(线性反馈移位寄存器)、扰码与解扰、检错与纠错、奇偶校验、CRC(循环冗余校验)、格雷码编码/解码和数字同步技术。在介绍这些基本模块的同时,给出了它们的常见实际应用例子。
第7章介绍了芯片设计和架构设计中的一些先进概念,主要包括时钟和复位设计策略、增加数字电路吞吐率的方法、减少电路延迟的方法、不同的流控机制、流水线操作、乱序执行等。





verilog高级数字系统设计技术与案例分析.part1.rar (32 MB, 下载次数: 1899 ) verilog高级数字系统设计技术与案例分析.part2.rar (28.94 MB, 下载次数: 1756 )
发表于 2021-6-18 16:12:51 | 显示全部楼层
谢谢分享!
发表于 2021-6-18 20:36:57 | 显示全部楼层
多谢分享!
发表于 2021-6-18 20:54:00 | 显示全部楼层
多谢分享
发表于 2021-6-19 01:53:55 | 显示全部楼层
很好很强大啊,呵呵。
发表于 2021-6-19 15:16:18 | 显示全部楼层
好书,谢谢分享
发表于 2021-6-19 17:03:50 | 显示全部楼层
谢谢分享
发表于 2021-6-19 22:03:31 | 显示全部楼层
权限
发表于 2021-6-21 21:19:10 | 显示全部楼层
kanakn
发表于 2021-6-22 11:30:55 | 显示全部楼层
多谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-24 17:02 , Processed in 0.037745 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表