1.FPGA 的分类:

 根据 FPGA 基本结构,可将其分为基于乘积项(Product-Term)技术的 FPGA 和基于查找表(Look-Up-Table)技术的 FPGA 两种。

 (1)基于乘积项技术的 FPGA 主要由 3 个模块组成:逻辑单元阵列(Logic Cell Array)、可编程连线(PIA)和 I/O 控制块。

  • 逻辑单元阵列是 FPGA 的基本结构,由它来实现基本的逻辑功能。
  • 可编程连线:    负责信号传递,连接所有的宏单元。
  • I/O 控制块     负责输入/输出的电气特性控制。

(2)查找表简称为 LUT,其本质就是一个RAM。目前 FPGA 中多使用 4 输入的 LUT,所以每一个 LUT 可以看成一个有 4 位地址线的 16×1的 RAM。

  • LUT抽象描述:当用户通过原理图或 HDL 语言描述了一个逻辑电路以后,FPGA 开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入 RAM,这样每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
  • LUT缺陷:由于 SRAM 工艺的特点,掉电后数据会消失,因此调试期间可以通过电缆配置 FPGA 器件,调试完成后,需要将数据固化在一个专用的 EEPROM 中(用通用编程器烧写),上电时由这片 EEPROM 对 FPGA 加载数据,十几个毫秒后 FPGA 即可正常工作(亦可由 CPU 配置 FPGA)。此类型的 FPGA 一般不可以进行程序加密。

2.下载可执行程序:

  在完成 FPGA 开发以后,软件会生成一个最终的编程文件,不同类型的 FPGA 使用不同的方法将编程文件加载到 FPGA 中。

  • 基于乘积项(Product-Term)技术的 FPGA 一般采用 EEPROM(或 Flash)保存程序。
  • 基于查找表技术(Look-Up table)技术常使用 SRAM 保存程序。
  • 除了上述的两种 FPGA 外,还有一种反熔丝(Anti-fuse)技术的 FPGA

3.FPGA器件叫法:

  • XILINX 把基于查找表技术、使用SRAM 工艺、要外挂配置用 EEPROM 的 PLD 叫 FPGA;
  • ALTERA 把自己的 PLD 产品 MAX 系列(乘积项技术,EEPROM 工艺)、FLEX 系列(查找表技术,SRAM 工艺)都叫作 CPLD,即复杂 PLD(Complex PLD);但由于 FLEX 系列也是 SRAM工艺、基于查找表技术、要外挂配置用的 EPROM,用法和 XILINX 的 FPGA 一样,所以很多人把ALTERA 的 FELX 系列产品也叫做 FPGA。

4.片上系统概念:

  指单个芯片上集成一个完整的系统,一般包括:系统级芯片控制逻辑模块、微处理器/微控制器内核模块、数字信号处理器模块、存储器或存储器控制控制模块、与外部通信的各种接口协议模块、含有ADC/DAC的模拟前端模块、电源及功耗管理模块。

5.fpga开发细节:

  需求分析、模块划分、设计输入、语法检查、综合、功能仿真、全编译、时序约束、实现(翻译、映射、布局布线)、仿真和板级调式。

  • 需求分析:器件选型、逻辑资源大小选择、I/O个数考虑、信号电平和系统功耗要求、存储器大小、内嵌功能模块考虑。
  • 模块划分:划分的最基本原则是以功能划分为主,有时也按着数据流(并行或顺序)来划分。(主要是在项目分配工作阶段)。
  • 设计输入:包括原理图输入、代码输入、搭建SOPC平台。
  • 综合:指较高层次的电路描述转化为较低层次的电路描述。具体的说,就是将代码设计(代码输入)转化为底层的与门、非门、RAM触发器等基本逻辑单元相互连接而成的网表。
  • 时序约束:工程全局约束---->I/O时序约束------>指定约束。
  • 仿真:行为仿真(设计输入完成阶段后进行)、功能仿真(综合优化阶段结束后进行)、时序仿真(实现阶段进行)。
  • 板级调试:下载配置完成后进行。

6.fpga开发过程:

  (1)利用硬件描述语言(HDL)从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表是极其复杂的数字系统。

  (2)然后利用电子设计自动化(EDA)工具逐层进行仿真验证,再把其中需要变为具体物理电路的模块组合经由自动综合工具转换到门极电路网表。

  (3)接下去再用专用集成电路(ASIC)或现场可编程门阵列(fpga)自动布局布线工具把网表转换为具体电路布线结构的实现。

  注意:在制成物理器件之前,具体基本元件可用 verilog 的门极模型(原语元件或 UDP)来代替..

7.Verilog HDL和·VHDL:

  均是硬件描述语言(HDL)的一种。

fpga基础的更多相关文章

  1. FPGA基础知识了解

    FPGA学习的一些误区 FPGA入门必看资源 FPGA百度百科 FPGA基础知识及其工作原理 高端设计工具为少有甚是没有硬件设计技术的工程师和科学家提供现场可编程门阵列(FPGA).无论你使用图形化设 ...

  2. FPGA基础设计(四):IIC协议

    很多数字传感器.数字控制的芯片(DDS.串行ADC.串行DAC)都是通过IIC总线来和控制器通信的.不过IIC协议仍然是一种慢速的通信方式,标准IIC速率为100kbit/s,快速模式速率为400kb ...

  3. FPGA基础入门篇(四) 边沿检测电路

    FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电 ...

  4. FPGA基础知识关键点摘要

    FPGA基础知识关键点摘要 一.组合逻辑和时序逻辑的区别:组合逻辑与输入直接实时相关,时序逻辑还必须在时钟上升沿出发后输出新值,有没有时钟输入是他们最大的区别!组合时序容易出现竞争冒险现象出现亚稳态, ...

  5. FPGA基础学习(7) -- 内部结构之CLB

    目录 1. 总览 2. 可配置逻辑单元 2.1 6输入查找表(LUT6) 2.2 选择器(MUX) 2.3 进位链(Carry Chain) 2.4 触发器(Flip-Flop) 参考文献: 一直以来 ...

  6. FPGA基础学习(3) -- 跨时钟域处理方法

    文章主要是基于学习后的总结. 1. 时钟域 假如设计中所有的触发器都使用一个全局网络,比如FPGA的主时钟输入,那么我们说这个设计只有一个时钟域.假如设计有两个输入时钟,如图1所示,一个时钟给接口1使 ...

  7. FPGA基础架构总结

    1.为什么FPGA的整体逻辑的速度有限制? 与ASIC相比较,AS指的是(application specific)专用集成应用,而FPGA是可编程逻辑,在实现的过程中,AS是直接用最基础的逻辑门实现 ...

  8. 我的 FPGA 学习历程(01)—— FPGA 基础知识和 Quartus 的安装

    高级的嵌入式市场主要分为以下三类:ARM.DSP 和 FPGA. 其中 ARM 是行业内的佼佼者,目前几乎所有的安卓智能手机都使用 ARM 授权的 CPU架构:而 DSP(数字信号处理器) 早年就被大 ...

  9. FPGA基础之逻辑单元(LE or LC)的基本结构

    原帖地址: https://blog.csdn.net/a8039974/article/details/51706906/ 逻辑单元在FPGA器件内部,是完成用户逻辑的最小单元.逻辑单元在ALTER ...

  10. FPGA基础知识1

    1.乘法 在FPGA中,乘法运算可以分为 1)信号与信号之间的运算,用乘法器核实现: 2)常数与信号之间的运算,利用移位及加减法实现. A x 16 = A左移4位: A x 20 = A x 16  ...

随机推荐

  1. git用ssh方式下载代码

    1.运行Git Bash客户端,执行ls ~/.ssh; 如果列出下图这两个rsa文件,那应该就不需要配置ssh key了,如果不放心就将这几个文件删掉,重新生成. 文件的默认目录:C:\Users\ ...

  2. ubuntu之路——day9.1 深度学习超参数的调优

    参数重要性: 第一阶:α即learning rate 第二阶:momentum中的β,hidden units的数量,mini-batch的大小 第三阶:hidden layers的数量,learni ...

  3. SQL学习笔记(二)

    连接查询 数据准备 例1:查询学生信息及学生的成绩 等值连接 此方法会产生笛卡尔积,生成的记录总数=表1的总数*表2的总数,会产生临时表 内连接 select * from 表1 inner join ...

  4. P2P模式

    P2P模式 P2P模式包含三个角色:消息队列(Queue),发送者(Sender),接收者(Receiver).每个消息都被发送到一个特定的队列,接收者从队列中获取消息.队列保留着消息,直到他们被消费 ...

  5. outlook alias

    Add an email address Go to Add an alias. Sign in to your Microsoft account, if prompted. Under Add a ...

  6. mfc封装cef浏览器 关闭整个窗口程序得时候又重启mfc 应用的程序

    最近使用mfc 做了一个cef得浏览器 多标签得.当使用这个封装得浏览器一段时间之后(超过1分钟2分钟) 当关闭封装得浏览器整个窗体 x得时候,整个窗体又重新弹了出来. 大概现象就是一个exe程序你杀 ...

  7. CMD命令打包文件夹成jar

    网上的很多例子都是直接将在dos界面下输入jar命令出现的帮助信息给贴上了.不明白的人根本看不懂.当然我也看不懂,好在自己试了好多遍,终于成功了.现在我就根据我刚刚的操作来说明一下. 我介绍的是将一个 ...

  8. linux: QT安装时出现段错误segmentation fault

    环境:macOS 10.14.6 VMware Fusion版本:11.0.1 QT版本:qt-creator-linux-x86_64-opensource-2.5.2.bin 安装时出现:segm ...

  9. Python3基础 变量命名 区分大小写

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  10. 004-行为型-04-迭代器模式(Iterator)

    一.概述 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示. 迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部 ...