社区导航

 

搜索
查看: 609|回复: 2

[资源共享] FPGA实践(一)点亮8个LED灯

[复制链接]

395

TA的帖子

7

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-4-12 19:16 | 显示全部楼层 |阅读模式
本帖最后由 bqgup 于 2019-4-12 19:20 编辑
    在FPGA的大多数时钟中,我们都会用到时钟线,由于第一次接触FPGA,就先来个不需要时钟直接把电平拉低的实验——点亮8个LED灯。在进行程序操作之前,我们先分析一下原理图,根据原理图来设计程序。

10.jpg

其中8个10K的电阻,用来分压保护电路,LED灯作为一个二极管,其导通电压为0.7V,我们在LED阴极端接地,当引脚为高电平时(在FPGA中高电平引脚为+3.3V),加入不计电阻,则压降为3.3V>0.7V,LED灯导通,当引脚为低电平(0V)时,压降无法大于0.7V,LED无法点亮。
我们根据这个电路原理来设计FPGA Verilog HDL语言,HDL语言和C语言较为相似,但是还是有差别的,具体差别就由各位网友自主查询。
在FPGA新建工程中,文件名字要和函数名字一致,如下图所示,否则报错。

2.png

下面我们根据电路原理来设计HDL程序,代码非常简单。

  1. module LED(
  2.                         output reg[7:0] LED8S
  3.                         );

  4. always [url=home.php?mod=space&uid=775551]@[/url] *

  5. LED8S <= 8'b1111_1111;//拉高引脚端口

  6. endmodule
复制代码



output reg[7:0] LED8S,将8个LED灯定义为输出,状态值存储在寄存器中
程序编辑完毕后,开始编译。

3.png

编译完成后如果出现错误,请检查语法,看看是否有语法、格式错误或文本内掺入了其他无法识别的字符,直至成功编译,编译完之后,因为我们要连接开发板看实际情况,因此我们需要配置引脚。
点击Assignment->Assignment Editor进入编辑界面:

4.jpg

开始配置引脚:


5.png

配置好引脚之后,一定要再编译一下:

6.png

编译完毕后连接开发板,插上下载线,下载线分为两个接口,一个为JTAG接口,通过JTAG下载的程序掉电会丢失;一个为AS接口,通过AS接口下载的程序掉电不会丢失。通常我们在日常调试过程中使用JTAG接口下载,因为速度相比较快,当所有程序都调试好之后才会使用AS接口下载。这里我先使用JTAG接口下载,后期再演示AS接口下载。下载时需要成功安装驱动,否则计算机无法和板子连接,上篇帖子讲了如何成功安装USB-Blaster驱动,不清楚的可以看一下。
Quartus II 9软件安装与配置中无法成功安装USB-Blaster驱动的可行性解决方案
准备板子如下:

6.jpg

7.png

8.png


点击Start,等待下载完毕。


11.jpg

我们看到LED已经被点亮了。当然我们的蜂鸣器也可以用同样的方法来处理,大家只需要改一下文件名(注意函数名和文件名要一致)和引脚就可以实现了。这个实验时最简单的一个,我们没有用到时钟来处理,所以下次我们开始进行小灯的亮灭、流水变化。
1.png


回复

使用道具 举报

395

TA的帖子

7

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-4-12 19:39 | 显示全部楼层
忘了上传工程文件了,我用的是EP2C8Q208C8N的板子, 1、点亮八个灯.rar (204.83 KB, 下载次数: 0)


回复

使用道具 举报

173

TA的帖子

0

TA的资源

宇宙尘埃

发表于 2019-4-13 09:14 | 显示全部楼层
谢谢分享!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /1 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-7-16 05:53 , Processed in 0.122695 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表