FPGA书籍

news2024/11/30 6:53:55

1、Xilinx FPGA 权威设计指南

  本书系统地介绍了Xilinx新一代集成开发环境Vivado 2018的设计方法、设计流程和具体实现。

  全书共11章,内容包括Xilinx新一代UltraScale结构、Vivado集成设计环境导论、Vivado工程模式基本设计实现、Vivado非工程模式基本设计实现、创建和封装用户IP核流程、Vivado高级约束原理及实现、Vivado调试工具原理及实现、Vivado部分可重配置原理及实现、Vivado HLS原理详解、Vivado HLS实现过程详解、HDMI显示屏驱动原理和实现。

在这里插入图片描述

图1 Xilinx FPGA 权威书籍指南

  参考了Xilinx新一代的Vivado 2018设计套件设计资料,理论与应用并重,将Xilinx新一代的设计理论贯穿在具体的设计实现中,目录如下:

目 录

第 1 章 Xilinx新一代UltraScale结构 1

1.1 UltraScale结构特点 1

1.2 可配置逻辑块 2

1.2.1 可配置逻辑块的特点 2

1.2.2 多路复用器 6

1.2.3 进位逻辑 9

1.2.4 存储元素 13

1.2.5 分布式RAM 16

1.2.6 只读存储器(ROM) 18

1.2.7 移位寄存器 21

1.3 时钟资源和时钟管理模块 23

1.3.1 时钟资源 25

1.3.2 时钟管理模块 28

1.4 块存储器资源 29

1.5 专用的DSP模块 33

1.6 SelectIO资源 36

1.7 高速串行收发器 41

1.8 PCI-E模块 43

1.9 Interlaken集成块 43

1.10 Ethernet模块 43

1.11 系统监控器模块 44

1.12 配置模块 44

1.13 互联资源 45

第 2 章 Vivado集成设计环境导论 46

2.1 Vivado系统级设计流程 46

2.2 Vivado功能和特性 48

2.3 Vivado中电路结构的网表描述 49

2.4 Vivado中工程数据的目录结构 50

2.5 Vivado中Journal文件和Log文件功能 50

2.5.1 Journal文件(Vivado.jou) 50

2.5.2 Log文件(Vivado.log) 51

2.6 Vivado两种设计流程模式 52

2.6.1 工程模式和非工程模式不同点比较 53

2.6.2 工程模式和非工程模式命令的不同 53

2.7 Vivado中的XDC文件 55

2.7.1 XDC的特性 55

2.7.2 XDC与UCF比较 55

2.7.3 约束文件的使用方法 56

2.7.4 约束顺序 56

2.7.5 XDC约束命令 58

2.8 Vivado集成设计环境的启动方法 59

2.9 Vivado集成设计环境主界面 60

2.10 Vivado设计主界面及功能 63

2.10.1 流程处理主界面及功能 63

2.10.2 工程管理器主界面及功能 64

2.10.3 工作区窗口 66

2.10.4 设计运行窗口 67

2.11 Vivado支持的属性 68

第 3 章 Vivado工程模式基本设计实现 76

3.1 创建新的设计工程 76

3.2 创建并添加一个新的设计文件 80

3.3 RTL详细描述和分析 85

3.3.1 详细描述的实现 85

3.3.2 生成HDL例化模板 87

3.4 设计综合和分析 89

3.4.1 综合过程的关键问题 89

3.4.2 设计综合选项 89

3.4.3 执行设计综合 92

3.4.4 综合报告的查看 96

3.5 设计行为级仿真 97

3.6 创建实现约束 102

3.6.1 实现约束的原理 102

3.6.2 I/O规划器功能 103

3.6.3 添加引脚约束 104

3.6.4 添加简单的时钟约束 109

3.7 设计实现和分析 111

3.7.1 设计实现原理 112

3.7.2 设计实现选项 112

3.7.3 设计实现及分析 117

3.7.4 静态时序分析 123

3.8 设计时序仿真 126

3.9 生成编程文件 127

3.9.1 配置器件属性 127

3.9.2 生成可编程文件 128

3.9.3 生成可编程文件选项 128

3.10 下载比特流文件到FPGA 130

3.11 生成并烧写PROM文件 132

第 4 章 Vivado非工程模式基本设计实现 136

4.1 非工程模式基本命令和功能 136

4.1.1 非工程模式基本命令列表 136

4.1.2 典型Tcl脚本的使用 137

4.2 Vivado集成开发环境分析设计 138

4.2.1 启动Vivado集成开发环境 138

4.2.2 打开设计检查点的方法 139

4.3 修改设计路径 139

4.4 设置设计输出路径 140

4.5 读取设计文件 140

4.6 运行设计综合 141

4.7 运行设计布局 142

4.8 运行设计布线 144

4.9 生成比特流文件 145

4.10 下载比特流文件 145

第 5 章 创建和封装用户IP核流程 148

5.1 Vivado定制IP流程 148

5.2 创建并封装包含源文件的IP 149

5.2.1 创建新的用于创建IP的工程 149

5.2.2 设置定制IP的库名和目录 150

5.2.3 封装定制IP的实现 151

5.3 调用并验证包含源文件的IP设计 155

5.3.1 创建新的用于调用IP的工程 156

5.3.2 设置包含调用IP的路径 156

5.3.3 创建基于IP的系统 158

5.3.4 系统行为级仿真 162

5.3.5 系统设计综合 165

5.3.6 系统实现和验证 166

5.4 创建并封装不包含源文件的IP 166

5.4.1 创建网表文件 166

5.4.2 创建新的设计工程 167

5.4.3 设置定制IP的库名和目录 168

5.4.4 封装定制IP的实现 168

5.5 调用并验证不包含源文件的IP设计 169

5.5.1 创建新的用于调用IP的工程 169

5.5.2 设置包含调用IP的路径 170

5.5.3 创建基于IP的系统 170

5.5.4 系统设计综合 171

第 6 章 Vivado高级约束原理及实现 173

6.1 时序检查概念 173

6.1.1 基本术语 173

6.1.2 时序路径 173

6.1.3 建立和保持松弛 175

6.1.4 建立和保持检查 176

6.1.5 恢复和去除检查 179

6.2 时序约束概念 180

6.2.1 时钟定义 180

6.2.2 时钟组 186

6.2.3 I/O延迟约束 189

6.2.4 时序例外 192

6.3 生成时序报告 205

6.4 添加时序约束 212

6.4.1 时序约束策略1 212

6.4.2 时序约束策略2 214

6.5 物理约束原理 219

6.5.1 网表约束 219

6.5.2 布局约束 220

6.5.3 布线约束 221

6.6 布局约束实现 223

6.6.1 修改综合属性 224

6.6.2 布局约束方法 224

6.7 布线约束实现 227

6.7.1 手工布线 227

6.7.2 进入分配布线模式 228

6.7.3 分配布线节点 230

6.7.4 取消分配布线节点 230

6.7.5 完成并退出分配布线模式 230

6.7.6 锁定LUT负载上的单元输入 231

6.7.7 分支布线 231

6.7.8 直接约束布线 233

6.8 修改逻辑实现 233

6.9 配置约束原理 235

6.10 增量编译 235

6.10.1 增量编译流程 235

6.10.2 运行增量布局和布线 236

6.10.3 使用增量编译 238

6.10.4 增量编译高级分析 240

第 7 章 Vivado调试工具原理及实现 241

7.1 设计调试原理和方法 241

7.2 创建新的设计 242

7.2.1 创建新的FIFO调试工程 242

7.2.2 添加FIFO IP到设计中 243

7.2.3 添加顶层设计文件 246

7.2.4 使用HDL例化添加FIFO到设计中 247

7.2.5 添加约束文件 251

7.3 网表插入调试探测流程方法及实现 253

7.3.1 网表插入调试探测流程的方法 253

7.3.2 网表插入调试探测流程的实现 255

7.4 使用添加HDL属性调试探测流程 261

7.5 使用HDL例化调试核调试探测流程 262

7.6 VIO原理及应用 267

7.6.1 设计原理 267

7.6.2 添加VIO核 268

7.6.3 生成比特流文件 271

7.6.4 下载并调试设计 272

第 8 章 Vivado部分可重配置原理及实现 274

8.1 可重配置导论 274

8.1.1 可重配置的概念 274

8.1.2 可重配置的应用 275

8.1.3 可重配置的特点 278

8.1.4 可重配置术语解释 280

8.1.5 可重配置的要求 282

8.1.6 可重配置的标准 283

8.1.7 可重配置的流程 285

8.2 基于工程的部分可重配置实现 285

8.2.1 设计原理 285

8.2.2 建立可重配置工程 289

8.2.3 创建新的分区定义 291

8.2.4 添加新的可重配置模块 292

8.2.5 设置不同的配置选项 294

8.2.6 定义分区的布局 298

8.2.7 执行DRC 301

8.2.8 实现第一个运行配置并生成比特流文件 302

8.2.9 实现第二个运行配置并生成比特流文件 304

8.2.10 实现第三个运行配置并生成比特流文件 304

8.2.11 实现第四个运行配置并生成比特流文件 305

8.2.12 下载不同运行配置的部分比特流 305

8.3 基于非工程的部分可重配置实现 307

8.3.1 查看脚本 307

8.3.2 综合设计 309

8.3.3 实现第一个配置 310

8.3.4 实现第二个配置 315

8.3.5 验证配置 317

8.3.6 生成比特流 317

8.3.7 部分重配置FPGA 318

8.4 部分重配置控制器PRC的原理及应用 320

8.4.1 部分重配置控制器原理 320

8.4.2 实现原理 324

8.4.3 创建和配置新的设计 325

8.4.4 添加ILA核 327

8.4.5 添加和设置PRC核 328

8.4.6 设置不同的配置选项 331

8.4.7 定义分区的布局 334

8.4.8 实现第一个运行配置并生成比特流文件 335

8.4.9 实现第二个运行配置并生成比特流文件 337

8.4.10 实现第三个运行配置并生成比特流文件 337

8.4.11 创建板支持包工程 338

8.4.12 创建应用程序工程 339

8.4.13 创建zynq_fsbl应用 343

8.4.14 创建启动镜像 343

8.4.15 从SD卡启动引导系统 345

第 9 章 Vivado HLS原理详解 347

9.1 高级综合工具概述 347

9.1.1 高级综合工具的功能和特点 347

9.1.2 Vivado HLS工具的优势 348

9.1.3 HLS中使用术语说明 349

9.1.4 从C中提取硬件结构 350

9.1.5 不同的命令对HLS综合结果的影响 352

9.2 高级综合工具调度和绑定 354

9.2.1 高级综合工具调度 355

9.2.2 高级综合工具绑定 355

9.3 C代码的关键属性 356

9.3.1 函数 357

9.3.2 类型 357

9.3.3 循环 364

9.3.4 数组 366

9.3.5 I/O端口 366

9.3.6 运算符 367

9.4 C代码级和RTL级算法验证 368

9.5 添加命令 370

9.6 延迟和吞吐量的概念 373

9.6.1 设计延迟 373

9.6.2 设计吞吐量 374

9.7 改善延迟 374

9.7.1 延迟最小化 374

9.7.2 用户延迟的定义 375

9.7.3 循环的处理 377

9.8 改善吞吐量 380

9.8.1 数据流优化 381

9.8.2 流水线优化 384

9.9 性能瓶颈——数组 390

9.9.1 数组分割 391

9.9.2 数组重组 394

9.9.3 数据打包 395

9.10 改善面积和资源 396

9.10.1 绑定配置 396

9.10.2 分配命令 397

9.10.3 指定资源 397

9.10.4 函数内联 398

9.10.5 循环合并和平坦化 401

9.10.6 映射数组 401

9.10.7 任意精度整数 403

9.11 I/O类型 404

9.11.1 组合和时序逻辑设计 404

9.11.2 Vivado HLS I/O选项 405

9.11.3 模块级协议说明 408

9.11.4 端口级I/O协议 412

9.12 命令和编译指示 422

第 10 章 Vivado HLS实现过程详解 425

10.1 FIR滤波器不同语言的描述方式 425

10.1.1 C语言描述风格 425

10.1.2 C++语言描述风格 427

10.1.3 SystemC语言描述风格 428

10.2 Vivado HLS不支持的操作 429

10.3 测试平台编码 431

10.4 指针的使用 432

10.5 流的使用 437

10.6 支持库 438

10.6.1 FFT 439

10.6.2 FIR 442

10.6.3 移位寄存器 446

10.6.4 线性算法库 447

10.6.5 OpenCV库 448

10.7 Vivado HLS数字系统实现 453

10.7.1 基于HLS实现组合逻辑 453

10.7.2 基于HLS实现时序逻辑 468

10.7.3 基于HLS实现矩阵相乘 476

第 11 章 HDMI显示屏驱动原理和实现 495

11.1 HDMI的发展历史 495

11.2 HDMI视频显示接口定义 496

11.3 HDMI链路结构 497

11.4 HDMI链路时序要求 499

11.5 HDMI编码算法 500

11.6 HDMI并行编码数据转换原理及实现 504

11.6.1 数据并行-串行转换 505

11.6.2 三态并行-串行转换器 505

11.6.3 OSERDESE2原语 505

11.6.4 TMDS信号转换模块 508

11.6.5 HDMI并行编码数据转换的实现 508

11.7 系统整体设计结构 510

附录 a7-edp-1开发板原理图 512

  如果是使用Xlinx的相关芯片,这本书作为入门还是可以的,在微信公众号后台回复 Xilinx FPGA 权威设计指南 进行获取。

2、FPGA从入门到精通

  本书由至芯科技教研组从各大高校的授课内容中整理而来,是为初学者量身定制的FPGA入门教材,从基础的软件安装、工具使用、语法解释、设计方法、常用IP,到最后的设计技巧及大量的进阶实例,内容环环相扣,为初学者建立了一个比较清晰的学习路径。
在这里插入图片描述

图2 FPGA从入门到精通

  设计思路及方法”为本书的重点强调内容,本书没有收录过多烦琐的理论,一切从实战出发,按照一套相对高效的设计方法直接切入一个个小的实例。目录如下:

第1章 没有金刚钻,不揽瓷器活 1

1.1 Quartus II 19.1――易学易用的编译器 1

1.2 ModelSim――独具慧眼的仿真工具 8

1.3 级联调试实战演练 8

第2章 谆谆教诲莫相忘,字字珠玑记心头 30

2.1 赋值语句实战演练 30

2.1.1 非阻塞型过程赋值语句 30

2.1.2 阻塞型过程赋值语句 32

2.2 关系运算符实战演练 34

2.2.1 关系运算符的种类 34

2.2.2 关系运算符与算术运算符优先级 34

2.3 if-else与case语句实战演练 35

2.3.1 if-else条件分支语句 35

2.3.2 case分支控制语句 39

2.4 缩减运算符实战演练 41

2.5 移位运算符实战演练 44

2.6 位拼运算符实战演练 46

第3章 工欲善其事,必先利其器 49

3.1 计数器实战演练 49

3.1.1 设计原理 49

3.1.2 代码说明 50

3.1.3 仿真分析 51

3.2 呼吸灯实战演练 51

3.2.1 设计原理 51

3.2.2 系统框架 52

3.2.3 代码说明 53

3.2.4 仿真分析 55

第4章 磨刀不误砍柴工,层次设计立头功 57

4.1 层次化设计实战演练 57

4.1.1 项目需求 57

4.1.2 系统架构 58

4.1.3 模块设计 58

4.1.4 代码说明 59

4.1.5 仿真分析 62

4.1.6 验证分析 63

4.2 分频器设计实战演练 73

4.2.1 偶分频设计 73

4.2.2 奇分频设计 75

第5章 内涵丰富本领多,谁与IP核争锋 79

5.1 锁相环实战演练 79

5.1.1 项目需求 80

5.1.2 操作步骤 80

5.1.3 模块设计 84

5.1.4 代码说明 85

5.1.5 仿真分析 86

5.1.6 使用Locked信号 87

5.2 ROM实战演练 89

5.2.1 项目需求 90

5.2.2 操作步骤 90

5.2.3 模块设计 94

5.2.4 代码说明 95

5.2.5 仿真分析 97

5.3 RAM实战演练 98

5.3.1 项目需求 98

5.3.2 操作步骤 98

5.3.3 模块设计 101

5.3.4 代码说明 101

5.3.5 仿真分析 105

5.4 FIFO实战演练 106

5.4.1 项目需求 106

5.4.2 操作步骤 106

5.4.3 模块设计 109

5.4.4 代码说明 111

5.4.5 仿真分析 116

5.5 移位寄存器实战演练 117

5.5.1 项目需求 117

5.5.2 操作步骤 118

5.5.3 模块设计 120

5.5.4 代码说明 121

5.5.5 仿真分析 125

第6章 基础项目我在行,信手拈来显聪慧 126

6.1 边沿检测电路实战演练 126

6.1.1 电路原理分析 126

6.1.2 系统框架 127

6.1.3 代码说明 128

6.1.4 仿真分析 130

6.2 按键消抖实战演练 130

6.2.1 设计思路 131

6.2.2 系统框架 131

6.2.3 代码说明 132

6.2.4 仿真分析 135

6.3 二进制数转BCD实战演练 136

6.3.1 逐步移位法原理 136

6.3.2 设计任务 137

6.3.3 系统框架 137

6.3.4 代码说明 139

6.3.5 仿真分析 141

6.4 数码管实战演练 142

6.4.1 项目需求 142

6.4.2 单个数码管显示 144

6.4.3 6个数码管显示 147

6.5 综合项目实战演练 154

6.5.1 项目要求 154

6.5.2 各模块的功能说明 154

6.5.3 RTL视图 154

6.5.4 仿真分析 155

第7章 没有标准的方法,但见可行的技巧 156

7.1 异步复位同步释放实战演练 156

7.1.1 同步复位和异步复位 156

7.1.2 异步复位同步释放 159

7.2 流水线实战演练 166

7.2.1 流水线的基本概念 166

7.2.2 流水线的应用实例 167

7.3 状态机实战演练 173

7.3.1 状态机的基本概念 173

7.3.2 状态机的应用实例 175

第8章 进阶首选我当前,乘胜追击势必行 184

8.1 TLC549实战演练 184

8.1.1 设计原理 184

8.1.2 系统架构 186

8.1.3 模块功能 186

8.1.4 代码说明 187

8.1.5 仿真分析 195

8.2 TLC5620实战演练 195

8.2.1 设计原理 195

8.2.2 系统架构 199

8.2.3 模块功能 199

8.2.4 代码说明 200

8.2.5 仿真分析 207

8.3 VGA实战演练 207

8.3.1 设计原理 207

8.3.2 系统框架 211

8.3.3 代码说明 211

8.3.4 仿真分析 216

8.4 串口通信实战演练 216

8.4.1 设计原理 216

8.4.2 系统架构 218

8.4.3 代码说明 219

8.4.4 仿真分析 228

8.5 DDS实战演练 228

8.5.1 数据生成 228

8.5.2 代码说明 229

8.5.3 仿真分析 231

8.6 蜂鸣器实战演练 232

8.6.1 设计原理 232

8.6.2 数据生成 233

8.6.3 系统架构 235

8.6.4 代码说明 235

8.7 I2C实战演练 242

8.7.1 设计原理 242

8.7.2 系统架构 243

8.7.3 代码说明 243

8.7.4 仿真分析 256

  这本书作为入门还是可以的,在微信公众号后台回复 FPGA从入门到精通 获取。

3、数字逻辑基础与Verilog设计(原书第3版)

  在逻辑电路的具体设计中,强调硬件描述语言(HDL)的使用,因为基于HDL的方法在实际应用中是最有效的。本书详细介绍了IEEE标准的Verilog HDL语言,并且在例子中广泛使用。

  本书第3版的结构进行了较大的改进,第1~6章覆盖一个学期内该课程所需讲述的所有内容,而第7~11章则介绍更先进的内容。

  第1章概述了数字系统的设计流程,讨论了设计流程中的关键步骤,解释了如何运用CAD工具自动实现所要求的众多工作;同时介绍了数字信息的表示方式。

  第2章介绍了逻辑电路的基本知识,展示了如何使用布尔代数表示逻辑电路;介绍了逻辑电路综合和优化的概念,展示了如何使用逻辑门实现简单电路。第一次向读者展现Verilog,一个可用于描述逻辑电路的硬件描述语言例子。

  第3章重点讲述了算术运算电路,讨论了数字系统中数字的表示方式,并说明了这样的数字如何运用到逻辑电路中。另外,该章还阐述了如何使用Verilog详细描述所期望的功能,以及CAD工具如何提供开发所期望电路的机制。

  第4章介绍了用作构建模块的组合电路,包括编码器、译码器及多路选择器。这些电路非常便于阐明众多借助Verilog构建的应用,给读者提供了一个揭示Verilog更多高级特性的机会。

  第5章介绍了存储单元,讨论了采用触发器实现的规则结构,如移位寄存器和计数器,并给出了这些结构的Verilog描述。

  第6章详细阐明了同步时序电路(有限状态机),解释了这些电路的行为,并介绍了用手工和自动两种方法进行实际设计开发的技术。

  第7章讨论了系统设计中经常遇到的问题及其解决办法,介绍了一个较大规模的数字系统层次化设计的例子,并给出了完整的Verilog代码。

第8章介绍了逻辑功能优化实现的更加先进的技术,提供了优化算法;解释了如何与二元决策图一样使用一种立方体表示法指定逻辑功能。

在这里插入图片描述

图3 数字逻辑基础与Verilog设计(原书第3版)

  第9章讨论了异步时序电路。虽然没有面面俱到地叙述,但清晰展示了时序电路的主要特性。尽管异步时序电路在实际中的应用并不是很广泛,但是它们提供了一个深刻理解数字电路操作的非常好的途径。该章还展示了可能存在于电路结构内部的传播延迟和冒险竞争。

  第10章给出了设计者在设计、实现及测试数字电路过程中经历的一个完整的CAD流程。

  第11章介绍了电路的测试。逻辑电路的设计者必须清楚意识到电路测试的必要性,至少应熟悉测试最基本的知识。

  目录如下:

第1章引言1

1.1数字硬件1

1.2设计流程3

1.3计算机结构4

1.4本书中的逻辑电路设计5

1.5信息的数字化表示5

1.6理论与实践9

习题10

参考文献10

第2章逻辑电路导论11

2.1变量与函数11

2.2反相12

2.3真值表13

2.4逻辑门和网络14

2.5布尔代数17

2.6利用“与”门、“或”门和“非”门进行综合23

2.7“与非”和“或非”逻辑网络电路28

2.8设计实例31

2.9CAD工具介绍34

2.10Verilog简介37

2.11最简化和卡诺图41

2.12最小化策略46

2.13和之积形式的最简式49

2.14非完整定义函数(无关项)50

2.15多输出电路51

2.16小结53

2.17解决问题的实例53

习题58

参考文献61

第3章数的表示方法和算术运算电路62

3.1按位计数法(数的位置表示法)62

3.2无符号数的加法运算64

3.3有符号数67

3.4快速加法器75

3.5使用CAD工具设计算术运算电路79

3.6乘法88

3.7其他数的表示方式90

3.8解决问题的实例94

习题97

参考文献99

第4章组合电路模块100

4.1多路选择器100

4.2译码器105

4.3编码108

4.4代码转换器109

4.5算术比较电路109

4.6用Verilog设计组合逻辑电路110

4.7小结121

4.8解决问题的实例121

习题126

参考文献128

第5章触发器、寄存器和计数器129

5.1基本锁存器129

5.2门控SR锁存器131

5.3门控D锁存器132

5.4边沿触发的D触发器134

5.5T触发器139

5.6JK触发器139

5.7术语小结140

5.8寄存器140

5.9计数器142

5.10复位同步147

5.11其他类型的计数器149

5.12用CAD工具设计含存储元件的电路151

5.13用Verilog构建寄存器和计数器156

5.14设计举例160

5.15触发器电路的时序分析164

5.16小结167

5.17解决问题的实例167

习题171

参考文献174

第6章同步时序电路175

6.1基本设计步骤176

6.2状态分配问题183

6.3Mealy状态模型185

6.4采用CAD工具设计有限状态机188

6.5串行加法器实例193

6.6状态最小化197

6.7基于时序电路的计数器设计202

6.8仲裁电路的FSM207

6.9同步时序电路的分析209

6.10算法状态机流程图211

6.11时序电路的形式模型213

6.12小结214

6.13解决问题的实例214

习题219

参考文献220

第7章数字系统设计222

7.1总线结构222

7.2简单的处理器227

7.3位计数电路234

7.4移位和加乘法器238

7.5除法器242

7.6算术平均248

7.7排序操作251

7.8时钟同步和时序问题258

7.9小结260

习题261

参考文献262

第8章逻辑函数的优化实现264

8.1多级综合264

8.2多级电路分析271

8.3逻辑函数的其他表示方法273

8.4基于立方体表示法的优化技术279

8.5小结288

8.6解决问题的实例289

习题293

参考文献294

第9章异步时序电路296

9.1异步行为296

9.2异步电路分析298

9.3异步电路综合303

9.4状态化简309

9.5状态分配316

9.6冒险324

9.7一个完整的设计实例328

9.8小结331

9.9解决问题的实例332

习题335

参考答案337

第10章计算机辅助设计工具338

10.1综合338

10.2物理设计342

10.3小结345

参考文献345

第11章逻辑电路测试346

11.1故障模型346

11.2测试集的复杂度347

11.3路径敏化348

11.4树形结构电路350

11.5随机测试351

11.6时序电路的测试353

11.7内建自测试355

11.8印制电路板359

11.9小结361

习题362

参考文献363

这本书作为入门还是可以的,在微信公众号后台回复 数字逻辑基础与Verilog设计(原书第3版) 获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48929.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java-1129

Java8 新特性 速度更快代码更少(lambda、stream)强大的Stream API便于并行最大化减少空指针异常Optional 速度更快:对底层数据结构哈希map的优化 解释说明hashmap基本原理 hashmap本质是一个长度16的数组元素的键值对以key:valu…

强化学习实战——Motion Imitation环境配置+所遇问题(win10)

GitHub代码 注意:本篇环境配置是基于上一篇强化学习实战——OpenAI Gym环境配置实战演示(win10)环境的延续!!! 一、环境配置 1)下载requirements.txt内安装包 问题1:pybullet不能…

天图资本通过香港上市聆讯:上半年利润下滑24%,王永华为董事长

11月29日,深圳市天图投资管理股份有限公司(下称“天图投资”)通过港交所聆讯并在港交所递交了聆讯后资料集(即招股书)。相较于此前招股书,天图资本补充了截至2022年6月30日的财务数据等信息。 招股书显示&a…

哪个牌子蓝牙耳机打电话清晰?通话最清晰的蓝牙耳机推荐

随着蓝牙耳机的普及,越来越多的数码产品如笔记本、平板等都要配有蓝牙耳机,因此,市场对于大电视、多用途、高性能的无线蓝牙耳机的需求不断扩张。蓝牙耳机再这几年不但才音质上采用了最新的技术,通话方面也有改进,下面…

测试开发之路,我在大厂做测试这四年的感悟

开篇 当开始写这篇文章时候,才感受到人生如白驹过隙,4 年时间飞逝,自己也从一个初入职场小白到能肩负项目核心事务的测试开发。在这里,总结 4 年来的心智成长之路,也是借机互相交流,并无对错之争&#xff…

Java web 项目Tamcat在IDEA控制台输出乱码

遇到乱码问题怎么解决呢? 出现乱码其实就是编码格式有问题,设置一下呗,我们先查看一下编码格式,在改一下 1.查看编码格式 首选进入Tamcat安装的根目录 进入conf目录 找到logging.prooperties文件并打开 查看编码格式 编码格式为…

单机服务器docker搭建mysql5.7主从同步

1.首先使用docker安装mysql5.7 docker pull mysql:5.7 2.创建主库(从3306映射一个3308端口) docker run -d -p 3308:3306 -v /home/mysql-master/conf:/etc/mysql/conf.d -v /home/mysql-master/data:/var/lib/mysql -v /home/mysql-master/log:/var/lo…

启程,2022亚马逊云科技re:Invent Peter带来主题演讲

北京时间11月29日,2022亚马逊云科技re:Invent全球大会开幕首日,亚马逊云科技高级副总裁Peter DeSantis带来最新创新产品隆重登场,其间不乏计算、网络、算法及Serverless等最新功能特性。 网络协议创新:新产品 新理念 基于亚马逊…

MCUXpresso IDE下高度灵活的FreeMarker链接文件模板机制

一、准备工作 首先需要准备好环境,包含必要的软件,痞子衡的环境如下: 集成开发环境: MCUXpresso IDE_11.6.0_8187,点此下载软件开发包: SDK_2.12.1_EVK-MIMXRT1170(Toolchain需包含MCUXpresso I…

这么卷,现在测试工程师要求会写工具了?

Fintech概念正受到不少互联网金融公司的热捧,主要是指代那些可用于撕裂传统金融服务方式的高新技术。越来越多的企业开辟了新的部门去研究各种各样能让自己产品增值的科技类产品。 尤其是在很多互联网金融公司,业务分析师BA(Business Analyst)&#xff…

【Linux】-- 初识操作系统

目录 一、冯诺依曼体系结构 二、操作系统 1.概念 2.为什么要有操作系统 三.操作系统 1.硬件层 2.驱动层 3.操作系统层 4.用户层 (1)用户层 (2)系统调用接口 (3)用户操作接口 四、如何管理 1…

C. Zero-Sum Prefixes Codeforces Round #833 (Div. 2)(前缀和+贪心)

传送门 题意: 给你一个长度为n的数组,里面包含a1,a2,a3...an n个元素, 当的时候,你可以将变成任意数字, 问你经过任意次操作后对于,它的前i项和为0的个数是最大是多少? 思路: …

27岁自学Python转行靠谱吗?入行晚吗?

前言 今年已经奔三的小编来给大家说说,之前自己也是在一个普通的二本院校上学,学的还是工商管理,毕竟读书的时候电视剧里面的主角都是工商管理的大佬。 不过在毕业之后就经历了社会的毒打,后面小编就想去换一个工作,…

[附源码]计算机毕业设计springboot交通事故档案管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

jsp192ssm驾校报名预约管理系统

目 录 汽车驾校管理系统设计与实现 I 摘 要 I ABSTRACT I 目 录 III 第1章 绪论 3 1.1开发背景 3 1.2开发意义 3 1.3研究内容 3 第2章 主要技术和工具介绍 3 2.1SSM 框架 错误!未定义书签。 2.1.1. Spring 框架 3 2.1.2 SpringS…

clickhouse远程访问Oracle 11g数据库(clickhouse-jdbc-bridge)

1、简介 clickhouse-jdbc-bridge:是clickhouse提供的一个jdbc组件,用于通过JDBC的方式远程访问其他数据库表。 2、安装 (1)下载源文件并打包获取clickhouse-jdbc-bridge-2.0.7-shaded.jar 在官网:https://github.c…

stc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中)

文章目录stc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中)概述笔记原理图ENDstc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中) 概述 为板子写测试程序, 整到12864 LCD这里. STC原厂工程只提供并口通讯. 找了网上同学的串口通讯实现, 整理了一下, 将串…

当成为全球第二大汽车出口国后,中国车企的下一步是什么?

新一轮汽车出口浪潮在疫情期间悄然启动,中国汽车工业协会发布数据显示,自2021年起,汽车出口销量呈现高速增长的势头,2022年前三季度汽车出口量超过2021年全年出口量,并超越德国,成为仅次于日本的全球第二大…

熊市链游模型如何设计开发?

GameFi的全局趋势 自第一款视频游戏诞生以来,游戏世界已经发生了翻天覆地的变化。技术和玩游戏的目的是不断围绕游戏本身发展着的两件主要事情。曾经的街机游戏、主机游戏、电脑游戏,再到如今智能手机时代,手机游戏已经无处不在。随着时间的…

Navicat 被广泛的应用于各行各业的原因

近期,Navicat 发起了一场用户线上投票活动,受到了众多用户的关注和热情响应!今天,我们就带大家了解此次投票数据通过用户的职业、使用频率、连接的数据库种类以及最常用的功能,通过用户视角了解 Navicat 产品的适用范畴…