fpga触发器及计数器实验报告.docx

上传人:b****9 文档编号:24945099 上传时间:2023-06-03 格式:DOCX 页数:12 大小:788.64KB
下载 相关 举报
fpga触发器及计数器实验报告.docx_第1页
第1页 / 共12页
fpga触发器及计数器实验报告.docx_第2页
第2页 / 共12页
fpga触发器及计数器实验报告.docx_第3页
第3页 / 共12页
fpga触发器及计数器实验报告.docx_第4页
第4页 / 共12页
fpga触发器及计数器实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

fpga触发器及计数器实验报告.docx

《fpga触发器及计数器实验报告.docx》由会员分享,可在线阅读,更多相关《fpga触发器及计数器实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

fpga触发器及计数器实验报告.docx

fpga触发器及计数器实验报告

XX电力学院

FPGA应用开发实验报告

 

 

实验名称:

触发器与计数器

专业:

电子科学与技术

姓名:

班级:

学号:

 

1.触发器功能的模拟实现

实验目的:

1.掌握触发器功能的测试方法。

2.掌握根本RS触发器的组成及工作原理。

3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。

4.掌握几种主要触发器之间相互转换的方法。

5.通过实验,体会EPLD芯片的高集成度和多I/O口。

实验说明:

将根本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集一个FPGA芯片中模拟其功能,并研究其相互转化的方法。

实验的具体实现要连线测试,实验原理如下图:

 

2.计数器

在VHDL中,可以用Q<=Q+1简单地实现一个计数器,也可以用LPM来实现。

下面分别对这两种方法进展介绍。

方法一:

第1步:

新建一个Quartus工程。

第2步:

建立一个VHDL文件,实现一个8位计数器。

计数器从“00000000〞开场计到“11111111〞,计数器的模是256。

计数器模块还需要包含一个时钟clock、一个使能信号en、一个异步清0信号aclr和一个同步数据加载信号sload。

模块符号如下列图所示:

第3步:

VHDL代码如下:

第4步:

将VHDL文件另存为counter_8bit.vhd,并将其设定为工程的最顶层文件,再进展语法检查。

第5步:

语法检查通过以后,用KEY[0]表示clock,SW[7..0]表示data,SW[8~10]分别表示en、sload和aclr;LEDR[7..0]表示q。

第6步:

引脚分配完成后,编译并下载。

第7步:

修改上述代码,把计数器的模更改为100,应如何操作。

模为100的计数器,VHDL代码如下:

方法二:

使用LPM实现8位计数器。

LPM是指参数化功能模块,用LPM可以非常方便快捷地实现一个计数器。

第1步:

选择Tools->MegaWizardPlug-InManager命令,翻开如下列图所示的对话框。

第2步:

直接单击Next按钮,出现如下列图所示的对话框。

如下图,在左边的选择框中选择“LPM_COUNTER〞,在输出文件类型单项选择框中选中“VHDL〞,并输入文件名为“counter_lpm〞。

第3步:

完成设置后直接单击Next按钮,翻开如下列图所示的对话框。

在输出位数的下拉框中选择“8bits〞,在计数方向的单项选择框中选中“Uponly〞。

这个设置表示生成的计数器是8位加法计数器。

第4步:

独立设计模为七的计数器

第4步:

单击Next按钮后,出现如下列图所示的对话框。

在该对话框中选择添加额外的端口,在这里选中“CountEnable〞选项,表示添加了一个计数使能端口,此时在左边的图形符号中可以看到多了一个“t_en〞的引脚。

第5步:

单击Next按钮,翻开如下列图所示的下一个对话框。

在同步输入〔Synchronousinputs〕处选择“Load〞,在异步输入〔Asynchronousinputs〕处选择“Clear〞。

表示在计数器中添加了一个同步置数端和一个异步清0端,在左边的图形符号中可以看到又添加了一个aclr、sload和用于置数用的data[7..0]。

第6步:

继续单击Next按钮直到完毕为止。

到此即完成了一个8位计数器的设计,同时生成了一个VHDL文件此couter_lpm.vhd。

第7步:

接着需要将生成的couter_lpm.vhd文件添加到工程中,如下列图所示,在工程浏览器窗口中,右击“DeviceDesignFiles〞,在下拉菜单中选择“Add/RemoveFilesinProject〞命令。

第8步:

选择添加文件命令后,翻开如下列图所示的对话框。

在“Filename〞处可直接输入将添加的文件名,或通过点击右边的

浏览按钮,翻开浏览窗口,选择需要添加的文件。

然后点击右边的Add按钮,即完成。

第9步:

将couter_lpm.vhd设定为顶层设计文件,进展语法检查后,执行与方法一一样的操作即可。

 

3.时钟电路

利用上面设计好的计数器和分频器设计一个实时的时钟。

一共需要1个模24计数器、2个模6计数器、2个模10计数器、一个生成1Hz的分频器和6个数码管解码器。

最终用HEX5~HEX4显示小时〔0~23〕,用HEX3~HEX2显示分钟〔0~59〕,用HEX1~HEX0显示秒钟〔0~59〕。

具体步骤如下:

第1步:

新建一个QuartusII工程,将其命名为Clockcircut。

第2步:

建立各功能模块〔计数器、分频器及7段数码管〕的VHDL文件,并分别将它们设置成顶层文件,进展编译和仿真。

〔1〕模为24的计数器VHDL代码:

〔2〕模为6的计数器VHDL代码:

〔3〕模为10的计数器VHDL代码:

〔4〕7段数码管的VHDL代码:

〔5〕50M分频的分频器VHDL代码:

第3步:

语法检查通过后直接生成符号。

第4步:

采用图形编辑器,将几个模块连接起来构成一个时钟。

第5步:

将原理图保存为clockcircuit.bdf,并进展语法分析,确定无误后在进展引脚分配。

第6步:

锁定引脚以后,对工程进展全编译,然后下载到开发板上观察实验现象。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1