1.介绍

本文章旨在帮助HNU的同学更优雅的完成数电的FPGA课设(使用DE2-115),文章将涉及完成FPGA项目需要掌握的知识,资源分享以及一些关于完成项目的经验指导。大家快快搬好小板凳,准备发车吧(doge)。

2.基础知识学习指导

Verilog

想要完成FPGA的项目,那必不可少的就是Verilog这个硬件描述语言,可以说Verilog是一切一切的基础,下面将给出如何更好的学习Verilog

视频推荐:【三天入门verilog速成】 https://www.bilibili.com/video/BV1iv4y1F7Km

看完这个视频,基本上就可以上手写代码了,当然建议看完以后再根据UP主的PPT自己再整体过一遍,这样就差不多了,下面这个链接是PPT的百度网盘链接

链接:https://pan.baidu.com/s/1mnE-7S4ymgYH8GBsk41v8w?pwd=i81l

提取码:i81l

Quartus下载

quartus 18.1

下载链接:https://pan.baidu.com/s/1i0sjRkMIFU693LjjbEePOA

提取码:delp

链接放这了,老师分享的,有需要的自取,本篇教程也都是根据quartus 18.1来写的

Quartus使用

Quartus是一款非常强大的写FPGA的软件,如果是第一次接触FPGA就不用考虑那么多了,无脑选择Quartus即可。

下面是完成项目时在Quartus里会用到的板块,基本涵盖了所有的需求.

  • 新建项目

这两个地方都是新建项目,针对DE2-115的建项目中需要注意的点,在后面会提到,会将整个流程带大家走一遍

  • 创建verilog文件

如图,按顺序点击,即可创建Verilog文件,保存时注意要保存到创建好的项目的目录里去,不然非常容易乱.

  • 创建波形仿真文件及使用指南

同样是上面的操作,在这个小窗口里往下翻,点开如图所示的文件,即可看到下面的界面.

若要添加信号,则可跟随下面的图示来操作

到这边选择List,有的信号下面会一一显示出来,选择需要的信号添加即可.

添加完信号后,可指定各个输入信号input的波形,选择好信号后,点击上图里面的C图标,即可给出脉冲。

当全部输入信号的制定好以后,点击Simulation即可启动仿真

注:我这里是因为没有打开项目,所以是灰色的。

  • 引脚分配

写好代码后,如果想要部署到相应的FPGA的板子上,那么就需要分配引脚.

点开如图所示的按钮,即可进入到分配引脚的界面,如下图

可在Location里分配到实际的引脚里,下面是DE2-115的引脚对应表.

上面是常用的引脚分配,如果想要了解更多,可以看我下面分享的这个pdf文档

链接:https://pan.baidu.com/s/1in7MwdqZ6lGI_f-FRDiMsg?pwd=eqtx

提取码:eqtx

  • 图生成

Quartus中提供了非常方便的图生成工具,如果自己的老师有要求的话,可以根据下面的步骤来生成对应自己代码的图

点开即可查看图,如下

还可点开模块看里面的细节,如下

  • 烧录

代码整个写完,引脚也分配完,编译通过后,就到了烧录到板子上验证的时候了,如下操作

首先应该确认自己的电脑有没有CH340USB-BLASTER的驱动。

安装方式如下,如果已经有了就可以跳过

CH340

这个去网上搜一个都行,或者点下面的这个链接下载。CH340

USB-BLASTER

这个驱动的安装需要保证先装好了Quartus,然后看这个链接里的教程安装即可[1. Quartus软件和USB-Blaster驱动安装 — 野火]FPGA Verilog开发实战指南——基于Altera EP4CE10 征途Mini开发板 文档 (embedfire.com)

两个驱动都装好后,点击Quartus里的这个按钮,即可进入到烧录界面

如下图,如果驱动安装没问题,有如下画面

最后,点击Start开始烧录即可

一般情况下,这样烧录进去的代码,fpga断电重启后就会没有,想了解详细的原因的可以看这篇文章。

关于FPGA的烧写方式总结_fpga烧录-CSDN博客

  • 编译

前面讲了好多,好像忘讲怎么编译了,编译其实非常简单,如下

点击一下图中的按钮(也可点击快捷键Ctrl+L),即可开始编译,正常来说编译的时间都挺长的,如果不想等那么长时间,只是想看看有没有问题,那么点击快捷键Ctrl+K即可

编译成功后,有如下画面

3.基本项目创建流程

这里我就截老师的ppt里的内容了,按照步骤一步步来准没问题

按照上面的步骤建立好文件后,就可以开始写代码了

HNU FPGA课设项目上手指南的更多相关文章

  1. FPGA课设-基于Xilinx Basys2开发板的除法器设计

    介绍一下Basys开发板: Basys2 FPGA开发板是一个电路设计实现平台,任何人都可以通过它来搭建一个真正的数字电路.Basys2是围绕着一个Spartan-3E FPGA芯片和一个Atmel ...

  2. Android SDK上手指南:示例项目

    Android SDK上手指南:示例项目 2013-12-26 15:40 核子可乐译 51CTO 字号:T | T Android SDK示例项目中的应用能够执行种种功能,例如各类用户界面元素.数据 ...

  3. 谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!

    简介 Jetpack Compose是在2019Google i/O大会上发布的新的库.Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度. ...

  4. X下轻量级桌面WindowMaker上手指南

    layout: post title: 轻量级桌面WindowMaker上手指南 tags: x11, cygwin, raspi --- 最近工作上需要在远程Linux上运行一个桌面(我需要跑Net ...

  5. Resharper上手指南

    原文http://www.cnblogs.com/renji/archive/2007/12/11/resharper.html Resharper上手指南 我是visual studio的忠实用户, ...

  6. 计算机网络课设之基于UDP协议的简易聊天机器人

    前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C ...

  7. Android SDK上手指南:下一步学习方向

    Android SDK上手指南:下一步学习方向 2014-02-28 11:01 核子可乐 译 51CTO 字号:T | T 到目前为止,我们已经介绍过的知识足以帮助大家从非常理想的起点开始进行And ...

  8. NewLife.XCode 上手指南2018版(一)代码生成

    目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...

  9. JAVA课设个人博客--多源数据教学管理系统

    JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...

  10. Gatsby上手指南 - 让你的静态网站用react来高逼格的写

    注意:Gatsby V2版本安装及使用问题请移步<Gastby V2安装过程中常见问题>,此文较旧,主要针对V1版Gatsby而介绍 前言 一直以来都是用之前比较流行的静态网站生成器Hex ...

随机推荐

  1. 探秘Transformer系列之(12)--- 多头自注意力

    探秘Transformer系列之(12)--- 多头自注意力 目录 探秘Transformer系列之(12)--- 多头自注意力 0x00 概述 0x01 研究背景 1.1 问题 1.2 根源 1.3 ...

  2. Kubernetes:根据进程 Pid 获取 Pod 名称

    前言 在管理 Kubernetes 集群的过程中,我们经常会遇到这样一种情况:在某台节点上发现某个进程资源占用量很高,却又不知道是哪个容器里的进程.有没有办法可以根据进程 PID 快速找到 Pod 名 ...

  3. linux tmux 使用教程

    前言 Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具. 本文介绍如何使用 Tmux. 一.Tmux 是什么? 1.1 会话与进程 命令行的典型使用 ...

  4. Creo 4.0二次开发工具框架搭建

    一.新建MFC DLL工程  二.配置项目属性 附加依赖项中输入:netapi32.lib;psapi.lib;mpr.lib;wsock32.lib;protk_dll_NU.lib;protk_d ...

  5. C# 从零开始使用Layui.Wpf库开发WPF客户端

    一.简介 最近需要开发一个桌面版的工具软件,之前用得更多的是Winform,作为一个全干工程师,我们也要兼顾下WPF,趁此机会再研究下开源控件库. MaQaQ:Winform真好用(有个HZHCont ...

  6. SpringBoot + 布隆过滤器:亿级数据下的高效防护盾与缓存穿透实战指南

    在当今高并发.海量数据的应用场景中,布隆过滤器凭借其极低的内存占用和极快的查询效率,成为解决缓存穿透.数据预判等难题的利器.本文深度解析布隆过滤器的核心原理与实战应用,手把手教你如何将这一数据守门员融 ...

  7. Vim 操作-替换

    Vim 操作-替换 substitute :[range]s[ubstitute]/{pattern}/{string}/{flag} 替换的操作范围以行为基础: %-全局范围,m,n-使用逗号隔开的 ...

  8. verilog实现32位有符号流水乘法器

    verilog实现32位有符号流水乘法器 1.4bit乘法流程 1.无符号X无符号二进制乘法器 以下为4bit乘法器流程(2X6) 0 0 0 0 0 0 1 0 (2) X 0 0 0 0 0 1 ...

  9. Hive SQL实现近N周的数据统计查询

    文/朱季谦 先前遇到过一个需求,需要基于HIVE统计近N周范围的数据,例如,统计近7周范围的数据指标. 需要用HIVE SQL去实现该功能,而HIVE SQL并没有PostgreSQL那样例如通过函数 ...

  10. nginx代理静态页面添加二级目录

    location /wash { # root html; alias /home/cxq/wash-html/dist; index index.html index.htm; try_files ...