fpga实操训练(基础)

news2024/11/24 17:09:48

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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;
	else
		count <= 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编写、仿真不是根本目的,最重要的还是要让板子动起来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web前端期末大作业——基于HTML+CSS+JavaScript仿蘑菇街时尚服装购物商城

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

28个你应该知道的JavaScript技巧

今天我将分享一些Javascript中的常用技巧&#xff0c;以帮助您解决问题。设置过程中的常见问题更快更容易。 01、Javascript 反向字符串 下面是代码&#xff1a; /*niemvuilaptrinh.com*/const stringReverse str > str.split("").reverse().join("")…

搜索引擎项目测试报告

目录单元测试构建索引模块文档信息对象Document的构建的单元测试**针对每一篇文档进行分析、处理、分词**针对文档内容提取关键字的测试&#xff08;正则表达式&#xff09;测试去掉script测试去掉标签完整测试Document类中的parseContent方法关于ansj分词器的测试关于构建倒排…

CleanMyMac4.12.2最新免费的macOS电脑清理工具

相信不少的小伙伴都在用苹果电脑&#xff0c;不论是 iMac&#xff0c;还是 MacBook&#xff0c;用着用着电脑就变慢了。这通病与苹果电脑的性能无关&#xff0c;主要是硬盘空间不足的问题&#xff01;当然你可以在购买电脑的时候就把硬盘升级&#xff0c;但主要的问题是 – 没有…

python代码圣诞树你还没有嘛?所有画法都在这篇文章里拉~

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~ 今天&#xff0c;我就来给大家分享一下python制作的几种圣诞树吧~ 一&#xff1a;唯美圣诞 代码展示 导入模块 完整源码点击领取即可 import turtle as t from turtle import * import random as r import time n 100.0spee…

【JavaWeb】Tomcat的入门使用

1Tomcat的相关概念: Tomcat是Apache软件基金会一个核心项目&#xff0c;是一个开源免费的轻量级Web服务器&#xff0c;支持Servlet/JSP少量JavaEE规范。 概念中提到了JavaEE规范&#xff0c;那什么又是JavaEE规范呢? JavaEE: Java Enterprise Edition,Java企业版。指Java企业…

5年Java开发干到月薪38k?当初实习期2.5k的苦我也吃过...

每一个能在所属行业中成为佼佼者的人&#xff0c;一定都会有他自己的独到的见解以及成长方法......这个观点我非常认同&#xff0c;我不自诩自己是个大佬&#xff0c;但现在也算是做出了头&#xff0c;我从刚毕业做 Java 实习生月薪 2.5k&#xff0c;到现在干了 5 年 Java 开发…

仿雷速体育app踢足球tab

MyTabLayout MyTabLayout用法参照BaseLibrary的Demo GitHub仓库地址 效果图 引入 gradle allprojects {repositories {maven { url https://jitpack.io }} }implementation com.github.DL-ZhangTeng:BaseLibrary:2.3.0属性 MyTabLayout属性名描述&#xff1a;可参考原生控…

Chat GPT使用体验,它真的好厉害!!!

最近的chat GTP很火&#xff0c;起因是OpenAI发布了一个全新的聊天机器人模型。就连马斯克也在感叹“很多人疯狂地陷入了 ChatGPT 循环中”&#xff0c;“ChatGPT 好得吓人&#xff0c;我们离强大到危险的人工智能不远了”。 官方的介绍是&#xff0c;这一模型可以与人类进行谈…

人类特有本能:保护族群老弱病残

人有哪些特有的本能&#xff1f; - 知乎 对于动物群体来说&#xff0c;受伤了就不管了&#xff0c;自生自灭。对于人类来说&#xff0c;受伤了尽量照顾恢复。这看起来吃亏&#xff0c;实际上划算。一个成年人&#xff0c;长大需要20年&#xff0c;受伤恢复只要3个月。 远方青木…

全新CorelDRAW2023最新版矢量图软件功能简介

CorelDRAW2023简介 &#xff1a;设计绘画 CorelDraw 是一个绘图与排版的软件&#xff0c;它广泛地应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等诸多领域。 作为一个强大的绘图软件&#xff0c;它被喜爱的程度可用下面的事实说明&#xff1a;用作商业设计和…

WPFUI LiveCharts使用记录(一)柱状图

前言&#xff1a;LiveCharts是一个图标控件库集&#xff0c;可以实现柱状图、折线图、饼图、仪表盘等图表控件。而且最新版本支持全平台使用&#xff0c;实现的样例展示可以点击查看作者Alberto Rodrguez的 github仓库 1.背景 1.1 新建项目 这篇文章使用的是.NET framework4.…

Foxmail升级后图片链接乱

升级后默认勾选了总是以纯文本格式阅读邮件。 在设置-高级-中取消勾选

ZooKeeper组件的核心知识总结,吐血总结,一文带你学会

文章目录数据模型数据存储Watch机制会话机制ACL权限序列化方式集群ZAB协议日志清理实现分布式锁实现分布式ID实现负载均衡开源框架使用案例Zookeeper 基本介绍Apache ZooKeeper 是由Apache Hadoop的子项目发展而来&#xff0c;为分布式应用提供高效且可靠的分布式协调服务。 在…

java计算机毕业设计ssm医院管理系统3w16k(附源码、数据库)

java计算机毕业设计ssm医院管理系统3w16k&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。…

【应用】OPC 通讯协议

OPC 通讯协议OPC 通讯协议基础OPC 简介OPC 与 OPC UAOPC 逻辑对象模型OPC 通信方式Java 实现 OPC 的方式Java 实现 OPC-clientOPC-DAOPC-UA模拟数据进行代码测试OPC-DA 代码验证OPC-UA 代码验证OPC 通讯协议基础 OPC 简介 OPC 全称 OLE For Process Control&#xff0c;即用于…

8. 发布确认高级

二八佳人体似酥&#xff0c;腰间仗剑斩愚夫。虽然不见人头落&#xff0c;暗里教君骨髓枯。 在生产环境中由于一些不明原因&#xff0c;导致 rabbitmq 重启&#xff0c;在 RabbitMQ重启期间生产者消息投递失败&#xff0c; 导致消息丢失&#xff0c;需要手动处理和恢复。于是&am…

PyQt - 使用多线程避免界面卡顿

PYQT作为界面程序包&#xff0c;为Pythoner快速构建界面&#xff0c;提供了便利性。特别是结合Pycharm扩展工具&#xff08;QTdesigner&#xff09;能够通过“拖拖拽拽”的方式构建简单界面。通过UIC将UI文件快速转化为PY文件&#xff0c;节省了时间。 PYQT的项目实践&#xff…

痞子衡嵌入式:我被邀请做贸泽电子与非网联合推出的《对话工程师》节目嘉宾...

《对话工程师》是「贸泽电子」赞助、「与非网」制作的一档网络节目&#xff0c;自2022年11月起&#xff0c;邀请不同技术领域的资深工程师&#xff0c;聊聊开发过程中的经验感悟&#xff0c;栏目共 10 期&#xff0c;痞子衡有幸被邀请做了第 4 期节目的嘉宾(12月5日在 「B站 - …

COVID

不信谣不传谣&#xff0c;只是自己的一点记录&#xff0c;有引用到各位大佬的内容&#xff0c;侵删&#xff0c;感谢感谢&#xff0c;对自己可以理中客&#xff0c;对别人还是尽可能主观上的友好&#xff0c;不要慷他人之慨。 准备 喉咙刺痛方面&#xff1a;柠檬&#xff08;…