logo资料库

hdl设计与实践v26.pdf

第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
资料共50页,剩余部分请下载后查看
第一章 阅读指南
第二章 现代数字硬件设计导论
2.1 数字系统设计过程
2.2 早期的人工图纸作业
2.3 ASIC器件和现场定制需求
2.4 基于ROM器件的组合逻辑(ROM-Based Combinational Logic)
2.5 PAL和PLA的出现及其工作原理
2.6 PLD器件
2.7 GAL器件的出现和特点
2.8 FPGA诞生的前夜—CPLD
2.9 硅谷传奇—Altera和Xilinx的成立
2.10 Altera的产品和发展历程
2.11 Xilinx的产品和发展历程
2.12 Actel的产品和发展历程
2.13 FPGA的结构(Altera)
2.13.1 FPGA与CPLD的比较
2.13.2 FPGA的资源和平面布置
2.13.3 FPGA的查找表LUT及其工作原理
2.13.4 FPGA的LE单元
2.13.5 FPGA的锁相环
2.13.6 FPGA对DDR2/DDR3的支持
2.13.7 FPGA的存储器资源和使用
2.13.8 FPGA的基于RAM的配置
2.13.9 FPGA的在线编程和JTAG
2.14 FPGA的应用方向
2.14.1 替代ASIC和ASSP
2.14.2 高速图像应用
2.14.3 高速DSP应用
2.14.4 加速器应用
2.14.5 在片系统SoPC应用(替代ASIC的ARM和单片机)
2.14.6 高速串行通信应用
2.14.7 先有“芯”后有“片”的转变(现代数字技术标准的应用)
2.14.8 作为ASIC器件的准备和过渡
第三章 现代数字电路基础
3.1 基本逻辑门和CMOS电路
3.1.1 反相器和CMOS电路
3.1.2 基本逻辑单元
3.2 输入和输出
3.2.1 端口I/O标准
3.2.2 逻辑值和噪声容限
3.2.3 漏极开路输出(OD)或集电极开路输出(OC)
3.2.4 端口的上拉(Pull-Up)和下拉()
3.2.5 三态输出
3.2.6 端口的扇入和扇出
3.3 布尔代数
3.4 德摩根变换
3.5 维恩图
3.6 卡诺图和真值表
3.7 二元决策图
3.8 组合逻辑设计
3.8.1 积之和(SOP)及其表达式
3.8.2 和之积(POS)及其表达式
3.8.3 布尔表达式的化简
3.9 毛刺和竞争冒险
3.10 时序逻辑设计
3.10.1 锁存器(Latch)和传输门
3.10.2 触发器(Flip-Flop)
3.11 数值类型
3.11.1 布尔类型
3.11.2 有符合数和无符号数
3.12 浮点数
第四章 HDL基础知识
4.1 数字电路设计概述
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.2.10 时序逻辑设计
4.3 有限状态机设计
4.3.1 有限状态机理论(Mealy ,Moore)
4.3.2 有限状态机的三段式编码
4.3.3 线性序列机LSM
4.3.4 状态转移图STG
4.3.5 算法机ASM和算法流程图ASMc
4.3.6 显示状态机和隐式状态机
4.3.7 摩尔机设计例子:LPM分频器
4.3.8 米利机设计例子:自动售货机
4.4 验证
4.4.1 验证的理论和方法
4.4.2 运行仿真的人工方式
4.4.3 运行仿真的自动方式(NativeLink)
4.5 同步设计
4.5.1 同步设计的概念
4.5.2 激励和响应
4.5.3 同步机制
4.5.4 同步翻转噪声(SSN)和功耗
4.5.5 时钟节点(Pipeline Node)和时钟域(Clock Domain)
4.5.6 时钟偏斜Skew和时钟抖动Jitter
4.5.7 同步设计中的One-Clock原则和时钟流分析(TP图)
4.5.8 基于时钟节点的时序约束和时序分析
第五章 可综合编码(Coding Style for Synthesis, CSS)
5.1 编写综合友好的代码
5.2 并发语句CAS和顺序语句SAS
5.3 循环语句
5.4 行为语句
5.5 组合电路的CSS
5.6 优先结构的CSS
5.7 锁存器电路的CSS
5.8 三态门的CSS
5.9 总线接口的CSS
5.10 显示状态机的CSS
5.11 寄存器和计数器的CSS
5.12 复位电路的CSS
5.13 层次化和打平
第六章 非综合目的编码(Coding Style for Dis-Synthesis, CSDS)
6.1 何时需要CSDS
6.2 时钟信号的CSDS
6.3 顺序信号的CSDS
6.4 状态机的CSDS
6.5 CSDS用于构建电路模型
6.6 CSDS用于Testbench
第七章 数字系统设计例子
7.1 图像处理
7.2 数字滤波器
7.3 流水线架构例子
7.4 环形缓冲器
7.5 同步和异步FIFO
7.6 行波进位加法器
7.7 超前进位加法器
7.8 无符号乘法器
7.9 有符号乘法器
7.10 浮点数乘法器
第八章 FPGA和边界扫描JTAG
8.1 边界扫描和可测试技术
8.2 FPGA的JTAG操作模式
8.3 JTAG寄存器
8.4 JTAG指令
8.5 TAP寄存器架构
8.6 TAP控制器
8.7 使用JTAG进行测试的例子
8.8 Altera的JTAG应用
第九章 时序分析
9.1 时序分析基础
9.2 管脚至管脚延迟tPD和寄存器的时钟输出延迟tCO
9.3 由tPD和tCO得到的时序约束
9.4 插入流水线
9.5 建立时间tSU和保持时间tH
9.6 由tSU和tH得到的时序约束
9.7 时序违规分析
9.8 时序约束脚本
9.9 时序分析工具timeQuest
9.10 时序分析应用实例:引信控制器
第十章 复杂系统设计例子
10.1 UART收发器设计
10.2 MCS51单片机设计
10.3 图像加速器设计
10.4 Huffman编码器设计
Verilog HDL & VHDL 高级设计与实践 李凡
目录 第一章 阅读指南 ............................................................................................................................. 6 第二章 现代数字硬件设计导论 ..................................................................................................... 7 2.1 数字系统设计过程 .......................................................................................................... 10 2.2 早期的人工图纸作业 ...................................................................................................... 10 2.3 ASIC 器件和现场定制需求 .............................................................................................. 10 2.4 基于 ROM 器件的组合逻辑(ROM-Based Combinational Logic) ............................... 10 2.5 PAL 和 PLA 的出现及其工作原理 .................................................................................... 10 2.6 PLD 器件 ........................................................................................................................... 10 2.7 GAL 器件的出现和特点 ................................................................................................... 10 2.8 FPGA 诞生的前夜—CPLD ................................................................................................. 10 2.9 硅谷传奇—Altera 和 Xilinx 的成立 ................................................................................ 10 2.10 Altera 的产品和发展历程 .............................................................................................. 10 2.11 Xilinx 的产品和发展历程 ............................................................................................... 10 2.12 Actel 的产品和发展历程................................................................................................ 10 2.13 FPGA 的结构(Altera) ................................................................................................. 10 2.13.1 FPGA 与 CPLD 的比较 .......................................................................................... 10 2.13.2 FPGA 的资源和平面布置 .................................................................................... 10 2.13.3 FPGA 的查找表 LUT 及其工作原理 .................................................................... 10 2.13.4 FPGA 的 LE 单元 .................................................................................................. 10 2.13.5 FPGA 的锁相环 .................................................................................................... 10 2.13.6 FPGA 对 DDR2/DDR3 的支持 .............................................................................. 10 2.13.7 FPGA 的存储器资源和使用 ................................................................................ 10 2.13.8 FPGA 的基于 RAM 的配置 .................................................................................. 10 2.13.9 FPGA 的在线编程和 JTAG ................................................................................... 10 2.14 FPGA 的应用方向 ........................................................................................................... 10 2.14.1 替代 ASIC 和 ASSP .............................................................................................. 10 2.14.2 高速图像应用 ..................................................................................................... 10 2.14.3 高速 DSP 应用 .................................................................................................... 10 2.14.4 加速器应用 ......................................................................................................... 10 2.14.5 在片系统 SoPC 应用(替代 ASIC 的 ARM 和单片机) .................................... 10 2.14.6 高速串行通信应用 ............................................................................................. 10 2.14.7 先有“芯”后有“片”的转变(现代数字技术标准的应用) ..................... 10 2.14.8 作为 ASIC 器件的准备和过渡 ........................................................................... 10 第三章 现代数字电路基础 ........................................................................................................... 11 3.1 基本逻辑门和 CMOS 电路 .............................................................................................. 11 3.1.1 反相器和 CMOS 电路 ........................................................................................... 13 3.1.2 基本逻辑单元 ....................................................................................................... 15 3.2 输入和输出...................................................................................................................... 19 3.2.1 端口 I/O 标准 ....................................................................................................... 19 3.2.2 逻辑值和噪声容限 ............................................................................................... 25 3.2.3 漏极开路输出(OD)或集电极开路输出(OC) ............................................. 27 3.2.4 端口的上拉(Pull-Up)和下拉() ................................................................... 28 3.2.5 三态输出 ............................................................................................................... 28
3.2.6 端口的扇入和扇出 ............................................................................................... 28 3.3 布尔代数.......................................................................................................................... 28 3.4 德摩根变换...................................................................................................................... 28 3.5 维恩图.............................................................................................................................. 28 3.6 卡诺图和真值表 .............................................................................................................. 28 3.7 二元决策图...................................................................................................................... 28 3.8 组合逻辑设计.................................................................................................................. 28 3.8.1 积之和(SOP)及其表达式 ................................................................................ 28 3.8.2 和之积(POS)及其表达式 ................................................................................ 28 3.8.3 布尔表达式的化简 ............................................................................................... 28 3.9 毛刺和竞争冒险 .............................................................................................................. 28 3.10 时序逻辑设计................................................................................................................ 28 3.10.1 锁存器(Latch)和传输门 ................................................................................ 28 3.10.2 触发器(Flip-Flop) ........................................................................................... 28 3.11 数值类型........................................................................................................................ 28 3.11.1 布尔类型............................................................................................................. 28 3.11.2 有符合数和无符号数 ......................................................................................... 28 3.12 浮点数 ........................................................................................................................... 28 第四章 HDL 基础知识 ................................................................................................................... 28 4.1 数字电路设计概述 .......................................................................................................... 29 4.2 硬件描述语言基础 .......................................................................................................... 32 4.2.1 三种建模方式 ....................................................................................................... 35 4.2.2 数据流建模 ........................................................................................................... 36 4.2.3 行为建模 ............................................................................................................... 36 4.2.4 结构化建模 ........................................................................................................... 36 4.2.5 显示建模和隐式建模 ........................................................................................... 36 4.2.6 信号延迟与中间信号 ........................................................................................... 36 4.2.7 可定参设计 ........................................................................................................... 38 4.2.8 并发-顺序-循环-控制 ........................................................................................... 38 4.2.9 组合逻辑设计例子 ............................................................................................... 38 4.2.10 时序逻辑设计例子 ............................................................................................. 38 4.3 有限状态机设计 .............................................................................................................. 39 4.3.1 有限状态机理论(Mealy ,Moore) ................................................................ 39 4.3.2 有限状态机的三段式编码 ................................................................................... 39 4.3.3 线性序列机 LSM ................................................................................................... 39 4.3.4 状态转移图 STG ................................................................................................... 39 4.3.5 算法机 ASM 和算法流程图 ASMc ....................................................................... 39 4.3.6 显示状态机和隐式状态机 ................................................................................... 39 4.3.7 摩尔机设计例子:LPM 分频器 ........................................................................... 39 4.3.8 米利机设计例子:自动售货机 ........................................................................... 39 4.4 验证 ................................................................................................................................. 39 4.4.1 验证的理论和方法 ............................................................................................... 39 4.4.2 运行仿真的人工方式 ........................................................................................... 39 4.4.3 运行仿真的自动方式(NativeLink) .................................................................. 39
4.5 同步设计.......................................................................................................................... 39 4.5.1 同步设计的概念 ................................................................................................... 39 4.5.2 激励和响应 ........................................................................................................... 39 4.5.3 同步机制 ............................................................................................................... 39 4.5.4 同步翻转噪声(SSN)和功耗............................................................................. 39 4.5.5 时钟节点(Pipeline Node)和时钟域(Clock Domain) .................................. 39 4.5.6 时钟偏斜 Skew 和时钟抖动 Jitter ....................................................................... 39 4.5.7 同步设计中的 One-Clock 原则和时钟流分析(TP 图) ................................... 39 4.5.8 基于时钟节点的时序约束和时序分析 ............................................................... 39 第五章 可综合编码(Coding Style for Synthesis, CSS)........................................................... 40 5.1 编写综合优化的代码 ...................................................................................................... 40 5.2 组合电路的 CSS ............................................................................................................... 49 5.3 优先结构的 CSS ............................................................................................................... 49 5.4 锁存器电路的 CSS ........................................................................................................... 49 5.5 三态门的 CSS ................................................................................................................... 49 5.6 总线接口的 CSS ............................................................................................................... 49 5.7 显示状态机的 CSS ........................................................................................................... 49 5.8 寄存器和计数器的 CSS ................................................................................................... 49 5.9 复位电路的 CSS ............................................................................................................... 49 5.10 层次化和打平................................................................................................................ 49 第六章 不可综合编码(Coding Style for Dis-Synthesis, CSDS) .............................................. 49 6.1 何时需要不可综合代码 .................................................................................................. 49 6.2 时钟信号的 CSDS ............................................................................................................ 49 6.3 顺序信号的 CSDS ............................................................................................................ 49 6.4 状态机的 CSDS ................................................................................................................ 49 6.5 CSDS 用于构建电路模型 ................................................................................................. 49 6.6 CSDS 用于 Testbench ........................................................................................................ 49 第七章 数字系统设计例子 ........................................................................................................... 50 7.1 图像处理.......................................................................................................................... 50 7.2 数字滤波器...................................................................................................................... 50 7.3 流水线架构例子 .............................................................................................................. 50 7.4 环形缓冲器...................................................................................................................... 50 7.5 同步和异步 FIFO ............................................................................................................. 50 7.6 行波进位加法器 .............................................................................................................. 50 7.7 超前进位加法器 .............................................................................................................. 50 7.8 无符号乘法器.................................................................................................................. 50 7.9 有符号乘法器.................................................................................................................. 50 7.10 浮点数乘法器................................................................................................................ 50 第八章 FPGA 和边界扫描 JTAG .................................................................................................... 50 8.1 边界扫描和可测试技术 .................................................................................................. 50 8.2 FPGA 的 JTAG 操作模式 ................................................................................................... 50 8.3 JTAG 寄存器 ...................................................................................................................... 50 8.4 JTAG 指令 .......................................................................................................................... 50 8.5 TAP 寄存器架构 ................................................................................................................ 50
8.6 TAP 控制器 ........................................................................................................................ 50 8.7 使用 JTAG 进行测试的例子 ............................................................................................ 50 8.8 Altera 的 JTAG 应用 .......................................................................................................... 50 第九章 时序分析 ........................................................................................................................... 50 9.1 时序分析基础.................................................................................................................. 50 9.2 管脚至管脚延迟 tPD 和寄存器的时钟输出延迟 tCO ................................................... 50 9.3 由 tPD 和 tCO 得到的时序约束 ...................................................................................... 50 9.4 插入流水线...................................................................................................................... 50 9.5 建立时间 tSU 和保持时间 tH ......................................................................................... 50 9.6 由 tSU 和 tH 得到的时序约束 ........................................................................................ 50 9.7 时序违规分析.................................................................................................................. 50 9.8 时序约束脚本.................................................................................................................. 50 9.9 时序分析工具 timeQuest ................................................................................................ 50 9.10 时序分析应用实例:引信控制器 ................................................................................ 50 第十章 复杂系统设计例子 ........................................................................................................... 50 10.1 UART 收发器设计 ........................................................................................................... 50 10.2 MCS51 单片机设计 ........................................................................................................ 50 10.3 图像加速器设计............................................................................................................ 50 10.4 Huffman 编码器设计...................................................................................................... 50
第一章 阅读指南
第二章 现代数字硬件设计导论 本书讨论的 HDL,与现代数字硬件设计方法有关。数字硬件设计方法的进步与数字电子设备 的进步密不可分。而现代的数字电子设备则直接体现了现代人类的文明进步。从早上的牛奶 -汉堡,iphone5,高速公路,GPS 导航到晚上的 HDTV,这种体现现代文明的电子设备无处不 在。这个时代竟然出现这样的奇迹:10 年前生活的人,比 100 年前的生活的人享受到更多 地技术文明;18 个月前生活的人,显然会比 10 年前的那个人更美好;而生活在当下这一刻 的人们,完全可能会比 18 个月前的人,甚至比 6 个月前的人具有更多的技术特权。没有必 要也不可能了解所有这些人类进步的细节,但我们必须清楚地知道这些人类进步来自何处: 好像并非完全来自达尔文的物种进化历程,并非来自征服者的强权统治。确确实实地,它来 自人类高级智慧活动本身,这种高级智慧活动,并不完全适用达尔文物竞天泽,适者生存所 述的自然淘汰的进化原则,在数千万年生物进化的历程中,没有看到过如此惊奇的进化方式: 物种中的某个个体的发现或知识,可以迅速地传播至整个物种,并可以将这些知识迅速地进 行积淀。自然界中不存在的这些人类的高级智慧行为(姑且称为超自然行为)包括:知识的 传播和研究(大学),民主政治(议会制度),体育和文艺活动(艺术家)等等。当然,达尔 文物种进化的自然原则在人类中也普遍存在,例如:军队和战争(非洲蚂蚁),领土争端(狼 的领地),领袖和统治(狮子社会)等等。人类世界的未来,究竟是由上帝决定,还是我们 自己,这的确是一个未知数。 好在本书并不是一本讨论物种进化的书,而是一本论述现代硬件设计技术的书,这样,我们 就可以比较客观地从历史和物理两个角度来叙述它。 从 17 世纪到 19 世纪,物理学领域的发生的四个重要事件开启了现代人类文明的进程,它们 是:牛顿的经典物理学,麦克斯韦的电磁方程组,爱因斯坦的相对论以及普朗克的量子力学。 虽然现代物理学的重大进展促进了人类进步,但技术(technology)领域的发展速度却十分 惊人,典型的例子就是美国硅谷的摩尔周期:18 个月诞生一代新技术(注:Gordon Moore 在 1965 年预言集成电路的密度将每年翻一倍,但实际速度是每 18~20 个月翻一倍,并保持 这个速度近 40 年)。 从某种意义上说,现代人类文明的进程也就是电子技术进步的进程。一种新器件的诞生,背 后有基础科学的支持,市场的需求和发明者的创新和探索。而新器件而应用将更进一步促进 更多更新的需求出现,根据新出现的器件和需求,传统的设计方法和设计理论不断被更新, 据此诞生出新的电子设备,从而使得我们的世界日新月异。 新设计方法 新器件 新需求 新设备 新设备 新设备 图 2-1:新器件的发明促成新的设计方法和新的电子设备
1904 年,英国物理学家英国物理学家约翰.弗莱明(John Fleming)发明世界上第一个电子管, 图 2-2:电子管的发明和 ENIAC 计算机 人类有了电子管之后,1909 年马克尼(Guglielmo Marconi)使用它制作出世界上第一台无线 电收发报机,从此人类具有了无线远距离通信的技术特权。之后诞生的无线电收音机,使得 几乎整整一代人为之受益,人们可以迅速获知最新的消息,收听音乐,这使得 20 世纪的人 类比之前的人类更幸福。1946 年 2 月 14,美国宾夕法尼亚大学诞生了世界上第一台计算机 埃尼阿克(ENIAC:The Electronic Numerical Integrator And Calculator),ENIAC 则使用电子管 作为其主要工作器件。 1947 年 12 月,美国贝尔实验室的肖克利(Shockley,William Bradford)团队研发出基于固体 物理技术的锗半导体三极管,较之电子管,它小型化,低功耗的特性立刻引起世界的关注, 从而引发一场新的技术革命。几乎原先电子管的所有设备都可以被晶体管取代,晶体管不仅 用于通信和计算机,还用于许多控制领域。 图 2-3:贝尔实验室和肖克利的晶体管
分享到:
收藏