欢迎来到天天文库
浏览记录
ID:35350614
大小:2.83 MB
页数:17页
时间:2019-03-23
《FPGA实验一:简单分频器的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、专业:__电子信息工程__姓名:_____陈华杰_____学号:______日期:___星期五上午___地点:应电楼303桌号2组实验报告课程名称:_____FPGA实验______指导老师:__竺红卫/陈宏__成绩:__________________实验名称:___实验一:简单分频器的设计____实验类型:_FPGA实验_同组学生姓名:__一、实验目的和要求(必填)1.熟悉XilinxISE软件,学会设计、仿真、综合和下载;2.熟悉实验板电路设定频率的方法。二、实验内容和原理(必填)实验内容:根据实验板上晶振的输入频率5
2、0MHz,如果直接用这么高的时钟频率来驱动LED的闪烁,人眼将无法分辨。因此本实验着重介绍如何通过分频计数器的方式将50MHz的输入频率降低为人眼可分辨的频率(10Hz以下),并在实验板的LED0~LED7上显示出来。LED照片如下图:实验原理:实验板在滑动开关的上面有8个独立的贴片LED。LED一端接地,另一端通过390欧的限流电阻接到Spartan-3E上。要点亮一个LED,向相应的控制位置输出高电位。三、主要仪器设备(必填)1.电脑一台;2.实验板一块,XilinxSpartan-3E;3.实验板电源一只;4.实验板连
3、接电脑的下载线一根。四、实验步骤和现象1.新建Project和VerilogModule打开电脑桌面上的XilinxISE14.1软件,选择project→newproject建立新项目,输入projectname。第17页,共17页核对选择Spartan3E和XC3S500E和FG320的封装形式。跳出下面的选择框。第17页,共17页选择NewSource,并在下面的选择框中选VerilogModule,填写刚才的newprojectname。跳出下面的选择框。点击NEXT。第17页,共17页输入文件名,跳出下面的选择框。
4、点击NEXT。跳出下面的选择框。点击FINISH。第17页,共17页2.建立约束文件选中SourceforProject窗口中的test1.v文件,在Processes进程窗口中双击CreateNewSource。进入NewSource对话框,选择ImplementationConstraintsFile,并键入FileName“test1”和Location(路径),Next.第17页,共17页选择NEXT,出现下面的对话框,选择FINISH。在Processes进程窗口中点开UserConstraints,进行时序约束和
5、引脚约束。时序约束可不设定,这里着重介绍引脚约束。然后将文件保存。第17页,共17页3.输入代码点击.v文件名,并双击,打开代码输入界面。输入代码(例程):`timescale1ns/1ns第17页,共17页modulerace(rst_n,clk,led_d0,led_d1,led_d2,led_d3,led_d4,led_d5,led_d6,led_d7);inputrst_n;inputclk;outputled_d0;//VX-SP3e开发板上位号为D0的LEDoutputled_d1;//VX-SP3e开发板上位号
6、为D1的LEDoutputled_d2;//VX-SP3e开发板上位号为D2的LEDoutputled_d3;//VX-SP3e开发板上位号为D3的LEDoutputled_d4;//VX-SP3e开发板上位号为D4的LEDoutputled_d5;//VX-SP3e开发板上位号为D5的LEDoutputled_d6;//VX-SP3e开发板上位号为D6的LEDoutputled_d7;//VX-SP3e开发板上位号为D7的LED//----------------------------------------------
7、-----------------------------//clk使用的是输入频率为50MHz的时钟,cnt各位的频率将如//cnt[23]=2.98Hz;cnt[24]=1.49Hz;cnt[25]=0.745Hz。//如果希望走马灯使用其他频率闪烁,修改cnt的位宽即可//---------------------------------------------------------------------------reg[22:0]cnt;always@(posedgeclk)if(rst_n)cnt<=23'd
8、0;elsecnt<=cnt+1'b1;//带复位键的位宽为23位的分频计数器,以降低闪烁频率reg[7:0]led;always@(posedgeclk)if(rst_n)led<=8'b00000001;//按键复位elseif((cnt==23'h7fffff)&&(led==8'b
此文档下载收益归作者所有