欢迎来到天天文库
浏览记录
ID:55788762
大小:898.50 KB
页数:13页
时间:2020-06-02
《FPGA 触发器与计数器实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、上海电力学院FPGA应用开发实验报告实验名称:触发器与计数器专业:电子科学与技术姓名: 班级:学号:1.触发器功能的模拟实现实验目的:1.掌握触发器功能的测试方法。2.掌握基本RS触发器的组成及工作原理。3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。4.掌握几种主要触发器之间相互转换的方法。5.通过实验,体会EPLD芯片的高集成度和多I/O口。实验说明:将基本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集一个FPGA芯片中模拟其功能,并研究其相互转化的方法。实验的具体实现要
2、连线测试,实验原理如图所示:2.计数器在VHDL中,可以用Q<=Q+1简单地实现一个计数器,也可以用LPM来实现。下面分别对这两种方法进行介绍。方法一:第1步:新建一个Quartus项目。第2步:建立一个VHDL文件,实现一个8位计数器。计数器从“00000000”开始计到“11111111”,计数器的模是256。计数器模块还需要包含一个时钟clock、一个使能信号en、一个异步清0信号aclr和一个同步数据加载信号sload。模块符号如下图所示:第3步:VHDL代码如下:第4步:将VHDL文件
3、另存为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步:选择
4、Tools->MegaWizardPlug-InManager命令,打开如下图所示的对话框。第2步:直接单击Next按钮,出现如下图所示的对话框。如图所示,在左边的选择框中选择“LPM_COUNTER”,在输出文件类型单选框中选中“VHDL”,并输入文件名为“counter_lpm”。第3步:完成设置后直接单击Next按钮,打开如下图所示的对话框。在输出位数的下拉框中选择“8bits”,在计数方向的单选框中选中“Uponly”。这个设置表示生成的计数器是8位加法计数器。第4步:独立设计模为七的计
5、数器第4步:单击Next按钮后,出现如下图所示的对话框。在该对话框中选择添加额外的端口,在这里选中“CountEnable”选项,表示添加了一个计数使能端口,此时在左边的图形符号中可以看到多了一个“cnt_en”的引脚。第5步:单击Next按钮,打开如下图所示的下一个对话框。在同步输入(Synchronousinputs)处选择“Load”,在异步输入(Asynchronousinputs)处选择“Clear”。表示在计数器中添加了一个同步置数端和一个异步清0端,在左边的图形符号中可以看到又添加
6、了一个aclr、sload和用于置数用的data[7..0]。第6步:继续单击Next按钮直到结束为止。到此即完成了一个8位计数器的设计,同时生成了一个VHDL文件此couter_lpm.vhd。第7步:接着需要将生成的couter_lpm.vhd文件添加到项目中,如下图所示,在项目浏览器窗口中,右击“DeviceDesignFiles”,在下拉菜单中选择“Add/RemoveFilesinProject”命令。第8步:选择添加文件命令后,打开如下图所示的对话框。在“Filename”处可直接输
7、入将添加的文件名,或通过点击右边的浏览按钮,打开浏览窗口,选择需要添加的文件。然后点击右边的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~
8、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步:将原理图保存为c
此文档下载收益归作者所有