《FPGA设计与应用》实验指导书全Verilog版Word文档下载推荐.docx
- 文档编号:22474088
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:14
- 大小:380.40KB
《FPGA设计与应用》实验指导书全Verilog版Word文档下载推荐.docx
《《FPGA设计与应用》实验指导书全Verilog版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《FPGA设计与应用》实验指导书全Verilog版Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
3.实验报告
①按要求认真填写实验报告书;
②认真分析实验结果;
③按时将实验报告交给老师批阅。
三、实验学生守则
1.保持室内整洁,不准随地吐痰、不准乱丢杂物、不准大声喧哗、不准吸烟、不准吃东西;
2.爱护公务,不得在实验桌及墙壁上书写刻画,不得擅自删除电脑里面的文件;
3.安全用电,严禁触及任何带电体的裸露部分,严禁带电接线和拆线;
4.任何规章或不按老师要求操作造成仪器设备损坏须论价赔偿。
目录
实验一Uart通用串口接口的设计……………………………………………………4
实验二PS/2接口的设计……………………………………………………………28
实验三VGA显示接口设计…………………………………………………………30
附录一basys2开发板资料………………………………………………………36
实验一Uart串口控制接口电路的设计
一、实验目的
1.掌握分频模块的设计方法。
2.掌握并/串模块的设计方法。
3.掌握串/并模块的设计方法。
4.掌握发送模块的设计方法。
5.掌握接收模块的设计方法。
二、实验内容及基本原理
通用异步收发器是一种通用串行数据总线,用于异步通信。
该总线双向通信,可以实现全双工传输和接收。
它是一种应用非常广泛的短距离串行传输接口,主要应用于短距离、低速低成本的微机与下位机的实时通信中,然而这类芯片本身已经相当复杂,有的甚至含有许多辅助的功能模块(如FIFO),但是实际应用中常常不需要使用如此完整的UART的功能以及这些辅助功能。
本设计要求以Verilog语言进行基于FPGA的硬件逻辑设计,利用ISE进行控制器的设计,用C#实现上位机串口通信软件的设计。
说明:
一帧数据分为4个部分
S:
起始位(一般为0)d[7:
0]:
数据位(长度6~8bit)
PB:
校验位(可选)P:
停止位1(1、1.5或2bit)
本设计要求学生设计一个串行通信控制器,要求满足的功能要求如下:
(1)利用FPGA设计串行通信发射模块。
(2)利用FPGA设计串行通信接收模块。
(3)利用C#设计上位机软件,显示接收的数据。
三、实验步骤
1.新建一个工程,命名为uart.xise。
2.新建一个Verilog源文件,命名为uart.v,编写源文件,实现加法器功能。
3.综合
4.新建一个测试文件,命名为test.v,编写测试文件进行波形仿真。
5.新建一个约束文件,命名为uart.ucf。
6.实现
7.生成编程文件
8.下载
9.功能测试
四、主要仪器和设备
主要仪器和设备:
计算机,Basys2开发板。
五、实验报告要求
1.写出设计思想及框图
2.简述设计步骤和调试过程。
包括总体电路设计、相应模块设计,以及在ISE上完成的设计和仿真。
相关文档包括:
Verilog语言的源代码(程序要有详细的注释和功能说明)、引脚分配的约束文件、验证设计功能等设计的所有文档与调试的结果。
3.写出结论及心得体会。
4.按照实验报告模板,撰写实验报告。
实验报告各项内容都要填好,不能空缺。
源代码和图可以打印,其它内容手写。
实验二ps2键盘接口电路的设计
2.掌握发送模块的设计方法。
ps2是常见的AT键盘或鼠标的接口,本设计不适用于USB键盘或者已淘汰的XT键盘。
键盘上带有自己的微处理器,它不断地扫描按键输入,并把结果发送给接口。
对于一个ps2键盘来说,可以通过扫描码来识别按键输入。
扫描码与物理按键相关联。
所以,键盘中左shift键和右shift键拥有不同的扫描码。
当你按下键盘上一个按键时,Make扫描码被发送到ps2接口;
当释放按键时候,Break扫描编码被发送到ps2接口。
下表给出了键盘上所有按键的Make和Break扫描编码。
对所有的字母和数字来说,Make扫描编码是一个单字节,而其Break扫描编码则是在相同的单字节前面加上F0。
有些按键拥有两字节的Make扫描编码,它们以E0位引导。
注意:
按键PrnScrn和Pause非常特殊,它们分别有4个和8个字节的扫描编码。
键盘中的扫描编码和键值的ASCII码没有任何联系。
我们知道一个字母的大小写形式对应不同的ASICC码。
而键盘上为区分大小写输入,必须使用shift键,按后按下A键,然后依次松开A键和shift键。
从上表我们知道,在这一过程中,我们向ps2接口发送了以下字节:
121CF01CF012
当我们按住一个按键不放时,键盘的重复按键机制将启动。
在等待了大约0.25~1.00的重复按键延时后,键盘将持续发送按键的Make扫描编码,以每秒2~30个字符的速率输出字符。
本实验只从设备读取数据而不发送任何命令给设备。
因此,不需要使用三态门。
但是,我们需要对键盘输入的数据和时钟进行过滤。
过滤后的数据信号将被送到两个11位的移位寄存器中。
当两帧都被移位寄存器寄存后,第一个字节在shift2[8:
1]中,第二个字节在shift[8:
1]中。
1
P
D7
D6
D5
D4
D3
D2
D1
D0
shift1[10:
0]
shift2[10:
要求:
将键盘接到Basys2开发板的ps2接口,在键盘上按键,并将码值在数码管上显示出来。
输入部分:
clr按键:
总复位,clk:
为50MHZ。
Ps2clk:
键盘时钟,Ps2data:
键盘数据。
输出部分:
a_to_g:
数码管七段sel:
数码管位选dp:
小数点
当按下一键时,在键盘发送时钟ps2clk的作用下,将该键所对应的键值数据ps2data发送出去,其中第一位为起始位(低电平);
8位数据位(D0~D7,低位在前);
一个奇偶校验位;
一个停止位(高电平)。
1.新建一个工程,命名为ps2_key.xise。
2.新建一个Verilog源文件,命名为ps2_key.v,编写源文件,实现加法器功能。
5.新建一个约束文件,命名为ps2_key.ucf。
实验三VGA显示接口设计
1.掌握标准图像的模式和时序关系。
2.掌握VGA驱动电路的设计方法。
二、实验原理
VGA控制器是一个控制视频显示的5个信号的模块。
这些信号为行同步信号HS、场同步信号VS,以及基色信号R、G、B。
其中,三基色信号输出分别为红、绿、蓝三色发光极上来产生色彩的。
屏幕上的每一个颜色点称为一个像素。
显示器的颜色显示的工作原理取决于阴极射线管和液晶显示技术。
在两种情况下,屏幕总是控制像素点从左上角开始,并从左到右、从上到下依次逐行扫描显示,最终抵达屏幕的右下角。
每一行扫描结束时,用行同步信号进行同步;
扫描完成所有的行后用场同步信号进行同步。
输入到一个显示器的R、G和B信号是模拟信号。
然而,FPGA的输出信号却是数字信号,所以需要某种D/A转换器把它转变为模拟信号。
BASYS2开发板使用一个简单的3电阻电路把一个3位的R信号R(2:
0)转换为8电平的模拟信号VR。
采用类似的电路可以把一个3位的G信号G(2:
0)和一个2位的B信号R(1:
0)转换为相应的模拟信号。
BASYS2开发板支持8位的VGA彩色显示------3位红基色、3位绿基色和2位蓝基色。
这将产生256种不同的颜色。
通过对VGA显示基本工作原理的分析可知,要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。
基于像素时钟,VGA时序控制器必须产生HS和VS时序信号。
像素时钟定义了用于显示一个像素信息的时间,VS信号定义了显示的刷新频率,通常刷新频率在50Hz到120Hz之间。
给给定刷新频率后即定义了水平扫描频率即HS。
VGA的标准参考显示时序如下图所示。
行时序和帧时序都需要产生同步脉冲(Sync)、显示后沿(Backporch)、显示时序段(Displayinterval)和显示前沿(Frontporch)四个部分。
其中场频定义了显示的刷新频率,指定场频后所要扫描的行数指定了水平回扫频率即行频。
几种常用模式的时序参数如下表所示
VGA时序参考图
图像模式
行时序(μs)
场频(lines)
Tpw
Tbp
Tdisp
Tfp
Tpw
1024*768XGA(75Hz)
1.2
2.2
13
0.2
3
28
768
1024*768XGA(60Hz)
2.1
2.5
15.8
0.4
6
29
800*600SVGA(60Hz)
3.2
20
1.0
4
23
600
640*480VGA(75Hz)
2.0
3.8
20.3
0.5
16
480
本设计通过外部拨动开关SW0控制,产生三种模式的显示变化。
在ISE环境下用VHDL语言写出VGA显示器彩条信号发生器三种模式的产生过程,横彩条、竖彩条、行同步、场同步所对应的过程设计。
下图所示为VGA控制电路时序产生原理框图。
clkdivid模块为分频电路,对50MHz系统时钟进行分频产生50M/7Hz的像素时钟。
VGAcontrol模块为VGA显示控制电路模块,在像素时钟的驱动下首先产生行频信号,而后对行频信号进行分频产生58Hz场频信号。
由于VS与HS信号具有严格的时序匹配,即VS信号必须为HS信号的整数倍,以保证在场频信号有效期间,能够完整数行的扫描,本设计利用对行频信号进行计数分频来产生场频信号。
在模式控制开关的控制下,三基色信号分别在不同的模式下输出不同的信号。
下表为模式控制说明。
模式开关:
SW0上下拨动一次,产生高电平,改变显示模式,依次拨动SW0,显示模式在竖彩条模式、横彩条模式和棋盘模式之间循环切换。
竖彩条的产生:
利用行频产生计数器,分别在计数的不同时段赋予三基色信号不同的色彩信号。
例如程序当中行频计数器0~29计数,当计数器值0~3时,三基色信号赋予“111”;
当4~6计数时,三基色信号赋予“110”,如此类推,直到计数器值21~23期间赋予三基色信号“000”,23以后进行消隐以完成回扫过程。
横彩条的产生:
例如场频计数器0~481计数,当0~60计数时,三基色信号赋予“111”;
当61~120计数时,三基色信号赋予“110”,如此类推,直到421~479期间,三基色信号赋予“000”,479以后场频信号变低,以进行消隐,完成回扫。
棋盘格式显示的产生:
将以上两种情况进行异或,即相当于将横彩条和竖彩条进行叠加即可产生棋盘格式显示模式。
VGA显示控制器模式控制
模式1
SW0拨动第一次
竖彩条:
青红紫绿蓝黄白
模式2
SW0拨动第二次
横彩条:
白黄青绿紫红蓝黑
模式3
SW0拨动第三次
棋盘格显示模式
“一次”:
若拨码开关原始处于高电平,则拨动一次拨码开关指拨码开关拨至下方后快速回拨至上方,从新至于高电平位置。
若拨码开关原始处于低电平,拨动一次拨动开关指将拨码开关拨至上方后快速回至下方。
1.新建一个工程,命名为vga.xise。
2.新建一个Verilog源文件,命名为vga.v,编写源文件,实现计数功能。
5.新建一个约束文件,命名为vga.ucf。
VHDL语言的源代码(程序要有详细的注释和功能说明)、引脚分配的约束文件、验证设计功能等设计的所有文档与调试的结果。
附录一basys2开发板资料
Basys2电路连接图
Basys2引脚定义表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA设计与应用 FPGA 设计 应用 实验 指导书 Verilog