【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

之前我们虽然说过怎么编写verilog代码,怎么用iverilog软件和gtkwave软件进行仿真验证,但是一直没有说明如何在真实的板子上进行开发。今天正好来试一下。因为两年前买了ax301开发板,使用的是altera fpga,所以这些测试都是以altera为基础进行的。

1、准备quartus软件

每个品牌的fpga都有自己的eda软件。比如altera,就需要自己安装quartus软件。这里使用的是quartus prime 17.1.0 lite edition版,不收费。厂家对这个版本进行了阉割,但是基本的测试和练习不受影响。

2、购买fpga开发板

目前某宝上面的fpga开发板很多,大家可以根据自己的需求进行购买。我个人买的的是ax301。另外某火、某原子也都有对应的fpga板子,大家可以自己灵活购买。

3、安装usb2uart驱动

现在出售的很多电脑、笔记本都没有串口,所以厂家提供的开发板都提供了usb2uart这个接口。既可以供电,也可以当串口使用,一举两得。对于ax301这个开发板,使用的驱动可以从这里下载,

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads

4、安装quartus和jtag驱动

除了quartus这个平台软件之外,还需要安装cyclone器件库。器件库都是以qdz文件结尾的。不需要单独安装。在安装quartus的时候,会自动把这些器件库一起安装的。

另外,安装完quartus之后,还需要安装jtag驱动,一般在这个目录寻找即可,

C:\intelFPGA_lite\17.1\quartus\drivers\usb-blaster

5、搭建好fpga环境

fpga环境和笔记本电脑之间进行调试,只需要两条usb线即可。一条是usb负责供电和串口;一条usb负责jtag调试。

6、创建第一个工程led_test

创建第一个工程,依次填写工作目录,模块名,

选择空项目,

跳过文件添加,

根据开发板选择正确的fpga类型,直接finish。

7、添加led_test.v文件,

其中代码的内容如下所示,


module led_test(clk ,rst, led);`define MAX_NUM 32'd4999_9999// input signal
input clk;
input rst;// output signal
output led;// signal type
wire clk;
wire rst;
reg[3:0] led;// inner signal
reg[31:0] count;// count register
always@(posedge clk or negedge rst)if(!rst)count <= 32'b0;else if(count == `MAX_NUM)count <= 32'b0;elsecount <= count + 1'b1;// led data
always@(posedge clk or negedge rst)if(!rst)led <= 4'b0001;else if(count == `MAX_NUM)led <= {led[2:0], led[3]};endmodule

将文件保存为led_test.v,

在Project Navigator里面按Files显示视图,

将led_test.v修改成top层,

直接综合文件,

8、配置fpga属性,单击“Assignments”-》“Device”,选择“Device and Pin Options”

不使用的pin修改为输入三态,

“Dual-Purpose Pins”中的所有value都修改为“Use as regular I/O”,

电压修改为3.3v,保存。

9、绑定pin脚,选择“Assignments”-》“Pin Planner”,按如下图配置,保存。

每一个板子的pin脚绑定,最好参考对应的电路图,或者是excel文件。比如ax301,可以参考官方给出的qsf文件,

https://github.com/alinxalinx/AX301

10、再次编译,

11、选择“Tools”-》“Programmer”,准备烧入,一般是sof文件

直接单击start,即可完成烧入。

如果没有其他问题的话,就会看到一个流水灯的效果。

其他:

将verilog代码port到fpga开发板子上面是一个很重要的学习过程。在这个过程中,会遇到很多的问题,比如软件的下载、设备的连接、驱动的安装、jtag无法识别、下载后没有效果等等。但这又是一个不得不经历的阶段。只有通过不断犯错,才能让自己有所收益。毕竟所有的ip编写、仿真不是根本目的,最重要的还是要让板子动起来。

fpga实操训练(基础)相关推荐

  1. fpga实操训练(从模块到系统开发)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前面我们学习了fpga的一些基本操作,熟悉了这些操作,基本上说fpga已经入门了.但是距离我们用 ...

  2. fpga实操训练(uart串口)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 如果说led灯.按键.数码管这些都只能算是基础的话,那么学习fpga遇到的第一个门槛就是uart ...

  3. fpga实操训练(一个典型的fpga系统)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 对于刚学习fpga的同学来说,很多人可能一开始并不了解,一个典型的fpga系统应该是什么样子的. ...

  4. fpga实操训练(vga测试)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 我自己读书那会,买的电脑还是以台式机居多,平板显示器也是才刚刚流行.且价格较高,视频接口也是以V ...

  5. fpga实操训练(仿真和状态机)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在进行fpga上板子实验之前,相信很多同学都是通过仿真的方式来实现verilog学习的.仿真比较 ...

  6. fpga实操训练(硬件乘法器)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] fpga上面的资源一般分成lut.pin.dff.dsp.pll.至于rom.ram.fifo, ...

  7. 消防人员实操训练模拟培训虚拟仿真实训系统软件

    消防人员实操训练模拟培训虚拟仿真实训系统软件 一.产品简介 华盛恒辉消防人员实操训练模拟培训系统分为虚拟和仿真两种不同类型的系统.前者是计算机仿真系统,训练系统借助计算机图形学和虚拟现实技术,将火灾现 ...

  8. oracle表分区实操训练

    关于网上oracle表分区介绍的的文档有很多(不过大概看了下基本都是一个模板刻出来的),看完后自己实际操练了下,虽然以前的项目中也用过,但是自己并没有参与弄过,今天就在本机的库上爽了一把. 操练环境: ...

  9. win10系统pp-yolov2实操训练自己的数据集

    Windows10系统PPYOLOv2实操 因为之前一直是用pytorch框架,所以这次从paddle环境搭建,到用pp-yolov2训练自己的数据集记录下全过程.我的电脑是win10 64位系统. ...

最新文章

  1. Vyond制作2D动画学习教程
  2. [pasecactf_2019]tornado_casino
  3. hibernate 高级查询 query 或查询 or ,Restrictions
  4. java虚拟机起不来的原因,JVM理解其实并不难!
  5. pygame里面物体闪烁运动_Pygame-游戏中的运动
  6. 【类】变量复用,函数复用
  7. 封神-运维大脑 | 日志检测工具
  8. 【Maven】Maven classifier的作用
  9. 改变世界的十大计算机病毒(图)
  10. Windows cmd下载文件
  11. PostgreSQL数据库统计信息——analyze命令
  12. java wgs84 百度坐标_javascript 实现wgs84 坐标转百度坐标
  13. 艾米丽Java游戏_艾米丽玩闹鬼 Emily Wants To Play中文游戏介绍_游戏库_巴士单机游戏...
  14. java美团购物车,仿美团详情页与购物车源码-订单页
  15. 细节6:算术右移和逻辑右移
  16. FireStart教程:基于SharePoint的出差报销流程二
  17. 建行找不到服务器或DNS错误,建行浏览器打不开,提示域名解析错误,代码105,怎么解决?谢谢...
  18. [LiteratureReview]PointNet Deep Learning on Point Sets for 3D Classification and Segmentation
  19. 怎么让猫吃辣椒 转载自 xiaotie
  20. 用户体验设计—影响定制化设计的因素

热门文章

  1. javaweb html和css基础知识
  2. JDBC编程:JDBC高级编程
  3. 组合专机-E52FM左曲轴箱双面钻专用机床设计
  4. c语言劝学,《劝学》知识点集锦
  5. 整车CANFD、CAN、LIN总线通信及诊断培训
  6. 政府机构机房环境监控系统解决方案!
  7. 一起写RPC框架开篇说明
  8. 10进制转换为16进制
  9. 计算机win10+上锁,手把手教您win10系统给电脑屏幕上锁的办法
  10. OUC2021软件工程OUC拼车程序小组Alpha阶段软件测试报告