《VerilogHDL实验指导》由会员分享,可在线阅读,更多相关《VerilogHDL实验指导(132页珍藏版)》请在金锄头文库上搜索。
1、Verilog HDL实验指导书Verilog HDL实验指导书前 言随着电子设计自动化技术(EDA)以及可编程逻辑器件(PLD)发展,现场可编程门阵列(FPGA)的应用越来越广泛。Verilog HDL作为FPGA的一门主要的编程语言,会逐渐成为主流的编程语言。越来越多的高校将会开设Verilog HDL这门课程和相应的实验教学课程,但是目前合适的实验讲义比较缺乏。因此,设计和开发Verilog HDL的实验内容并编写合适的实验讲义是非常有必要的。 本设计主要是研究了基于FPGA设计和开发的Verilog HDL的实验内容,包括了基础实验和综合实验。基础实验包含流水灯、数码管动态显示、表决器
2、、四路抢答器、同步复位和异步复位、十六位键盘按键扫描、RS-232协议收发数据七个实验,综合实验包含交通灯、数字计算器、SPI总线设计、LCD显示与抢答器的综合、基于Verilog数字时钟的设计五个实验。每个实验都介绍了实验目的、内容、原理、程序设计方法、软硬件仿真结果、UCF配置文件。本设计的所有实验都是以Verilog HDL为编程语言,在ISE软件上编程、仿真、调试,并在FPGA的开发板Basys2上进行硬件仿真调试。本文给出了Basys2开发板的设计流程。通过由基础实验到综合实验由浅入深地设计和开发,学生能加深对Verilog HDL这门语言的理解,更好地学习并掌握Verilog HD
3、L实验内容的设计思路,熟悉并掌握FPGA的设计开发流程。这充分调动了学生的自主学习的积极性,培养了学生的创新思维和创新能力。 关键字: Verilog HDL, 实验,FPGA设计与开发目 录目 录III第一章 绪论- 1 -1.1课题研究背景及意义- 1 -1.1.1课题研究背景- 1 -1.1.2课题研究意义- 1 -1.2本设计的主要工作- 2 -第二章 Verilog HDL和FPGA介绍- 3 -2.1 Verilog HDL介绍- 3 -2.2 FPGA- 3 -2.2.1 ISE简介- 4 -2.2.1 开发板Basys2简介- 5 -第三章 基础实验- 6 -3.1 流水灯-
4、6 -3.1.1 实验目的- 6 -3.1.2实验内容- 6 -3.1.3 LED灯的显示原理- 6 -3.1.4程序设计- 6 -3.1.5 basys2开发板开发流程- 8 -3.2数码管动态显示- 22 -3.2.1实验目的- 22 -3.2.2实验内容- 22 -3.2.3实验原理- 22 -3.2.4程序设计- 23 -3.2.5仿真结果- 29 -3.2.6 UCF配置文件- 30 -3.3表决器- 32 -3.3.1实验目的- 32 -3.3.2实验内容- 32 -3.3.3程序设计- 32 -3.3.4仿真结果- 33 -3.3.5 UCF配置文件- 34 -3.4四路抢答器-
5、 35 -3.4.1实验目的- 35 -3.4.2实验内容- 35 -3.4.3程序设计- 35 -3.4.4仿真结果- 38 -3.4.5 UCF配置文件- 38 -3.5同步复位和异步复位- 40 -3.5.1实验目的- 40 -3.5.2实验内容- 40 -3.5.3同步复位和异步复位的介绍- 40 -3.5.4 程序设计- 40 -3.5.5仿真结果- 44 -3.5.6 UCF配置文件- 45 -3.6 十六位键盘按键扫描- 46 -3.6.1实验目的- 46 -3.6.2实验内容- 46 -3.6.3实验原理- 46 -3.6.3.1 PmodKYPD子板介绍- 46 -3.6.3
6、.2键盘扫描原理- 46 -3.6.4 程序设计- 47 -3.6.5 UCF配置文件- 49 -3.7 RS-232协议收发数据- 51 -3.7.1实验目的- 51 -3.7.2实验内容- 51 -3.7.3实验原理- 51 -3.7.3.1RS-232协议介绍.- 51-3.7.3.2UART介绍- 52 -3.7.4 程序设计- 53 -3.7.4.1 波特率发生模块.- 53 -3.7.4.2 数据发送模块- 54 -3.7.4.3 数据接收模块- 57 -3.7.4.4 BIT调整模块.- 59 -3.7.4.5 数码管显示模块.- 60 -3.7.4.6 顶层模块.- 60 -3
7、.7.5 实验仿真- 62 -3.7.6 UCF配置文件- 63 -第四章 综合实验- 70 -4.1交通灯- 70 -4.1.1实验目的- 70 -4.1.2实验内容- 70-4.1.3程序设计- 70 -4.1.4仿真结果- 76 -4.1.5 UCF配置文件- 77 -4.2数字计算器- 78 -4.2.1实验目的- 78 -4.2.2实验内容- 78 -4.2.3加法器的原理和实现- 78 -4.2.4程序设计- 80 -4.2.5仿真结果- 85 -4.2.6 UCF配置文件- 86 -4.3 SPI总线的设计- 88 -4.3.1实验目的- 88 -4.3.2实验内容- 88 -4
8、.3.3实验原理- 88 -4.3.4程序设计- 88 -4.3.4.1 主机发送模块.-92-4.3.4.2 从机接受模块. - 94 -4.3.4.3 顶层模块. - 95 -4.3.5仿真结果- 96 -4.4 LCD显示与抢答器的综合- 97 -4.4.1实验目的- 97 -4.4.2实验内容- 97 -4.4.3 PmodCLS模块使用说明- 97 -4.4.4程序设计- 97 -4.4.5仿真结果- 117 -4.4.6 UCF配置文件- 128 -4.5基于VERILOG数字时钟的设计- 120 -4.5.1实验目的- 120 -4.5.2实验内容- 120 -4.5.3程序设计
9、-120 -4.5.3.1 基础时钟分频模块.-123-4.5.3.2时钟计数模块.-123-4.5.3.3显示模块. -125-4.5.3.4顶层模块.-126-4.5.4仿真结果- 127 -4.5.5 UCF配置文件- 127 -附录 ASCII码表- 129 -致 谢- 131 -参考文献- 132 -VVerilog HDL实验指导书第一章 绪论1.1课题研究背景及意义1.1.1课题研究背景随着时代的进步和电子信息技术产业的飞速发展,现场可编程门阵列FPGA在数字电路设计、微处理器系统、DSP、通信以及专用集成电路(Application Specific Integated Cir
10、cuit,ASIC)设计等高科技领域应用广泛。根据当前发展的趋势,未来的FPGA势必将会取代大部分专用集成电路(ASIC)的市场,FPGA将成为21世纪最重要的高科技产业之一。Verilog HDL是目前应用最广泛的硬件描述语言之一,Verilog HDL也是进行FPGA设计的主要的编程语言。Verilog HDL的兴起繁荣受到各高等院校的重视,越来越多的高校相继地开设Verilog HDL这门课程并开设实验教学1。实验课的教学需要对Verilog HDL这门课程进行实验内容的设计和开发,这离不开实验讲义的指导。1.1.2课题研究意义实验讲义在实验课中有着很多的优点,对于理论知识和上机实际操作
11、兼顾的Verilog HDL这门课程,实验讲义起到了很好的辅助的作用。但是目前较好的实验讲义比较缺乏。有些实验讲义只有实验目的、内容和要求,忽略了对实验原理,方法,怎么实现的步骤流程的介绍,从而使学生不能很好地达到对Verilog HDL这门课程的内容的设计和开发的目标和要求,可能会导致一些对知识的误解等。同学们阅读了实验讲义可能只是大体知道这个实验要做什么,而不会学习掌握设计和开发Verilog HDL这门语言的实现方法,这不利于学习者关于Verilog HDL编程语言的整体构建设计思路。编写出适合Verilog HDL实验教学的实验讲义正是本课题研究的意义所在。Verilog HDL的实验
12、讲义除了要介绍了其目的和内容要求,还应介绍实验原理和程序设计的思路和方法,给出了实验的软件仿真和硬件测试的结果。这不仅有利于学习者更好地掌握Verilog HDL这门课程的实验内容设计和开发方法,更有利于引导学习者以后对FPGA设计开发的方法构思,激发他们对Verilog HDL语言的兴趣爱好,培养他们的创新能力。1.2本设计的主要工作本次设计主要设计了十二个实验,七个基础实验:流水灯、数码管动态显示、表决器、四路抢答器、同步复位和异步复位、十六位键盘按键扫描、RS-232协议收发数据,五个综合实验:交通灯、数字计算器、SPI总线设计、LCD显示与抢答器的综合、基于Verilog数字时钟的设计
13、。每个实验均要给出实验目的、内容、原理、程序设计方法、软硬件仿真结果、UCF配置文件。为了方便学生学习Basys2开发板的使用,在第三章也给出了Basys2的开发流程。第二章 基础知识2.1 Verilog HDL介绍Verilog HDL 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同的描述中显式地进行时序建模2。Verilog HDL支持硬件设计的开发、验证、综合和测试;硬件数据之间的通信;硬件的设计、维护和修改。Verilog HDL 可以在各种抽象层次上描述数字电路,可以测试各种层次数字电路的行为,可以设计出正确有效的复杂电路结构,因此Verilog HDL功能非常强大3。Verilog HDL已经成为数字系统设计的首选语言,并成为综合、验证和布局布线技术的基础。使用Verilog HDL设计数字系统是一种趋势,大