FPGA学习-4:初步入门点个灯

Posted [呲溜]

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA学习-4:初步入门点个灯相关的知识,希望对你有一定的参考价值。

环境配置好后就正式进入verilog的学习了

先从最简单的点灯开始

我会向你们介绍最基础的数据类型和语法规则

1

仍然是从我们熟悉的界面开始

转到顶层模块 start中


首先,verilog都是以模块为单位进行编程

模块以 “module” “endmodule” 作为界限

如图既是定义一个模块start,即顶层模块

当然,可以定义其它模块再设置为顶层模块


首先,一个电路模块肯定有输入输出

还有寄存器,逻辑控制什么的

先附上点灯代码

module start(
	input button,//按键输入
	output[2:0] led//3个led输出
 );
reg[2:0] dat=3\'b111; //3个led的状态寄存器
assign led = dat;//将寄存器的3个值连接到led输出

//当检测到按键下降沿时触发
always@(negedge button) begin
    //下面与c语言类似
    //但也有很大的区别
	if(dat == 3\'b000)begin
		dat = 3\'b111;
	end
	else begin	
		dat = dat - 3\'b1;	
	end
end
//结束
endmodule

这里看不懂没关系

后面再慢慢解释

先将这些代码写入顶层模块

2

然后保存一遍, 注意:一定要保存!!

既然有了代码,那么该如何点灯呢?

既不像51直接“led=1”

也不直接操作寄存器

这里FPGA采用了一种管脚映射的方式

打开TD软件的“Tools”菜单,点击“IO Constraint”

即可看到引脚设置界面

3

图正中的即芯片管脚图

而下面就会出现我们定义的几个输入输出通道

分别是:

button 对应K16引脚

led[0~2]分别对应R3,J14,P13这三个引脚

从开发板的原理图中可以看到

4

K16引脚对应“user”按钮

R3,J14,P13对应led_red,green,blue

利用管脚映射即可实现verilog模块对外部引脚的控制

设置好引脚后,即可关闭引脚编辑器

关闭时,它会提示你进行保存,点击确定,并保存引脚设置文件

此时,你的项目中就会多出一个 引脚设置文件:“.adc”

5

这样,点灯程序就完全配置完成了

接下来就是编译,烧录

6

点击此按钮进行编译

如果提示:没有license

参加这篇帖子


接下来就是烧录

使用micro-usb线插上tang permier

烧录要更新驱动

7

如果没有该设备

那么可能是这2个中的任意一个

no_driver_win10.png

no_driver.png

选择最可能是tang permier的设备

右键-更新驱动程序-浏览我的电脑以查找驱动程序

7

选择安路TD软件安装目录下的driver里选择正确的驱动

我的电脑是win10 64位,因此选择win8_10_64驱动

点击下一步进行安装


驱动更新完成后

再打开安路TD

8

点击此按钮进入烧录界面

9

根据图示进行烧录即可完成


烧录完成后

按下板子上的user按钮,就会发现led出现变换闪烁

主要还是因为按键抖动的原因导致时序错误

这个可以不用担心芯片是否会损坏

以上是关于FPGA学习-4:初步入门点个灯的主要内容,如果未能解决你的问题,请参考以下文章

CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第二件事就是 LED 驱动 ,点个灯

299元订阅MATLAB或FPGA学习教程,免费送任意2份代码以及学习教程案例源码(每周更新)

[从零开始学习FPGA编程-19]:快速入门篇 - 操作步骤4-1- Verilog 软件下载与开发环境的搭建- Altera Quartus II版本

嵌入式Linux入门-点灯要关注更底层的东西

[从零开始学习FPGA编程-16]:快速入门篇 - 操作步骤2-4- Verilog HDL语言描述语言基本语法(软件程序员和硬件工程师都能看懂)

[从零开始学习FPGA编程-20]:快速入门篇 - 操作步骤4-2-Altera Quartus II工具的快速使用(modelSim联合仿真程序下载到Altera开发板)