fpga学习

author author     2022-09-29     179

关键词:

我们专业这学期加了FPGA这门课,老师教授方式自己有点不习惯,我就在自学。后续会持续更新相关进度,欢迎大佬们指导

相关软件我是用Quartus II 13.0 我把相关库全部从官网下载下来了,需要的可以找我,安装时间有点久了(怎么破解的已经忘了)

先来建立一个工程

技术分享技术分享

下面是自己这个工程存放的位置

技术分享技术分享

下面是选择自己开发板的芯片型号,在之前安装了芯片库之后这里就会有之前安装的库对应的芯片。

技术分享技术分享

这里是建立你写程序的文本(我不知道具体名称,就让我这么说吧)

技术分享

 这个图是VHDL设计流程图,讲的很详细,大家可以看一下

技术分享

先写一个2选一的选择器,保存工程时记得文件名和程序中实体名要一致,最后将这个文件加入这个工程就可以开始编译了(加入方式:project->archive project)

library ieee;
use ieee.std_logic_1164.all;

entity mux21 is
    port(    a,b,s:in std_logic;
                y:out std_logic);
end entity mux21;

architecture one of mux21 is
    begin
        y <= a when s = ‘0‘ else
              b when s = ‘1‘;
end architecture one;

上面这个选择器整体设计的 VHDL 描述使用了三个层次
(1) 库(LIBRARY)说明
它包含了描述器件的输入 输出端口数据类型 即端口信号的取值类型或范围 中将要用到的 IEEE 的标准库中的 STD_LOGIC_1164 程序包明确地指定和严格地定义端口信号的取值类型是 VHDL 的重要特点 此所谓强类型语言 这是学习 VHDL 特别应当注意的地方
(2) 实体(ENTITY)说明
实体的电路意义相当于器件 在电路原理图上相当于元件符号 实体是一个完整的独立的语言模块 它描述了 mux21 接口信息 定义了器件 mux21 端口引脚 a b s y的输入输出性质和数据类型 它利用 PORT 语句说明了 mux21 的外部引脚的工作方式所以 PORT 所描述的就相当于电路器件的外部引脚 IN 对端口引脚 a 和 b 作了信号流向的方向说明 它规定了信号必须由外部通过端口引脚 a b 流进所描述的器件内部 而 OUT则规定了器件内部的信号需通过端口引脚 y 向外输出 同时指明了端口 a b s 和 y 信号的数据类型是符合 IEEE STD_LOGIC_1164 程序包中的标准数据位 STD_LOGIC中所定义的数据类型
(3) 结构体(ARCHITECTURE)说明
这一层次描述了 mux21 内部的逻辑功能 在电路上相当于器件的内部电路结构 此例的逻辑描述十分简洁 它并没有将选择器内部逻辑门的连接方式表达出来 而是将此选择器看成一个黑盒 以类似于计算机高级语言的表达方式描述了它的外部逻辑行为 符号<= 是信号赋值符 是信号传递的意思 y <= a 表示将 a 获得的信号赋给(传入)y输出端 这是一个单向过程

提示没错就可以看看你的2选一选择器长什么样啦

技术分享

我的2选一选择器长这样

技术分享

 

 我们趁热打铁,再来写一个锁存器(新建一个VHDL文件就好,不必在建一个工程)

entity latch01 is
    port( d,ena:bit;
                q:out bit);
end latch01;

architecture one of latch01 is
    signal sig_save : bit;
    begin
        process(d,ena)
        begin
        if(ena = ‘1‘) then
            sig_save <= d;
        end if;
        q <= sig_save;
        end process;
end one;

 在 1 位锁存器的设计文件中增加了两个部分的内容
(1) 增加了一条信号赋值语句 SIGNAL
由信号赋值语句 SIGNAL 定义了一个信号变量 sig_save 它的功能是存储来自外 部信号 D 的被锁存的数据位 显然 经综合后将由一个硬件时序器件来完成这一任务
(2) 使用了一个进程语句结构 PROCESS (D, ENA)?END PROCESS
这个语句从系统仿真的角度看 是为此语句结构的行为仿真设定了两个敏感量 D 和ENA 以利于逻辑顺序的测定 但从系统综合结果的角度看 必须引入锁存器才能完成这个时序逻辑过程(VHDL 综合器根据语句自动判别 并完成寄存器的引入)

 






































fpga学习的一些误区

转载自网络,作者不详。我常年担任多个有关FPGA学习研讨的QQ群管理员,长期以来很多新入群的菜鸟们总是在重复的问一些非常简单但是又让新手困惑不解的问题。作为管理员经常要给这些菜鸟们普及基础知识,但是非常不幸的... 查看详情

关于fpga学习路线

1.参考FPGA厂商的参考资料,将某系列FPGA所有芯片资料下载下来,有针对性的做参考。2.参考FPGA厂商开发板以及相应的参考设计,在开发板里有众多的外围接口电路,基本涵盖了常用的应用场合。同时也要参考外围电路芯片的数... 查看详情

fpga寒假学习目标

学习FPGA逻辑设计课程熟练使用ISEQuartus Modelsim掌握四种FPGA经典设计思想:流水线乒乓操作串并转换数据同步调试经常的模块:PLL RAMROMFIFOdds任意奇偶分频计数器状态机 掌握测试文件编写方法常用接口协议逻辑开发:串... 查看详情

fpga的学习

...个app发现了有技术含量的博客,小伙伴们求同去《FPGA学习步骤(打算以后也转FPGA了,毕竟工资比硬件工程师高)》,一起来围观吧https://blog.csdn.net/naruto_dong/article/details/92800644?utm_source=app&app_version= 查看详情

fpga学习-1:什么是fpga

FPGA(Field Programmable Gate Array)即现场可编程逻辑门阵列我们都知道,所有的芯片都是由一个个晶体管组成    通过晶体管的不同组合来实现不同的功能最常见的莫过于我们手机上的cpu但是这些芯片的内部... 查看详情

数字信号处理相关2(深度学习基本单元(2d卷积模块)的fpga实现)

...#xff1a;https://www.moore8.com/courses/1570 课程介绍  鉴于在深度学习加速方面的独特优势,FPGA已成为眼下最受关注的深度学习加速芯片。而Intel收购FPGA厂商Altera、亚马逊、腾讯、阿里等先后推出FPGA公有云,更使得“FPGA+深度... 查看详情

fpga的学习

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《如何学习FPGA》,一起来围观吧https://blog.csdn.net/k331922164/article/details/44626989?utm_source=app&app_version=4.8.0&code=app_1562916241&uLinkId&# 查看详情

深度学习/机器视觉/数字ic/fpga/算法手撕代码目录总汇

...手撕代码总汇FPGA工程师经典面试题数字IC经典面试题深度学习/人工智能/机器学习面试题数字图像/计算机视觉面试题FPGA/数字IC手撕代码总汇FPGA/数字IC手撕代码1——数据上下边沿检测更新中常用算法手撕代码总汇算法手撕代码1~1... 查看详情

为什么fpga在深度学习领域有着得天独厚的优势?

01 FPGA在深度学习领域有哪些优势FPGA(Field-ProgrammableGateArray)是一种灵活的可编程硬件设备,它在深度学习应用领域中具有许多优势。首先,FPGA具有非常高的并行性。在深度学习中,许多计算都可以并行化... 查看详情

fpga学习-5:仿真

在实际FPGA开发过程中我们不可能直接将代码烧录进板子里进行测试一是我们无法观察到其内部逻辑变换而是万一代码中的逻辑有问题直接进行甚至会导致芯片损坏毕竟FPGA无法像单片机那样可以利用串口打印等调试方法FPGA调试只... 查看详情

基于vivado(语言verilog)的fpga学习——fpga理论知识

基于vivado(语言Verilog)的FPGA学习(3)——FPGA理论知识文章目录基于vivado(语言Verilog)的FPGA学习(3)——FPGA理论知识1.FPGA介绍1.1.FPGA内部结构(1).可编程逻辑块CLB(2).可编程输... 查看详情

fpga的学习

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《如何学习FPGA》,一起来围观吧https://blog.csdn.net/k331922164/article/details/44626989?utm_source=app&app_version=4.8.0&code=app_1562916241&uLinkId=usr1mkqgl919blen 查看详情

上一步是硬件描述语言,下一步是fpga

上一步是硬件描述语言,下一步是FPGA。学习了硬件描述语言(Verilog或者VHDL)之后,FPGA该如何继续。世上没有捷径,每一步都得踏踏实实的走。学习FPGA也是这样,在有了硬件描述语言的基础之上,可以学习FPGA基础。学习模块的划... 查看详情

基于quartus的fpga学习系列

 基于quartus学习1、学习目标quartus是altera的FPGA设计软件,用起来的感觉要比xilinx快。这里可以使用其完成各种基本的设计(就是不使用非必须IP核),一些基础的实验都可以在这个上面完成。目标就是利用一块开发板,完成ver... 查看详情

fpga的学习

...个app发现了有技术含量的博客,小伙伴们求同去《FPGA学习步骤(打算以后也转FPGA了,毕竟工资比硬件工程师高)》,一起来围观吧https://blog.csdn.net/naruto_dong/article/details/92800644?utm_source=app&app_version=4.8.0&c... 查看详情

fpga学习-vga接口

一般FPGA开发板的VGA会向用户暴露两共五个种接口,第一种是时序信号,用于同步传输和显示;第二种是色彩信号,用于随着时序把色彩显示到显示器上时序接口行同步信号-用于指示一行内像素的显示场同步信号--用于指示一帧... 查看详情

fpga学习笔记2021-6-15

1.CMT(clockmanagementtiles时钟管理模块),提供了时钟合成(clockfrequenceysynthesis)、倾斜校正(deskew)、过滤抖动(jitterfiltering);1CMT:1MMCM(mixed-modeclockmanagement)+1PLL(锁相环)  查看详情

fpga学习之路7vga接口原理与fpga实现(代码片段)

一、软件平台与硬件平台  软件平台:    1、操作系统:Windows-8.1    2、开发套件:ISE14.7    3、仿真工具:ModelSim-10.4-SE  硬件平台:    1、FPGA型号:Xilinx公司的XC6SLX45-2CSG324    2、VGA接口    3... 查看详情