图书前言

前言

“数字逻辑电路”是信息技术类专业一门重要的基础核心课程,具有较强的理论性和实践性。通过学习本课程,读者可以掌握数字逻辑电路的分析和设计方法,学会电路调试及故障查询方法并提高实践动手能力,还可以培养耐心、细致的科研作风,为后续专业课打好基础。

FPGA作为一种半定制产品,具有配置灵活、可重构的特点,在一个芯片内就可以实现包括组合电路、时序电路、存储器等在内的各种数字电路,还可以根据设计需求进行定制和优化,使设计和开发更加高效和便捷,因此基于FPGA平台进行数字逻辑电路的设计,已成为越来越多工程师的首选方案。

本书共7章,第1~3章主要介绍技术方面的内容,重点是Verilog HDL语法规则和EDA软件的使用;第4、5章主要介绍理论方面的内容,重点是状态机理论和常用外围电路的工作原理;第6、7章以实践为主,分为基础实验和综合设计,重点内容是“自顶向下的设计方法”。

各章主要内容如下:

第1章首先介绍逻辑电路的发展,并引出FPGA可编程芯片;然后详细介绍FPGA主流厂商、产品及软硬件开发平台;最后就如何进行预习、实验和总结给出了建议。

第2章主要介绍Verilog HDL的程序结构、基本语法规则、仿真验证以及编程规范。

第3章以一个四人表决电路为例,介绍数字逻辑电路传统与现代的设计方法,以及该电路在Quartus和Vivado环境中的实现过程。

第4章通过实例,介绍基本组合逻辑电路和时序逻辑电路的特点及Verilog实现;通过“序列检测器”介绍状态机理论。

第5章将硬件实验中常用的外设分为输入、显示、机电控制和其他四个种类,分别介绍这些外设的工作原理及其典型控制电路。

第6章按照数字逻辑电路的特点,将基础实验分成组合逻辑、时序逻辑、接口电路三大类,每类实验设置若干任务并给出设计指导,题目设置上具有一定的层次性、设计性和应用性。

第7章介绍数字系统设计的基本概念、方法,以“数字秒表”为例详细介绍实现一个数字系统的全过程,最后提供一些实际题目作为练习。题目在设置时给出一定的扩展提示,且尽可能接近真实场景,具有一定的系统性、工程性、创新性。

本书未指定具体的实验台或开发板型号,而是将相关电路以典型电路的形式呈现,希望读者通过学习这些电路,具备举一反三的能力,在面对不同开发板或模块时能够看懂外围电路原理。

附录部分提供了“实验台外设引脚分配表”,读者可根据所用开发板的资源分配情况填入信号名和引脚号,也可由教师在安排预习任务时填入。“实验任务单”可根据课程学时从基础实验和综合设计中选择适合的任务填入。

书中的实例分别在Quartus Prime 20.1 Lite Edition和Vivado 2019.2环境下测试通过。这两款软件均有多个版本,除了在芯片的支持上有所不同外,对于数字逻辑电路开发几乎没有差别。读者在选择软件版本时,只要选择能够支持所选开发板的FPGA型号就可以。如果不希望软件安装后占用过多的存储空间,可以选择稍早一些的版本;如果想体验一些新的功能,可选择较新的版本。

本书由北京工业大学“数字逻辑实验”课程教学团队编写,第1章由高雪园编写,第2章、附录由邵温编写,第3、4章由张丽艳编写,第5~7章由鲁鹏程编写。鲁鹏程负责全书的策划、组织整理和定稿。

本书获得了北京工业大学教育教学研究课题的资助(ER2022SJB04)。北京工业大学计算机学院实验中心的韩德强、杨淇善两位老师研制了实验平台与扩展模块,为本书的实践案例设计和教学资源开发提供了有力支持。此外,清华大学出版社编辑团队为本书的编校工作付出了大量心血。在此,向所有给予帮助的单位和个人表示衷心的感谢!

限于编者的水平与经验,书中难免有疏漏和错误之处,敬请读者批评指正。

编者2025年6月