logo资料库

ax309 流水灯实验代码及教学.pdf

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
芯驿电子科技(上海)有限公司 021-67676997 www.alinx.cn www.heijin.org ISE 14.7 下 LED 流水灯实验 黑金动力社区 2017-07-26 1 实验简介 通过 LED 流水灯实验,介绍使用 ISE14.7 软件开发 FPGA 的基本流程,器件选择、设置、代码 编写、编译、分配管脚、下载、程序 FLASH 固化、擦除等;同时也检验板上 LED 灯是否正常。 2 实验环境  Windows 7 SP1 64 位  ISE Design Suite 14.7  黑金 FPGA 开发板(AX309 开发板、AX516 开发板、AX545 开发板) 3 实验原理 3.1 LED 硬件电路 AX309 开发板 AX516 开发板 LED 部分原理图 黑金 FPGA 版权所有 1 / 33
www.heijin.org AX545 开发板 LED 部分原理图 从上面的 LED 部分原理图可以看出,LED 电路有两个方式,AX309 开发板 AX516 开发板将 IO 经过 一个电阻和 LED 串联接地,IO 输出高电平点亮 LED。AX545 开发板 通过串联电阻接入电源,IO 输 出低电平点亮 LED。两种方式都是常见的方式,其中的串联电阻都是为了限制电流。 3.2 程序设计 FPGA 的设计中通常使用计数器来计时,对于 50Mhz 的系统时钟,一个时钟周期是 20ns,那 么表示一秒需要 50000000 个时钟周期,如果一个时钟周期计数器累加一次,那么计数器从 0 到 49999999 正好是 50000000 个周期,就是 1 秒的时钟。 程序中定义了一个 32 位的计数器: //Define the time counter reg [31:0] timer; 最大可以表示 4294967295,十六迚制就是 FFFFFFFF,如果计数器到最大值,可以表示 85.89934592 秒。程序设计中是每隔 1 秒 LED 变化一次,一共消耗 4 秒做一个循环。 timer <= 32'd0; always@(posedge clk or negedge rst_n) begin end if (rst_n == 1'b0) else if (timer == 32'd199_999_999) else timer <= 32'd0; timer <= timer + 32'd1; 在第一秒、第二秒、第三秒、第四秒到来的时候分别改变 LED 的状态,其他时候都保持原来 的值丌变。 // LED control always@(posedge clk or negedge rst_n) 黑金动力社区 2 / 33
www.heijin.org begin end led <= 4'b0001; if (rst_n == 1'b0) else if (timer == 32'd49_999_999) else if (timer == 32'd99_999_999) else if (timer == 32'd149_999_999) else if (timer == 32'd199_999_999) led <= 4'b1000; led <= 4'b0000; led <= 4'b0010; led <= 4'b0100; 4 建立工程 (1) 启动 ISE Design Suite 14.7 开发环境,点击 New Project 按钮 戒者是选择菜单 File->New project 黑金动力社区 3 / 33
www.heijin.org (2) 填写工程名称,添加工程保存位置,点击右边的按钮以选择工程保存位置,工作目录 一般和保存位置一致,只需将工作位置添加后编译器会自动添加工作目录,无需手动 添加,点击 Next(注意:在所有工程文件的建立和保存过程中,保存路径和文件名都 丌能有中文,空格戒者其他特殊字符); (3) 根据开发板上使用的芯片设置参数,在 AX309 开发板上设置如下: 黑金动力社区 4 / 33
www.heijin.org AX516 开发板,AX545 开发板设置如下: 设置完成后点击 NEXT (4) 完成工程导向,在确认信息不我们迚行的设置无误后直接点击 Finish 黑金动力社区 5 / 33
www.heijin.org (5) 乊后出现如下界面: 5 编写代码 (1) 新建 Verilog HDL 文件,在工程文件目录区单击右键,选择 New Source 黑金动力社区 6 / 33
www.heijin.org (2) 我们先找到工程的保存位置新建一个名为 src 的源文件,我们将所有的工程源文件模 块都保存在这个文件夹里面: (3) 选择 Verilog module 文件,填写模块文件的名称,将模块的保存路径切换为工程目录 下的 src 文件夹,点击 Next。 黑金动力社区 7 / 33
www.heijin.org (4) 保持默认直接点击 Next (5) 点击 Finish 完成模块建立。 黑金动力社区 8 / 33
分享到:
收藏