内容简介

《数字系统设计实验教程(第二版)》是电子类专业核心课程的教材之一,由多年从事数字电子技术理论和实验教学的教师合作完成。《数字系统设计实验教程(第二版)》以Xilinx公司的VivadoFPGA设计套件为基础,硬件平台以Xilinx的NexysVideoArtix-7FPGA多媒体音视频智能互联系统为主,并辅以Basys3FPGA口袋开发板;软件平台采用ModelSim、Vivado等专用开发工具,循序渐进地介绍数字系统设计的原理和方法。
  《数字系统设计实验教程(第二版)》内容包括数字系统设计方法介绍、VerilogHDL介绍、仿真及测试代码的编写、实验软/硬件平台的使用、数字系统基础实验、数字系统综合实验、MIPS微处理器的设计和应用等7章。作者本着培养学生综合设计和创新能力的原则精心设计了29个实验项目,以设计性、综合性和探索性实验为主,强调多学科知识的交叉应用,以达到培养和提高学生实验的综合技能的目的。

目录

目录
第1章FPGA与数字系统设计1
1.1现场可编程逻辑器件1
1.1.1概述1
1.1.2FPGA发展历史1
1.1.3FPGA芯片的结构3
1.2数字系统设计方法6
1.2.1数字系统的基本组成6
1.2.2数字系统的结构化设计方法7
1.2.3数字系统设计实例8
1.3基于FPGA的数字系统设计流程12
1.4基于FPGA的数字系统的调试15
1.4.1数字系统的调试15
1.4.2选择合适的FPGA调试方法18
第2章VerilogHDL20
2.1初识VerilogHDL20
2.1.1概述20
2.1.2VerilogHDL的基本结构20
2.2VerilogHDL的基础知识22
2.2.1词法22
2.2.2常量24
2.2.3数据类型和变量25
2.2.4参数26
2.2.5模块端口类型27
2.2.6运算符及优先级27
2.3VerilogHDL的描述语句31
2.3.1数据流描述语句31
2.3.2行为描述语句32
2.3.3Verilog描述风格及层次化设计39
2.3.4编译预处理指令43
2.4有限状态机的描述44
2.4.1状态机的结构44
2.4.2状态机的VerilogHDL描述方法45
2.5设计举例与技巧48
2.5.1常用组合电路的设计48
2.5.2常用时序电路的设计51
2.5.3数字系统设计实例54
第3章testbench的编写61
3.1概述61
3.2testbench的结构形式61
3.2.1testbench的基本结构61
3.2.2testbench结构实例详解62
3.3常用的系统任务和系统函数65
3.4testbench的激励和响应67
3.4.1testbench的激励方式67
3.4.2仿真结果分析方式69
3.5常用激励信号的一些描述形式69
3.6testbench实例72
3.6.1组合乘法器实例72
3.6.2视频显示接口仿真实例74
3.6.3PS2键盘接口电路实例77
3.6.4PS2鼠标接口电路实例80
第4章数字系统实验平台的使用84
实验1ModelSim仿真软件的使用84
实验2Vivado软件的使用97
实验3IP内核的使用与仿真109
实验4ILA的逻辑分析仪实验123
第5章数字系统设计的基础实验130
实验5常用组合电路模块的设计和应用130
实验6浮点数加法器的设计136
实验7常用时序电路模块的设计和应用141
实验8快速加法器的设计146
实验9快速乘法器的设计150
实验10学号滚动显示实验156
实验11异步输入的同步器和开关防颤动电路的设计160
第6章数字系统综合设计实验166
实验12数字式秒表166
实验13低频数字式相位测量仪的设计170
实验14全数字锁相环的设计176
实验15直接数字频率合成技术(DDS)的设计与实现181
实验16基于FPGA的FIR数字滤波器的设计186
实验17数字下变频器(DDC)的设计191
实验18音频编解码芯片接口设计195
实验19音乐播放实验209
实验20基于FPGA的实时语音变声系统的设计221
实验21HDMI显示器接口设计实验230
实验22键盘接口实验239
实验23鼠标接口实验248
实验24文本输入与显示实验254
实验25动态显示实验260
实验26点灯游戏的设计266
实验27推箱子游戏的设计272
第7章CPU设计279
实验28多周期MIPS微处理器设计279
实验29流水线MIPS微处理器设计299
附录ABasys3开发板的使用314
A.1FPGA主芯片介绍315
A.2电源电路315
A.3时钟电路315
A.4基本I/O接口316
A.5数码管电路316
A.6I/O扩展电路317
A.7USB-UART桥接电路318
A.8USBHIDHost318
A.9VGA接口318
A.10FPGA调试及配置电路319
附录BNexysVideo开发板的使用320
B.1FPGA主芯片介绍321
B.2电源电路321
B.3时钟电路322
B.4基本I/O接口322
B.5I/O扩展电路323
B.6音频编解码(CODEC)接口电路323
B.7USB-UART桥接电路324
B.8USBHIDHost324
B.9HDMI接口325
B.10FPGA调试及配置电路325
附录CASCII码表326
附录D仿真环境的建立328
参考文献332

精彩书摘

  《数字系统设计实验教程(第2版)》:
  随着集成电路深亚微米工艺技术的发展,可编程逻辑器件(FPGA)及其应用获得了长足的发展,FPGA器件的单片规模大大扩展,系统运行速度不断提高,功耗不断下降,价格大幅度降低。因此,与传统电路设计方法相比,利用FPGA/CPLD进行数字系统的开发具有功能强大、开发过程投资小、周期短、便于修改及开发工具智能化等特点。并且随着电子工艺不断改进,低成本高性能的FPGA/CPLD器件推陈出新,促使FPGA/CPLD成为当今硬件设计的首选方式之一。熟练掌握FPGA/CPLD设计技术已经成为电子设计工程师的基本要求。
  电子设计自动化(ElectronicDesignAutomation,EDA)技术是以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而开发出来的一套先进的电子系统设计的软件工具。集成电路设计技术的进步也对EDA技术提出了更高的要求,大大地促进了EDA技术的发展。以高级语言描述、系统仿真和综合技术为特征的EDA技术,代表了当今电子设计技术的最新发展方向。EDA设计技术的基本流程是设计者按照“自顶而下”的设计方法,对整个系统进行方案设计和功能划分。电子系统的关键电路一般用一片或几片专用集成电路(ASIC)实现,采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。这种被称为高层次的电子设计方法,不仅极大地提高了系统的设计效率,而且使设计者摆脱了大量的辅助性工作,将精力集中于创造性的方案与概念的构思上。近年来的EDA技术主要有以下特点:
  (1)采用行为级综合工具,设计层次由RTL级上升到了系统级;
  (2)采用硬件描述语言描述大规模系统,使数字系统的描述进入抽象层次;
  (3)采用布局规划(floorplanning)技术,即在布局布线前对设计进行平面规划,使得复杂IC的描述规范化,做到在逻辑综合早期设计阶段就考虑到物理设计的影响。
  从某种意义上来讲,FPGA和EDA技术的发展,将会进一步引起数字系统设计思想和方法的革命。正是在这样的技术发展背景下,为了配合数字系统设计课程教学,《数字系统设计实验教程(第2版)》主要讨论基于FPGA器件来实现数字系统。
  1.1.2FPGA发展历史
  Xilinx公司于1984年发明了世界首款FPGA,在接下来的30多年里,在应用需求和工艺技术发展的驱动下,FPGA的器件得到了迅速发展,容量提升了一万多倍,速度提升了100多倍,每单位功能的成本和能耗降低到原来的万分之一。FPGA经历了如下几个阶段。
  1.发明阶段(1984~1992年)
  首款FPGA,即Xilinx公司基于SRAM技术可重复编程的XC2064,只包含64个逻辑模块,每个模块含有两个3输入查找表(LUT)和一个寄存器。尽管容量很小,XC2064晶片的尺寸却非常大,因此价格昂贵。
  在成本压力下,FPGA架构师寻求通过架构和工艺创新来尽可能地提高FPGA的设计效率。为提高效率,架构经历了从复杂的LUT结构到NAND门再到单个晶体管的演变。另外,各厂商也在探索不同新工艺,Actel公司以牺牲可重复编程能力为代价,采用反熔丝工艺,在1990年推出当时最大容量的FPGA(Actel1280)。
  在这一阶段,尚无自动布局布线。另外,完全不同的FPGA架构排除了通用设计工具的可能。因此FPGA厂商就担负起了为各自器件开发电子设计自动化(EDA)的任务。
  2.扩展阶段(1992~1999年)
  FPGA初创公司都是无晶圆厂的公司,在当时属于新鲜事物。由于没有晶圆厂,他们在20世纪90年代初期通常无法获得领先的芯片技术。到20世纪90年代后期,IC代工厂意识到FPGA是推动工艺发展的理想因素,只要能用新工艺产出晶体管和导线,就能制造基于SRAM的FPGA。因此,每一代新工艺的出现都会将晶体管数量增加一倍,FPGA成本减半,并将FPGA的尺寸增加一倍。
  在这一阶段,基于SRAM工艺的FPGA体现了明显的产品优势,因为它们可以率先采用每种新工艺。而反熔丝在新节点上的验证工作则需要额外数月甚至数年时间。基于反熔丝的FPGA丧失了竞争优势。为获得上市速度和成本优势,架构创新与工艺改进相比就要退居其次。
  在这一阶段,EDA有了长足发展,到20世纪90年代末,EDA能自动完成综合、布局和布线等设计流程。
  ……

其他推荐