设为首页 加入收藏

TOP

我的 FPGA 学习历程(02)—— 实验:点亮 LED 灯(一)
2017-10-10 12:30:36 】 浏览:1499
Tags:FPGA 学习 历程 实验 :点亮 LED

关于 Quartus 的操作可以使用 Quartus 自带的帮助,帮助中带有全套的操作教程。

中文网络教程链接(链接至 altera中文官网,点击观看)

  1. Quartus II 软件设计系列:基础
  2. Quartus II 软件中的原理图设计
  3. SignalTap II 嵌入式逻辑分析器
  4. 使用 Nios II 处理器
  5. 系统控制台
  6. Nios II 处理器开发软件:设计流程
  7. Nios II 处理器开发软件:MMU 和 MPU

无论是英文帮助还是网络中文教程,他们的前提是 你是有基础的,这些教程之会教给你我们的 quartus 套件该如何使用,至于 verilog 你应该实现学习,处理器的基本支持您应该都听的懂。入门知识并不在他们的职责之内,这本无可厚非,却给了入门带来了极大的困难。

这是我的第一个实验,目的是用一个按键控制一个 LED 灯,使用原理图输入。

1. 点击 file –> new project wizard,新建一个项目

新建
		    <br>
		   <a href='https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=i52niqlt' target='_bank'> <img src=
钅1" src="https://www.cppentry.com/upload_files/article/92/1_wtiwu__.png" width="806" height="630" />

 

2. 输入工程目录

        quartus要求事先新建一个空目录用于保存项目文件,路径不能有中文和空格。

        此外项目名称和顶层模块名称一般和目录名称一致。

        第三行的名称在使用 HDL 输入时必须和 顶层模块名称一致,否则编译报错,这里用的是原理图输入,暂时可以不管

新建项目2

3.添加其他文件到项目中

        如果你已经写好了 verilog 文件,并且顶层模块名称与项目要求一致,在这里添加其他文件路径,这里我们留空。

新建项目3

4.选择 FPGA 的型号。

       我用的 AX301 板上的 FPGA 属于 Cyclone IV EP4CE6FC8N,

Cyclone IV 是 Altera 的低端系列,Cyclone IV 有两个系列,其中 E 系列为不带高速收发器,而GX 系列带有高速收发器。另外结尾的 N 代表无铅工艺,L 代表 低电压。

       从下面的表格中可也看到,该芯片有 6272 个 LE 单元,180 个用户管脚,2 个锁相环。

新建项目4

5.其他工具

       quartus 可以使用其他工具来完成 FPGA 的设计,第一项是综合器的选择,第二项是仿真工具的选择,第四项是板级选择。

       因为我们用不着,所以留空。

新建项目5

6.项目总览

      用于确认前几部的选择是否正确,看看就可以。

新建项目6

7.项目建成之后,点击 file –-> new,新建一个原理图文件

新建原理图文件

8.原理图编辑器

       双击原理图空白处,弹出以下对话框,在搜索框中输入 not,表示选择非门。

同理 and2 就是两输入的与门、or2 就是或门。要注意看看其他原件的符号,免得用的时候不知道。

加入非门

       输入完成后是这个样子,箭头按钮表示选择,小手表示拖动,此外还有导线(wire),总线(bus)和几个绘图按钮(方块、椭圆什么的)

如果输入或者输出是总线,则需要把名称改为像这样的 led[7..0],而不是 led[7:0]。

除了输入输出、符号之外,导线也可命名(右键点击导线,进行重命名)。

quartus 和 protel 一样使用网络标号来连接导线和总线,比如把一段总线命名为 a[3..0],接着把四根其他导线命名为a[3]、a[2]、a[1]、a[0],就可以可以实现他们之间的连接。

非门原理图

9.分配 FPGA 管脚

        这个项目中用到了两个引脚,一个按键和一个 LED,查看用户手册,我的用户手册如下

按键对应引脚

LED引脚

        这里我选择使用 LED0 和 KEY1,需要记住两个引脚名称 G15 和 E15。(-?-;)

       分配管脚后

分配管脚

10.项目设置

        这片 EP4CE6F17C8 芯片上可以接多个时钟,但由于该芯片内置了 PLL (锁相环,用于分频,倍频,改变时钟相位),对于初学者而言锁相环就够了并不需要使用多个时钟,所以芯片上就多出来的时钟管脚就用在按键上了,这个需要设置一下

       在 project –> settings 下点击右上角的 Device…

设置

       找到 Device and Pin Options 这个页面,设置复用管脚为普通管脚特殊管脚设置

       设置不用的管脚为三态,点击确定

未使用管脚设置为三态

        由于上次我们没有设置引脚对应的管脚,虽然也生成了 sof 文件,但这个文件不能用。需要再次编译一下项目。

        编译后查看一下警告、错误和提示信息。这里提示的是没有时序约束文件,初学者不用理会。

编译报告(没有时序约束文件)

        警告提示没有时钟,时钟在时序逻辑中一定会用到,这里是简单组合逻辑,没用用到时钟

        而最上面的提示就是多用管脚的设置信息。

编译报告(没有时钟和管脚分配问题)

       分配管脚后原理发生了变化,图上显示了分配的管脚名称

分配管脚后的原理图编辑器

11.USB-Blaster 驱动安装

黑金的手册和视频上反复强调,不要带电插拔 Jtag 线(就是那组10pin 的排线),由于低端的 Cyclone IV 中没有钳位二极管,带电插拔 Jtag 口可能会烧坏 FPGA,我的流程是先关闭开发板开关,连上 Jtag 的两头,将 USB-Blaster 的另一头接上 usb 线,然后连接 USB-blaster 到电脑,连接开发板电源,最后打开开发板电源开关。

         连好 USB-Blaster 到电脑,在控制面板依次找到 系统和安全 >> 系统 >> 设备管理器

       没有安装驱动的在设备管理器中选择有黄色感叹号的设备,选择更新
编程开发网

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇我的 FPGA 学习历程(02)—— 实.. 下一篇我的 FPGA 学习历程(02)—— 实..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }