FPGA开发设计

这篇具有很好参考价值的文章主要介绍了FPGA开发设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

FPGA是可编程逻辑器件的一种,本质上是一种高密度可编程逻辑器件。
FPGA的灵活性高、开发周期短、并行性高、具备可重构特性,是一种广泛应用的半定制电路。

FPGA的原理

采用基于SRAM工艺的查位表结构(LUT),LUT用于实现实际逻辑电路的功能,LUT本质上是一个RAM,事先将相应的结果存放于一个存储单元,输入信号进行逻辑计算就等于输入一个地址进行查表,将地址对应内容输入。
FPGA综合工具完成Verilog语言描述、逻辑网表到LUT实现的过程。即用户通过原理图或者HDL语言描述一个逻辑电路后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(结果)事先写入LUT的RAM中,EDA工具生成的烧进FPGA的bitstream文件。

FPGA的结构

FPGA内部有多中部件,如DSP、Memory(BLOCK RAM/BLOCK ROM)、布线资源、可编程输入单元等,但最基本单元式CLB逻辑块,CLB的组成有查找表LUT,寄存器Flip-flop,多路选择器Mux。
FPGA开发设计,# FPGA,fpga开发

CLB

FPGA开发设计,# FPGA,fpga开发

LUT是FPGA用于实现组合逻辑电路的器件,具体作用是存储组合逻辑电路计算的所有结果通过LUT代替组合逻辑,而LUT中的值只和输入有关,因此FPGA中组合逻辑的功能由输入决定,不再和复杂度有关;LUT实现的组合逻辑的延迟是固定的

Mux
多路选择,配合LUT实现根据输入选择结果

FPGA中全局时钟资源

大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。与全局时钟资源相关的原语常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFGDLL和DCM

IBUFG:输入全局缓冲,是与专用全局时钟输入管脚相连接的首级全局缓冲。所有从全局时钟管脚输入的信号必须经过IBUF元,否则在布局布线时会报错。 IBUFG支持AGP、CTT、GTL、GTLP、HSTL、LVCMOS、LVDCI、LVDS、LVPECL、LVTTL、PCI、PCIX和 SSTL等多种格式的IO标准。

IBUFGDS:IBUFG的差分形式,当信号从一对差分全局时钟管脚输入时,必须使用IBUFGDS作为全局时钟输入缓冲。

BUFG:全局缓冲,它的输入是IBUFG的输出,BUFG的输出到达FPGA内部的IOB、CLB、选择性块RAM的时钟延迟和抖动最小。

BUFGCE:带有时钟使能端的全局缓冲。它有一个输入I、一个使能端CE和一个输出端O。只有当BUFGCE的使能端CE有效(高电平)时,BUFGCE才有输出。

BUFGMUX:全局时钟选择缓冲,它有I0和I1两个输入,一个控制端S,一个输出端O。当S为低电平时输出时钟为I0,反之为I1。需要指出的是BUFGMUX的应用十分灵活,I0和I1两个输入时钟甚至可以为异步关系

BUFGP:相当于IBUG加上BUFG。

BUFGDLL:全局缓冲延迟锁相环,相当于BUFG与DLL的结合。BUFGDLL在早期设计中经常使用,用以完成全局时钟的同步和驱动等功能。随着数字时钟管理单元(DCM)的日益完善,目前BUFGDLL的应用已经逐渐被DCM所取代。

DCM:数字时钟管理单元,主要完成时钟的同步、移相、分频、倍频和去抖动等。DCM与全局时钟有着密不可分的联系,为了达到最小的延迟和抖动,几乎所有的DCM应用都要使用全局缓冲资源。DCM可以用Xilinx ISE软件中的Architecture Wizard直接生成。

FPGA工作流程

逻辑设计验证 =》 综合 =》 实现 =》 编程与调试

综合

将高层次FPGA设计转化为逻辑链接网表的过程。
综合过程将会检查代码语法并分析设计层次结构,并针对用户选定的器件进行优化,综合结束产生硬件资源估算,但不一定准确

实现

通过翻译、映射、布局布线等过程将逻辑设计进一步转译为可以下载烧录到FPGA器件的特定物理文件格式的过程。
翻译过程是将所有的输入网表和约束条件组合成一个逻辑设计文件,这些信息被保存为NGD文件
映射是将带有逻辑原酸的整个电路划分为子块,一遍可以被装入到FPGA逻辑块中。该过程将NGD文件定义的逻辑适用于FPGA,并生成一个NCD文件。
布局布线是确定FPGA中逻辑单元的位置,确定单元间的连线。

二、Xilinx FPGA开发

Vivado使用

FPGA开发——vivado使用

FPGA开发项目list

本科比赛项目
Triumphcore FPGA调测试记录文章来源地址https://www.toymoban.com/news/detail-798727.html

到了这里,关于FPGA开发设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA设计开发(基础课题):七段数码管设计

    一、设计目的 FPGA驱动七段数码管实现十六进制计数显示。 二、设计原理 七段数码管分共阳极与共阴极两种。共阳极数码管其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极数码管则与之相反,它是将发光二极管的阴极短接后作为公共阴

    2024年02月07日
    浏览(54)
  • 单周期-开发过程【FPGA模型机课程设计】

    2023-5-25 08:24:28 以下内容源自《【FPGA模型机课程设计】》 仅供学习交流使用 0集中实践环节计划书【FPGA模型机课程设计】 工程迭代过程 README.txt 1FPGA模型计算机整体方案设计【FPGA模型机课程设计】 2模型计算机各功能电路设计【FPGA模型机课程设计】 实现基本20条指令 3模型机

    2024年02月09日
    浏览(46)
  • CIC滤波器:原理、设计与FPGA开发

    CIC滤波器,全称为累积积分器滤波器(Cascaded Integrator-Comb Filter),是一种数字滤波器,通常在信号处理和通信系统中使用。本文将详细介绍CIC滤波器的原理、设计方法以及如何在FPGA上实现。 一、CIC滤波器原理 CIC滤波器由级联的积分器和组合器组成,其中积分器用于对输入信

    2024年02月04日
    浏览(53)
  • FPGA设计开发(基础课题):74LS160计数器芯片设计

    一、设计目的 1、学会用HDL语言设计时序电路; 2、用HDL语言设计74LS160计数器芯片的数字功能。 二、设计原理 计数器是最常用的寄存器逻辑电路,从微处理器的地址发生器到频率计都需要用到计数器。一般计数器可以分为两类:加法计数器和减法计数器。加法计数器每来一个

    2024年02月08日
    浏览(57)
  • FPGA实战开发-基于的ddr图像缓存设计(上)

    目录 概要 整体架构流程 技术名词解释 技术细节 ​编辑 小结 提示:这里可以添加技术概要 本文主要基于DDR的图像缓存设计。 提示:这里可以添加技术整体架构 先用图像产生模块产生一个1080P60Hz的测试图像,然后经过FDMA进入ddr3,缓存3帧后在读出来。然后在经过HDMI显示。

    2024年02月08日
    浏览(62)
  • [ZYNQ]开发之MATALB与FPGA联合仿真平台设计

    本实验在之前两篇文章的基础上设计的MATLAB与FPGA联合仿真平台设计,主要用于在MATLAB于FPGA之前提供收发数据的通道。该实验的应用背景为极化码的编译码流程,极化码的编译码的仿真流程如下: [ZYNQ]开发之基于 AN108 模块的ADC 采集以太网传输_Laid-back guy的博客-CSDN博客 [ZYNQ

    2024年02月04日
    浏览(60)
  • FPGA基于Vivado开发,设计顶层文件Top.v

    首先得承认,我并不是主动拥抱顶层文件这套思路的,原因很简单,能用就行干嘛费劲搞那么多东西。起初知识点亮一个LED灯,整一个半加器的简单模拟,也确实根本用不上。后边工程有一定的负责度,例如设计数字时钟,LCD1602驱动设计等等,这个时候我就发现了层次化设计

    2024年02月08日
    浏览(46)
  • fpga开发:二进制转BCD码的电路设计

    鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域创作新星创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen) 题目:二进制转BCD码的电路设计 一、设计要求 利用上海安路科技的EG4X20BG256板卡上面的资源(4个按键、4个

    2024年02月03日
    浏览(50)
  • 密码锁设计Verilog代码Quartus 睿智FPGA开发板

    名称:密码锁设计Verilog代码Quartus  睿智FPGA开发板(文末获取) 软件:Quartus 语言:Verilog 代码功能: 1、设计一个密码锁的控制电路,当输入正确代码时,输岀开锁信号用红灯亮、绿灯 熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁 2、在锁的控制电路中储存一个可以修改的4位代

    2024年01月18日
    浏览(51)
  • 基于DSP+FPGA的机载雷达伺服控制系统的硬件设计与开发(一)总体设计

    2.1 功能要求及性能指标 2.1.1 功能要求 ( 1 )具备方位和俯仰两轴运动的能力; (2)方位轴可实现预置、周扫和扇扫功能; (3)俯仰轴可实现预置功能。 2.1.2 性能指标 ( 1 )运动范围:方位转动范围为 ,俯仰转动范围为 ; (2)角速度:方位最大角速度为 100º/s ,俯仰最

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包