好文档 - 专业文书写作范文服务资料分享网站

浙大fpga实验一 简单分频器的设计

天下 分享 时间: 加入收藏 我要投稿 点赞

专业:电子信息工程 姓名: 学号: 日期: 地点: 实验报告 课程名称: FPGA应用 指导老师: 成绩: 实验名称: 简单分频器的设计 实验类型: 同组学生姓名: 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得

一、 实验目的

1. 熟悉Xilinx ISE软件,学会设计、仿真、综合和下载 2. 熟悉实验板电路设定的方法

二、 实验内容

根据实验板上晶振的输入频率50MHz ,如果直接用这么高的时钟频率来驱动LED 的闪烁,人眼将无法分辨。因此本实验着重介绍如何通过分频计数器的方式将50MHz 的输入频率降低为人眼可分辨的频率(10Hz 以下),并在实验板的LED2~LED5上显示出来。

三、 主要仪器设备 1. 电脑 2. 实验板

3. 实验电源及下载线 四、

实验记录及分析

主要程序: reg [22:0]cnt;

always @(posedge clk ) if (rst_n) cnt <=23'd0;

else cnt <=cnt +1'b1; //带复位键的位宽为24位的分频计数器,以降低闪烁频率reg [7:0]led; always @(posedge clk ) if (rst_n)

led <=8'b00000001; //按键复位

else if ((cnt==23'h7fffff) &&(led==8'b10000000))

led <=8'b00000001; //循环一周后从D5开始下一周的循环 else if (cnt==23'h7fffff)

led <=led <<1; //左移一位,右端补零 assign led_d2=~led[2]; assign led_d4=~led[4];

assign led_d3=~led[3];

assign led_d5=~led[5]; assign led_d0=~led[0]; assign led_d1=~led[1];

assign led_d6=~led[6]; assign led_d7=~led[7];

实验现象: 初始状态时,led0亮,其余熄灭,一个clk信号后,led1亮,其余熄灭,依次不断循环,由于闪烁时间很短,所以观察的时候看到的led灯跑得很快。

思考题:

1. 若要 LED 实现 2Hz 的闪烁频率,分频计数器应当如何改写。 2. 设计 3个灯同时走的走马灯实验,频率是6秒

1.程序:

Reg[22:0]cnt;

always @(posedge clk ) if (rst_n) cnt <=17'd0;

else cnt <=cnt +1'b1; //带复位键的位宽为23位的分频计数器, 以降低闪烁频率 reg [7:0]led; always @(posedge clk ) if (rst_n)

led <=8'b00000001; //按键复位

else if ((cnt==17'h17d7840) &&(led==8'b10000000)) led <=8'b00000001; //循环一周后从 D5开始下一周的循环 else if (cnt==17'h17d7840)

led <=led <<1; //左移一位,右端补零

分析:(25*10^6) 10=(17d7840) 16, 需要 23位的分频器,将分频信号cnt设为 23位,cnt==23'h17d7840时进行移位。

实验现象:走马灯如上述实验中方式闪烁,只是闪烁频率变小,以0.5s的速度闪烁。

2.程序:

reg [26:0]cnt;

always @(posedge clk ) if (rst_n) cnt <=27'd0;

else cnt <=cnt +1'b1; //带复位键的位宽为 27位的分频计数器,以降低闪烁频率 reg [7:0]led;

always @(posedge clk ) if (rst_n)

led <=8'b00000111; //按键复位

else if ((cnt==27'ee6b280) &&(led==8'b1110000))

led <=8'b10000011; //循环一周后从 D7开始下一周的循环 else if (cnt==27'ee6b280)

led <=led<<3; //左移 3位,右端补零

分析:每次将3个灯一起赋值, 通过1、0来控制led熄亮,要让3个灯亮,就是111,闪烁时间要是6s,就是1/6 HZ,要选用27位宽分频计数器,(50*5*10^6)10=(ee6b280)16 ,所以cnt==27'ee6b280时进行移位。

实验现象: 开始时三个 led: led0, led1,led2亮,经6s跳到led3,led4,led5,再到led6,led7,led0,再到led1,led2,led3,再到led4,led5,led6,再到led7,led0,led1,再到led2,led3,led4,再到led5,led6,led7,最后回到 led0, led1, led2不断循环,每三个为一组的led闪烁频率是6s。

五、 心得体会

这次实验初步接触了Xilinx ISE软件,我对FPGA基础开发有了简单的了解,实验板所用的led是上拉控制,可以通过取反达到走马灯效果,在设计过程中,要理解程序控制的对象,从而进行改写得到最终的结果。

浙大fpga实验一 简单分频器的设计

专业:电子信息工程姓名:学号:日期:地点:实验报告课程名称:FPGA应用指导老师:成绩:实验名称:简单分频器的设计实验类型:同组学生姓名:
推荐度:
点击下载文档文档为doc格式
0hl6a94z3r3z01x0bvw21wxgu8k84a00nee
领取福利

微信扫码领取福利

微信扫码分享