VerilogHDL课程的实验内容设计与开发
VerilogHDL课程的实验内容设计与开发[20191213214228]
摘 要
随着电子设计自动化技术(EDA)和可编程逻辑器件(PLD)发展,现场可编程门阵列(FPGA)的应用越来越广泛。Verilog HDL作为FPGA的一门主要的编程语言,会逐渐成为主流的编程语言。越来越多的高校将会开设Verilog HDL这门课程和相应的实验教学课程,但是目前合适的实验讲义比较缺乏。因此,设计和开发Verilog HDL的实验内容并编写合适的实验讲义是非常有必要的。
本设计主要是研究了基于FPGA设计和开发的Verilog HDL的实验内容,包括了基础实验和综合实验。基础实验包含流水灯、数码管动态显示、表决器、四路抢答器、同步复位和异步复位五个实验,综合实验包含交通灯、数字计算器、 LCD显示与抢答器的综合三个实验。每个实验都介绍了实验目的、内容、原理、程序设计方法、软硬件仿真结果、UCF配置文件。本设计的所有实验都是以Verilog HDL为编程语言,在ISE软件上编程、仿真、调试,并在FPGA的开发板Basys2上进行硬件仿真调试。本文给出了Basys2开发板的设计流程。
通过由基础实验到综合实验由浅入深地设计和开发,学生能加深对Verilog HDL这门语言的理解,更好地学习并掌握Verilog HDL实验内容的设计思路,熟悉并掌握FPGA的设计开发流程。这充分调动了学生的自主学习的积极性,培养了学生的创新思维和创新能力。
查看完整论文请+Q: 351916072
关键字:关键字VerilogHDL;实验;FPGA设计与开发
目 录
摘 要 I
ABSTRACT II
目 录 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 FPGA简介 - 3 -
2.2.1 ISE简介 - 4 -
2.2.1 开发板Basys2简介 - 5 -
第三章 基础实验 - 6 -
3.1 流水灯 - 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数码管动态显示 - 21 -
3.2.1实验目的 - 21 -
3.2.2实验内容 - 21 -
3.2.3实验原理 - 21 -
3.2.4程序设计 - 22 -
3.2.5仿真结果 - 26 -
3.2.5 UCF配置文件 - 27 -
3.3表决器 - 27 -
3.3.1实验目的 - 27 -
3.3.2实验内容 - 27 -
3.3.3程序设计 - 28 -
3.3.4仿真结果 - 29 -
3.3.5 UCF配置文件 - 29 -
3.4四路抢答器 - 30 -
3.4.1实验目的 - 30 -
3.4.2实验内容 - 30 -
3.4.3程序设计 - 30 -
3.4.4仿真结果 - 32 -
3.4.5 UCF配置文件 - 32 -
3.5同步复位和异步复位 - 33 -
3.5.1实验目的 - 33 -
3.5.2实验内容 - 33 -
3.5.3同步复位和异步复位的介绍 - 33 -
3.5.4 程序设计 - 34 -
3.5.5仿真结果 - 36 -
3.5.6 UCF配置文件 - 37 -
第四章 综合实验 - 38 -
4.1交通灯 - 38 -
4.1.1实验目的 - 38 -
4.1.2实验内容 - 38 -
4.1.3程序设计 - 38 -
4.1.4仿真结果 - 42 -
4.1.5 UCF配置文件 - 43 -
4.2数字计算器 - 43 -
4.2.1实验目的 - 43 -
4.2.2实验内容 - 43 -
4.2.3加法器的原理和实现 - 43 -
4.2.4程序设计 - 45 -
4.2.5仿真结果 - 47 -
4.2.6 UCF配置文件 - 48 -
4.3 LCD显示与抢答器的综合 - 49 -
4.3.1实验目的 - 49 -
4.3.2实验内容 - 49 -
4.3.3 LCD1602显示原理 - 49 -
4.3.4程序设计 - 53 -
4.3.5仿真结果 - 57 -
4.3.6 UCF配置文件 - 58 -
第五章 结论与展望 - 60 -
5.1结论 - 60 -
5.2展望 - 61 -
致 谢 - 62 -
参考文献 - 63 -
附录 外文文献翻译 - 65 -
第一章 绪论
1.1课题研究背景及意义
1.1.1课题研究背景
随着时代的进步和电子信息技术产业的飞速发展,现场可编程门阵列FPGA在数字电路设计、DSP、微处理器系统、通信和专用集成电路(Application Specific Integated Circuit,ASIC)设计等高科技领域应用广泛。根据如今发展的趋势,未来的FPGA必然会代替大部分专用集成电路(ASIC)的市场,FPGA将成为21世纪最重要的高科技产业之一[13]。Verilog HDL是目前使用最为普遍的硬件描述语言之一,Verilog HDL也是进行FPGA设计的主要的编程语言。Verilog HDL的兴起繁荣受到各高等院校的重视,越来越多的高校相继地开设Verilog HDL这门课程并开设实验教学[1]。实验课的教学需要对Verilog HDL这门课程进行实验内容的设计和开发,这离不开实验讲义的指导。
1.1.2课题研究意义
实验讲义在实验课中有着很多的优点,对于理论知识和上机实际操作兼顾的Verilog HDL这门课程,实验讲义起到了很好的辅助的作用。但是目前较好的实验讲义比较缺乏。有些实验讲义只有实验目的、内容和要求,忽略了对实验原理,方法,怎么实现的步骤流程的介绍,从而使学生不能很好地达到对Verilog HDL这门课程的内容的设计和开发的目标和要求,可能会导致一些对知识的误解等。同学们阅读了实验讲义可能只是大体知道这个实验要做什么,而不会学习掌握设计和开发Verilog HDL这门语言的实现方法,这不利于学习者对于Verilog HDL编程语言的整体构建设计思路。编写出适合Verilog HDL实验教学的实验讲义正是本课题研究的意义所在。
Verilog HDL的实验讲义除了要介绍了其目的和内容要求,还应介绍实验原理和程序设计的思路和方法,给出了实验的软件仿真和硬件测试的结果。这不仅有利于学习者更好地掌握Verilog HDL这门课程的实验内容设计和开发方法,更有利于引导学习者以后对FPGA设计开发的方法构思,激发他们对Verilog HDL语言的兴趣爱好,培养他们的创新能力。
1.2本设计的主要工作
本次设计主要设计了八个实验,五个基础实验:流水灯、数码管动态显示、表决器、四路抢答器、同步复位和异步复位,三个综合实验:交通灯、数字计算器、 LCD显示与抢答器的综合。每个实验均要给出实验目的、内容、原理、程序设计方法、软硬件仿真结果、UCF配置文件。为了方便学生学习Basys2开发板的使用,在第三章也给出了Basys2的开发流程。
第二章 Verilog HDL和FPGA介绍
2.1 Verilog HDL介绍
Verilog HDL 是一种硬件描述语言,用于从算法级、门级到开关及的多种概括虚拟的设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统可以分层次地来描述,并可在相同的描述中明显地体现出进行时序建模[2]。
Verilog HDL支持硬件设计的开发、验证、综合和测试;硬件数据之间的通信;硬件的设计、维护和修改。Verilog HDL 可以在各种抽象层次上描述数字电路,能测试不同种类的层次的数字电路的功能,还能设计出高效正确复杂的数字电路结构,因此Verilog HDL功能非常强大[2]。Verilog HDL已经成为数字系统设计的首选语言,并成为综合、验证和布局布线技术的基础。使用Verilog HDL来设计数字系统是当今社会的趋势,小到一些简单的逻辑门,大到复杂的CPU,而技术发展的趋势是数字化,所以未来Verilog HDL的应用领域肯定会越来越广。在设计中小型数字系统时,采用Verilog HDL明显优于采用其他硬件描述语言。另外,Verilog HDL的语法非常类似于C语言,比较灵活,容易学习和应用[2],若有C的基础,能在一个比较短的时间内学习和掌握,因此很多的大型公司一般都会采用Verilog HDL作为数字系统设计的首选语言[2]。
2.2 FPGA
2.2.1 FPGA简介
FPGA(Field Programmable Gate Array)即现场可编程门阵列,它是在PAL、EPLD、GAL等可编程器件的基础上进一步发展的产物。作为专业集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点[3]。
FPGA的设计流程就是利用开发工具对FPGA芯片进行开发的过程。FPGA的开发流程包括电路设计、设计输入、行为仿真、功能仿真、综合、设计实现与布局布线、生成可编程文件、开发软件仿真与验证、开发板仿真与验证,以及芯片编程与调试等主要步骤[3]。
FPGA的使用非常灵活,对于同一片FPGA,通过烧写不同的编程数据可以产生不同的电路功能。FPGA有很多的优势:FPGA能让数字系统里可靠性高、效率高、小型化、功耗低。可以完全让用户自己设计电路调试程序来完成用户自己想要实现的功能[4]。FPGA可以多次修改,在修改的过程中可以保持开发板的电路结构不变。实现不同的FPGA设计时只需要电脑修改程序即可,不必大费周章地去修改硬件电路,所以比较灵活轻松。很多工作只要在实验室就能完成了,能大大地提高效率,缩短时间,减少开发成本。基于FPGA的大容量、低电压、低功耗、系统级高密度、融合度高、动态可重构等优势,FPGA的市场势必会扩大。
目前,FPGA在通信、数字信号处理、计算机网络、生厂仪器、工业、军事和航空航天等众多领域已经得到了广泛应用[3]。
2.2.1 ISE简介[3]
进行FPGA开发需要特定专用的FPGA工具软件,功能包含FPGA程序的编写、综合、仿真及下载等。目前FPGA工具软件分为两类:一类是其他专业的EDA软件公司提供的辅助软件工具,统称为第三方软件;另一类是FPGA芯片生产商直接提供的集成开发环境,如Xilinx公司的Foundation Series ISE(简称ISE)、Altera公司的Quartus Ⅱ,以及Lattice公司为ispLSI器件提供的ispDesignExpert软件等。在本文是使用集成开发软件ISE进行FPGA设计[5]。
ISE软件是一个FPGA的硬件设计开发工具,具有界面良好、容易操作的特点。
ISE的主要功能包括设计输入、综合、仿真、实现和下载。
设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD,以及用于约束文件的编辑Constraint Editor等。
综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以继承Mentor Graphics公司的LeonardoSpectrum 和 Synplicity 公司的 Synplify。
仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用ModelSim进行仿真的接口。
实现:此功能包括了映射、翻译、布局布线等。
下载:下载功能包括将布局布线后的设计文件转换为位流.bit文件,还包括了进行设备配置和通信的功能,控制将程序烧写到FPGA芯片中[3]。
2.2.1 开发板Basys2简介
本文使用的FPGA开发板是Basys2 ,FPGA的开发板Basys2 是数字电路设计的一个实现平台。Basys2的主芯片是Spartan -3E FPGA,它是一个完整的硬件平台,且随时都可以使用。大量的I/O设备和FPGA所需的支持电路集成在了Basys2上,所以允许不要额外的器件设备就能构建无限次的系统设计。Basys2具有以下特性:USB2.0高速接口提供FPGA配置和数据传输(相关Adept2.0软件可以免费下载);Xilinx Platform Flash ROM可以无限次存储FPGA配置;用户可配置晶振(25,50,100MHz);三个内置稳压器(1.2V,2.5V,和3.3V),允许使用3.5V-5.5V的外部电源供电;8个用户可编程LED指示灯,4个七段数码管显示器,4个按键开关,8个滑动开关,1个PS/2接口和1个8位VGA显示接口;4个6针用户扩展接口,可以用来连接Digilent PMOD附属电路板;需要Adept2.0或更新版本软件来进行操作。
摘 要
随着电子设计自动化技术(EDA)和可编程逻辑器件(PLD)发展,现场可编程门阵列(FPGA)的应用越来越广泛。Verilog HDL作为FPGA的一门主要的编程语言,会逐渐成为主流的编程语言。越来越多的高校将会开设Verilog HDL这门课程和相应的实验教学课程,但是目前合适的实验讲义比较缺乏。因此,设计和开发Verilog HDL的实验内容并编写合适的实验讲义是非常有必要的。
本设计主要是研究了基于FPGA设计和开发的Verilog HDL的实验内容,包括了基础实验和综合实验。基础实验包含流水灯、数码管动态显示、表决器、四路抢答器、同步复位和异步复位五个实验,综合实验包含交通灯、数字计算器、 LCD显示与抢答器的综合三个实验。每个实验都介绍了实验目的、内容、原理、程序设计方法、软硬件仿真结果、UCF配置文件。本设计的所有实验都是以Verilog HDL为编程语言,在ISE软件上编程、仿真、调试,并在FPGA的开发板Basys2上进行硬件仿真调试。本文给出了Basys2开发板的设计流程。
通过由基础实验到综合实验由浅入深地设计和开发,学生能加深对Verilog HDL这门语言的理解,更好地学习并掌握Verilog HDL实验内容的设计思路,熟悉并掌握FPGA的设计开发流程。这充分调动了学生的自主学习的积极性,培养了学生的创新思维和创新能力。
查看完整论文请+Q: 351916072
关键字:关键字VerilogHDL;实验;FPGA设计与开发
目 录
摘 要 I
ABSTRACT II
目 录 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 FPGA简介 - 3 -
2.2.1 ISE简介 - 4 -
2.2.1 开发板Basys2简介 - 5 -
第三章 基础实验 - 6 -
3.1 流水灯 - 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数码管动态显示 - 21 -
3.2.1实验目的 - 21 -
3.2.2实验内容 - 21 -
3.2.3实验原理 - 21 -
3.2.4程序设计 - 22 -
3.2.5仿真结果 - 26 -
3.2.5 UCF配置文件 - 27 -
3.3表决器 - 27 -
3.3.1实验目的 - 27 -
3.3.2实验内容 - 27 -
3.3.3程序设计 - 28 -
3.3.4仿真结果 - 29 -
3.3.5 UCF配置文件 - 29 -
3.4四路抢答器 - 30 -
3.4.1实验目的 - 30 -
3.4.2实验内容 - 30 -
3.4.3程序设计 - 30 -
3.4.4仿真结果 - 32 -
3.4.5 UCF配置文件 - 32 -
3.5同步复位和异步复位 - 33 -
3.5.1实验目的 - 33 -
3.5.2实验内容 - 33 -
3.5.3同步复位和异步复位的介绍 - 33 -
3.5.4 程序设计 - 34 -
3.5.5仿真结果 - 36 -
3.5.6 UCF配置文件 - 37 -
第四章 综合实验 - 38 -
4.1交通灯 - 38 -
4.1.1实验目的 - 38 -
4.1.2实验内容 - 38 -
4.1.3程序设计 - 38 -
4.1.4仿真结果 - 42 -
4.1.5 UCF配置文件 - 43 -
4.2数字计算器 - 43 -
4.2.1实验目的 - 43 -
4.2.2实验内容 - 43 -
4.2.3加法器的原理和实现 - 43 -
4.2.4程序设计 - 45 -
4.2.5仿真结果 - 47 -
4.2.6 UCF配置文件 - 48 -
4.3 LCD显示与抢答器的综合 - 49 -
4.3.1实验目的 - 49 -
4.3.2实验内容 - 49 -
4.3.3 LCD1602显示原理 - 49 -
4.3.4程序设计 - 53 -
4.3.5仿真结果 - 57 -
4.3.6 UCF配置文件 - 58 -
第五章 结论与展望 - 60 -
5.1结论 - 60 -
5.2展望 - 61 -
致 谢 - 62 -
参考文献 - 63 -
附录 外文文献翻译 - 65 -
第一章 绪论
1.1课题研究背景及意义
1.1.1课题研究背景
随着时代的进步和电子信息技术产业的飞速发展,现场可编程门阵列FPGA在数字电路设计、DSP、微处理器系统、通信和专用集成电路(Application Specific Integated Circuit,ASIC)设计等高科技领域应用广泛。根据如今发展的趋势,未来的FPGA必然会代替大部分专用集成电路(ASIC)的市场,FPGA将成为21世纪最重要的高科技产业之一[13]。Verilog HDL是目前使用最为普遍的硬件描述语言之一,Verilog HDL也是进行FPGA设计的主要的编程语言。Verilog HDL的兴起繁荣受到各高等院校的重视,越来越多的高校相继地开设Verilog HDL这门课程并开设实验教学[1]。实验课的教学需要对Verilog HDL这门课程进行实验内容的设计和开发,这离不开实验讲义的指导。
1.1.2课题研究意义
实验讲义在实验课中有着很多的优点,对于理论知识和上机实际操作兼顾的Verilog HDL这门课程,实验讲义起到了很好的辅助的作用。但是目前较好的实验讲义比较缺乏。有些实验讲义只有实验目的、内容和要求,忽略了对实验原理,方法,怎么实现的步骤流程的介绍,从而使学生不能很好地达到对Verilog HDL这门课程的内容的设计和开发的目标和要求,可能会导致一些对知识的误解等。同学们阅读了实验讲义可能只是大体知道这个实验要做什么,而不会学习掌握设计和开发Verilog HDL这门语言的实现方法,这不利于学习者对于Verilog HDL编程语言的整体构建设计思路。编写出适合Verilog HDL实验教学的实验讲义正是本课题研究的意义所在。
Verilog HDL的实验讲义除了要介绍了其目的和内容要求,还应介绍实验原理和程序设计的思路和方法,给出了实验的软件仿真和硬件测试的结果。这不仅有利于学习者更好地掌握Verilog HDL这门课程的实验内容设计和开发方法,更有利于引导学习者以后对FPGA设计开发的方法构思,激发他们对Verilog HDL语言的兴趣爱好,培养他们的创新能力。
1.2本设计的主要工作
本次设计主要设计了八个实验,五个基础实验:流水灯、数码管动态显示、表决器、四路抢答器、同步复位和异步复位,三个综合实验:交通灯、数字计算器、 LCD显示与抢答器的综合。每个实验均要给出实验目的、内容、原理、程序设计方法、软硬件仿真结果、UCF配置文件。为了方便学生学习Basys2开发板的使用,在第三章也给出了Basys2的开发流程。
第二章 Verilog HDL和FPGA介绍
2.1 Verilog HDL介绍
Verilog HDL 是一种硬件描述语言,用于从算法级、门级到开关及的多种概括虚拟的设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统可以分层次地来描述,并可在相同的描述中明显地体现出进行时序建模[2]。
Verilog HDL支持硬件设计的开发、验证、综合和测试;硬件数据之间的通信;硬件的设计、维护和修改。Verilog HDL 可以在各种抽象层次上描述数字电路,能测试不同种类的层次的数字电路的功能,还能设计出高效正确复杂的数字电路结构,因此Verilog HDL功能非常强大[2]。Verilog HDL已经成为数字系统设计的首选语言,并成为综合、验证和布局布线技术的基础。使用Verilog HDL来设计数字系统是当今社会的趋势,小到一些简单的逻辑门,大到复杂的CPU,而技术发展的趋势是数字化,所以未来Verilog HDL的应用领域肯定会越来越广。在设计中小型数字系统时,采用Verilog HDL明显优于采用其他硬件描述语言。另外,Verilog HDL的语法非常类似于C语言,比较灵活,容易学习和应用[2],若有C的基础,能在一个比较短的时间内学习和掌握,因此很多的大型公司一般都会采用Verilog HDL作为数字系统设计的首选语言[2]。
2.2 FPGA
2.2.1 FPGA简介
FPGA(Field Programmable Gate Array)即现场可编程门阵列,它是在PAL、EPLD、GAL等可编程器件的基础上进一步发展的产物。作为专业集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点[3]。
FPGA的设计流程就是利用开发工具对FPGA芯片进行开发的过程。FPGA的开发流程包括电路设计、设计输入、行为仿真、功能仿真、综合、设计实现与布局布线、生成可编程文件、开发软件仿真与验证、开发板仿真与验证,以及芯片编程与调试等主要步骤[3]。
FPGA的使用非常灵活,对于同一片FPGA,通过烧写不同的编程数据可以产生不同的电路功能。FPGA有很多的优势:FPGA能让数字系统里可靠性高、效率高、小型化、功耗低。可以完全让用户自己设计电路调试程序来完成用户自己想要实现的功能[4]。FPGA可以多次修改,在修改的过程中可以保持开发板的电路结构不变。实现不同的FPGA设计时只需要电脑修改程序即可,不必大费周章地去修改硬件电路,所以比较灵活轻松。很多工作只要在实验室就能完成了,能大大地提高效率,缩短时间,减少开发成本。基于FPGA的大容量、低电压、低功耗、系统级高密度、融合度高、动态可重构等优势,FPGA的市场势必会扩大。
目前,FPGA在通信、数字信号处理、计算机网络、生厂仪器、工业、军事和航空航天等众多领域已经得到了广泛应用[3]。
2.2.1 ISE简介[3]
进行FPGA开发需要特定专用的FPGA工具软件,功能包含FPGA程序的编写、综合、仿真及下载等。目前FPGA工具软件分为两类:一类是其他专业的EDA软件公司提供的辅助软件工具,统称为第三方软件;另一类是FPGA芯片生产商直接提供的集成开发环境,如Xilinx公司的Foundation Series ISE(简称ISE)、Altera公司的Quartus Ⅱ,以及Lattice公司为ispLSI器件提供的ispDesignExpert软件等。在本文是使用集成开发软件ISE进行FPGA设计[5]。
ISE软件是一个FPGA的硬件设计开发工具,具有界面良好、容易操作的特点。
ISE的主要功能包括设计输入、综合、仿真、实现和下载。
设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD,以及用于约束文件的编辑Constraint Editor等。
综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以继承Mentor Graphics公司的LeonardoSpectrum 和 Synplicity 公司的 Synplify。
仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用ModelSim进行仿真的接口。
实现:此功能包括了映射、翻译、布局布线等。
下载:下载功能包括将布局布线后的设计文件转换为位流.bit文件,还包括了进行设备配置和通信的功能,控制将程序烧写到FPGA芯片中[3]。
2.2.1 开发板Basys2简介
本文使用的FPGA开发板是Basys2 ,FPGA
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2520.html