FPGA实战(一)LED闪烁实验

来自正点原子的学习笔记

1 LED简介

发光二极管

2 硬件设计

核心板原理图
在这里插入图片描述ZYNQ的LED分为PL和PS的部分,入门需要掌握的是PL的LED

3 程序设计

实验任务:使用底板上的两个PL端LED,实现交替闪烁的效果。

本次实验程序设计的思路,假设点亮都时间为0.5s
在这里插入图片描述

下面开始

(1) 创建工程文件(暂不导入源文件)

小白的话建议从我这个博客看起:Vivado 2018.3入门教程:创建工程+新建源文件.

依次点击create project 、next
在这里插入图片描述

在这里插入图片描述注意勾选,现在不指定源文件,待会儿我们自己添加
在这里插入图片描述我的ZYNQ7020的开发板,对应的芯片型号是xc7z020clg400-2
2代表速度等级,丝印上是看不到的。选1其实也可以

再依次点击next、finish
在这里插入图片描述
到这里,工程已经创建完毕了

(2) 新建源文件

添加或者新建一个设计源文件

在这里插入图片描述
点击create file
在这里插入图片描述
输入创建的源文件的名称

在这里插入图片描述
点击finish
在这里插入图片描述
然后自动弹出来这个框,用于指定输入输出端口(暂时不配置IO)
在这里插入图片描述
我们先不在这里定义了,点击yes
在这里插入图片描述
现在可以看到,源文件已经创建成功了
.v表示使用的是Verilog语言

然后双击打开
在这里插入图片描述把前面部分全删掉
第一行是有关编译的,跟仿真有关,可以先删除掉

`timescale 1ns / 1ps

删完后,只剩底下一个module模块
在这里插入图片描述

(3)逻辑编写(笔记都在注释里哦)

module led_twinkle2(
//这里面定义输入输出端口,如果刚才定义了这儿就会自动生成

    );
    //编写用户逻辑代码   
    
    
    
    
endmodule//模块结束


下面开始编写逻辑


module led_twinkle2(
//这里面定义输入输出端口,如果刚才定义了这儿就会自动生成
	input 				clk,
	input 				rst_n,//_n是低电平有效
	
	output [1:0]		led//建议对齐
    );
    //编写用户逻辑代码  

    
    
    
reg [25:0] cnt ;
    //此处需要计算,50MHz的时钟频率,1s中就要计数50000000次,换算成二进制的位宽为26位
       
       //(2)部分
assign led = (cnt < 26'd2500_0000)? 2'b01 : 2'b10 ;

		//(1)计数器部分 
always @ (posedge clk or negedge rst_n)begin 
	if(!rst_n)//复位信号低电平有效的阶段
	//当复位的时候,需要给计数器清零
		cnt <= 26'd0;
	else if(cnt < 26'd5000_0000)//复位结束之后,就是进行计数
		cnt <= cnt + 1'b1;//是b不是d,直接over
	else //等于50000000的时候,
		cnt <= 26'd0; //清零,重新开始计数

end
    
    
endmodule//模块结束

(4) 管脚IO分配(前面跳过了)

然后进行管脚分配(很重要的一个步骤!)
在这里插入图片描述然后,管脚分配的页面需要我们手动去打开!
layout->IO planning
在这里插入图片描述或者直接右上角(建议!!)
在这里插入图片描述

如果对于约束文件里的 管脚分配 不太明白的,可以看看我这个博客
也就是J15 H18的选择
constraints约束文件.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面两个图里生成的IO口配置文件内容

是错的! 注意BANK应该为34/35! 具体参见:

看这里!.

先给一张正确的图
在这里插入图片描述

(5)生成比特流文件

然后点击生成比特流文件
点击yes,
在这里插入图片描述
生成的过程需要一定的时间哦!

再点击OK
此时可以看到右上角有一个转动的圆圈,说明正在生成中
在这里插入图片描述点击这个键,可以查看进度

在这里插入图片描述
成功生成之后,会自动弹出这个图,看到这个图的时候,说明比特流文件生成成功!
如果不成功的话点击这儿哦,可以看看报错来解决.
在这里插入图片描述

(6)硬件调试

打开硬件调试窗口

方法一:直接点击"cancel",然后手动打开左下角的硬件调试串口
在这里插入图片描述
方法二:如图所示,然后点击OK
在这里插入图片描述

连接好硬件,打开电源

连接好硬件之后,open target -> autoi connect
在这里插入图片描述
这个表示识别出来了!
在这里插入图片描述
在这里插入图片描述直接点击即可
在这里插入图片描述最后,应该就能看到两个等交替闪烁的现象了!

注意,如果在硬件调试窗口改动代码,是没有用的!
关键在于,你已经生成了一个比特流文件(类似于编译
修改代码当然没有用了

所以正确做法:(硬件调试期间)如果修改了代码,那就得重新生成了新的比特流文件了

至于每次生成比特流文件的时间
没办法咯!

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值