第1 章 FPGA 技术分析/ 1 1.1 芯片架构的演变 / 1 1.2 设计方法的演变 / 15 1.3 面临的挑战 / 20 1.4 四大基本原则 / 23 1.5 性能指标 / 29 1.6 思考空间 / 31 第2 章 优化时钟网络/33 2.1 时钟资源 / 33 2.2 时钟偏移 / 55 2.3 时钟抖动 / 68 2.4 **的时钟启动方式 / 75 2.5 时钟规划 / 79 2.6 创建输出时钟 / 84 2.7 思考空间 / 84 第3 章 优化组合逻辑/86 3.1 组合逻辑资源 / 86 3.2 译码器代码风格 / 87 3.3 编码器代码风格 / 94 3.4 多路复用器代码风格 / 103 3.5 多路解复用器代码风格 / 116 3.6 比较器代码风格 / 118 3.7 移位器代码风格 / 130 3.8 加法器代码风格 / 135 3.9 奇偶校验电路代码风格 / 163 3.10 二进制码与格雷码互转电路代码风格 / 165 3.11 避免组合逻辑环路 / 168 3.12 慎用full_case 和parallel_case / 169 3.13 思考空间 / 175 第4 章 优化触发器/ 176 4.1 触发器资源 / 176 4.2 建立时间和保持时间 / 183 4.3 亚稳态 / 185 4.4 控制集 / 188 4.5 复位信号的代码风格 / 194 4.6 同步边沿检测电路代码风格 / 204 4.7 串并互转电路代码风格 / 206 4.8 避免意外生成的锁存器 / 211 4.9 思考空间 / 216 第5 章 优化移位寄存器/ / 218 5.1 移位寄存��资源 / 218 5.2 移位寄存器的代码风格 / 222 5.3 移位寄存器的应用场景 / 234 5.4 管理时序路径上的移位寄存器 / 236 5.5 思考空间 / 240 第6 章 优化存储器/ 242 6.1 存储器资源 / 242 6.2 单端口RAM 代码风格 / 255 6.3 简单双端口RAM 代码风格 / 269 6.4 真双端口RAM 代码风格 / 277 6.5 RAM 的初始化与ROM 代码风格 / 284 6.6 同步FIFO 代码风格 / 289 6.7 异步FIFO 代码风格 / 302 6.8 平衡Block RAM 的功耗与性能 / 310 6.9 异构RAM / 312 6.10 以IP 方式使用RAM 和FIFO / 312 6.11 以XPM 方式使用RAM 和FIFO / 319 6.12 管理时序路径上的Block RAM 和UltraRAM / 322 6.13 思考空间 / 328 第7 章 优化乘加运算单元/ / 330 7.1 乘加器资源 / 330 7.2 以乘法为核心运算的代码风格 / 337 7.3 复数乘法运算代码风格 / 363 7.4 向量内积代码风格 / 377 7.5 以加法为核心运算的电路结构 / 379 7.6 管理时序路径上的乘加器 / 384 7.7 思考空间 / 385 第8 章 优化状态机/ 386 8.1 基本概念 / 386 8.2 状态机代码风格 / 388 8.3 状态编码方式 / 409 8.4 基于ROM 的控制器 / 413 8.5 思考空间 / 414 第9章 优化扇出/ 416 9.1 生成扇出报告 / 416 9.2 利用设计流程降低扇出 / 418 9.3 利用约束降低扇出 / 420 9.4 从代码层面降低扇出 / 424 9.5 改善扇出的正确流程 / 424 9.6 思考空间 / 425 第10 章 优化布线拥塞/ 426 10.1 布线拥塞的三种类型 / 426 10.2 利用设计流程改善布线拥塞 / 428 10.3 利用约束缓解布线拥塞 / 430 10.4 从代码层面降低布线拥塞程度 / 431 10.5 缓解布线拥塞的正确流程 / 431 10.6 思考空间 / 432