本书主要阐述数字系统设计方法和Verilog HDL语言的应用,着眼于综合开发能力的提高。 本书按照“器件-设计软件-设计语言”的顺序系统介绍数字系统设计的方法、PLD器件、流行的EDA设计软件和HDL设计语言等,力求涵盖数字系统开发所涉及的主要方面,并在内容上进行取舍,作了精心的编排。本书重点对用Verilog HDL设计开发常用的数字电路和数字系统进行具体阐述,并配以大量的设计实例,所有实例均经过了综合和验证。相关器件和开发工具主要选取了国内广泛使用的Altera公司的PLD器件及其开发工具〖JP3〗MAX+PLUS II。 本书可供电子和通信等领域从事硬件设计和系统开发的工程技术人员和教师阅读参考,也可以作为相关专业研究生和高年级本科生的教材。 目 录 第1章数字系统与数字系统设计 11 引言1) 12 数字 121 自上而下的 122 自下而上的设计 123 正向设计与逆向 13 EDA技术及其应用 131 EDA技术的应用 132 现代EDA技术的特点及应用 14 IP核复用技术与SOC 141 IP复用技术 142 系统芯片(SOC) 143 深亚微米技术带来的挑战 144 基于平台的设计方法(PBD) 15 数字系统的实现方式 151 全定制方式 152 门阵列(Gate Array) 153 PLD实现方式 16 数字系统的设计方式 161 图形设计方式 162 基于HDL的设计 163 高速、高密度PCB的设计 17 小结 第2章 ASIC与PLD 21 概述 211 ASIC 212 PLD的发展演变 22 PLD的分类 221 按集成度分类 222 按结构特点分类 223 按编程特点分类 23 PLD的基本结构 231 PLD结构原理 232 PLD电路的表示方法 233 SPLD的结构 24 CPLD的结构与特点 241 宏单元 242 可编程I/O单元 243 可编程连线阵列(PIA) 25 FPGA的结构与特点 251 可配置逻辑块(CLB) 252 输入/输出模块(IOB) 253 可编程互连线(PI) 254 片内RAM 26 在系统编程与边界扫描测试技术 261 在系统编程(ISP)技术 262 边界扫描测试(BST)技术 27 PLD产品概述 271 Lattice公司的PLD 272 Xilinx公司的PLD 273 Altera公司的PLD 28 PLD的发展趋势 29 小结 第3章 Altera的CPLD/FPGA 31 概述 311 器件系列 312 结构与特点 313 宏功能模块及IP核 314 Altera的开发工具 32 APEX 20K器件系列 321 系统级芯片——APEX 20K器件 322 APEX 20K器件的结构 323 嵌入式系统块(ESB) 324 APEX 20K器件的I/O结构 33 FLEX 10K器件系列 331 概述 332 结构与功能 333 器件特性设定 334 数据配置与下载 34 ACEX 1K器件系列 341 概述 342 ACEX 1K器件结构 35 MAX 7000器件系列 351 概述 352 结构与功能 353 其他功能和特性 36 EPC配置器件 361 概述 362 常用的EPC配置器件 363 典型的配置电路 364 最大的配置器件EPC16 37 小结 第4章 常用的EDA设计软件 41 数字系统设计的流程 42 常用的EDA工具软件 421 Synopsys 422 Synplify 423 ispDesignEXPERT 424 Panda 2000 425 MAX+PLUS Ⅱ 43 小结 第5章 MAX+PLUS II使用指南 51 MAX+PLUS Ⅱ的安装与配置 511 推荐的系统配置 512 MAX+PLUS Ⅱ的安装 52 基于MAX+PLUS Ⅱ的设计过程 521 设计输入 522 设计处理 523 设计校验 524 器件编程 525 在线帮助 53 设计输入 531 建立一个新项目 532 图形输入方式 533 文本输入方式 534 设计的层次 54 设计处理 541 设计项目的编译 542 在平面编辑器中观察适配结果及手动配置 55 模拟仿真 551 项目仿真 552 定时分析 56 编程下载 561 Altera器件的编程文件 562 器件编程 57 MAX+PLUS II使用提高 571 使用LPM宏单元库 572 基于流水线的设计 573 使用EAB单元进行设计 574 REPORT文件 58 ByteBlaster下载电缆及其使用 581 并口下载电缆ByteBlaster 582 编程配置方式 59 小结 第6章 Verilog HDL 61 引言 62 Verilog HDL基本结构 621 简单的Verilog HDL例子 622 Verilog HDL模块的结构 623 逻辑功能定义 63 数据类型及常量、变量 631 常量 632 变量 64 运算符及表达式 641 算术运算符(Arithmetic operators) 642 逻辑运算符(Logical operators) 643 位运算符(Bitwise operators) 644 关系运算符(Relational operators) 645 等式运算符(Equality operators) 646 缩减运算符(Reduction operators) 647 移位运算符(Shift operators) 648 条件运算符(Conditional operators) 649 位拼接运算符(Concatenation operators) 6410 运算符的优先级 65 语句 66 赋值语句 661 常用的赋值语句 662 阻塞赋值和非阻塞赋值的区别 67 条件语句 671 if-else语句 672 case语句 673 使用条件语句注意事项 68 循环语句 681 for语句 682 repeat语句 683 while 和forever语句 69 结构说明语句 691 always块语句 692 initial语句 693 task和function语句 610 编译预处理语句 6101 ′define语句 6102 ′include语句 6103 ′timescale语句 611 语句的顺序执行与并行执行 612 不同抽象级别的Verilog HDL模型 6121 Verilog HDL门级描述 6122 Verilog HDL的行为级描述 613 小结 第7章 用Verilog HDL设计数字电路 71 常用组合电路模块的设计 711 基本门电路的描述 712 编译码器 713 数据选择器(MUX) 714 奇偶校验产生器 715 7段LED数码管译码电路 72 常用时序电路模块的设计 721 D触发器 722 数据锁存器 723 数据寄存器 724 移位寄存器 725 任意模加法/减法计数器 726 ROM/RAM模块 73 多层次结构电路的设计 731 图形与文本混合设计 732 纯文本描述 74 数字跑表 741 结构与功能 742 源程序 743 仿真及波形图 744 下载及验证 75 8位数字频率计 751 功能要求 752 工作原理 753 设计实现 754 仿真与下载 76 有限状态机(FSM)设计举例 761 基于状态机的设计 762 频率计控制器设计举例 763 几点讨论 77 交通灯控制器 771 功能描述 772 设计与实现 773 仿真与下载 78 乐曲演奏电路 781 音调的控制 782 音长的控制 783 乐曲演奏电路源程序 79 自动售饮料机的设计 791 case语句 792 总体设计 793 源程序 710 多功能数字钟 7101 功能描述 7102 源程序 7103 实验与下载 711 卡式电话计费器 7111 功能定义 7112 源程序 7113 仿真 712 PCM采编器 7121 结构与功能 7122 设计与实现 713 小结 第8章 数字模块与数字系统的设计实现 81 提高数字系统性能的方法 811 提高系统工作速度 812 耗用资源的考虑 82 快速乘法器的设计 821 移位相加乘法器 822 查找表乘法器 823 逻辑树乘法器 824 加法器树乘法器 825 混合乘法器 83 FIR滤波器的设计与实现 831 8阶FIR滤波器的结构改进 832 源代码及功能仿真 84 快速傅里叶变换(FFT) 841 算法原理 842 蝶形单元的设计与实现 85 高速数字相关器 851 数字相关器原理 852 设计与实现 86 线性分组码编译码器 861 线性分组码基本概念 862 设计与实现 87 循环码编译码器的实现 871 循环码编码器 872 循环码译码器 88 卷积码Viterbi编译码器 881 Viterbi编码器 882 Viterbi译码器 883 Viterbi译码器的子模块 89 其他数字模块的设计 891 DSP模块的设计 892 通信模块的设计 893 常用控制电路的设计 894 综合设计举例 810 结束语 附录 A Verilog HDL关键字 附录B MAX+PLUS II支持的Verilog HDL数据类型和语句 附录C GW48型EDA实验开发系统使用介绍 参考文献及相关网站 