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。
在这里插入图片描述

CLB

在这里插入图片描述

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调测试记录

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

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

相关文章

大创项目推荐 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习猫狗分类 ** 该项目较为新颖&a…

C#~Winform取消窗体最大化最小化按钮

目录 取消最大化-false取消最小化-false效果 取消最大化-false 取消最小化-false 效果

彻底解决charles抓包https乱码的问题

最近做js逆向,听说charles比浏览器抓包更好用,结果发现全是乱码,根本没法用。 然后查询网上水文:全部都是装证书,根本没用! 最后终于找到解决办法,在这里记录一下: 乱码的根本原因…

Cmake 中的list介绍

这个链接非常好,都有例子。 https://www.jianshu.com/p/89fb01752d6f

AnyText多语言文字生成与编辑模型——让AI绘图自由添加精美文字

随着AIGC的爆火,图片生成技术得到飞速发展,当前AI生成的图片已达到真假难辨的高保真度。例如stable diffusion与midjourney为代表的文生图大模型。不过,当合成图片中出现文字内容时,现存的AI技术依然无法驾驭文字内容。因此,modescope提出了一种新型的文字生成方法,此方法…

矩阵的秩-

一、定义、理解 非零子式的最高阶数。 如何理解?什么叫做非零子式的最高阶数??? 举个例子:有一个5阶矩阵 首先什么叫子式? 例如2阶子式就是,任取某两行某两列组成的行列式,就叫…

书生·浦语大模型实战营第三次课堂笔记

LLM 的局限性 知识时效性受限: 如何让LLM能够获取最新的知识 专业能力有限: 如何打造垂域大模型 定制化成本高: 如何打造个人专属的LLM应用 RAG:检索增强生成, 核心思想:给大模型外挂一个知识库,对于用户的提问,会首先从知识库中…

零基础入门,轻松制作仿真翻页电子书

​随着科技的进步,电子书已经成为越来越多人的选择。与传统纸质书籍相比,电子书具有便携性、可搜索性、可分享性等优势。然而,制作电子书并非易事。许多人都因为缺乏相关知识和技能而望而却步。我给大家提供了一些实用的方法哦,可…

字体包大小缩小的软件

Fontmin - 字体子集化方案https://ecomfe.github.io/fontmin/#app

openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态

文章目录 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态195.1 分析查询语句运行状态195.1.1 问题现象195.1.2 处理办法 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态 195.1 分析查询语句运行状态…

什么软件可以做报表?

数据报表,是商业领域中不可或缺的一部分,它通过表格、图表等形式,将复杂的数据进行整理、分析并呈现出来,帮助用户更好地理解数据的趋势和关系。数据报表不仅展示了业务现状和趋势,还支持多种数据分析和挖掘功能&#…

代码随想录算法训练营第三天 | 203.移除链表元素、707.设计链表、206.反转链表

代码随想录算法训练营第三天 | 203.移除链表元素、707.设计链表、206.反转链表 文章目录 代码随想录算法训练营第三天 | 203.移除链表元素、707.设计链表、206.反转链表1 链表理论基础1.1 链表的定义1.2 链表的类型1.3 链表的存储方式1.4 链表的操作性能分析1.5 链表和数组的区…

使用Adobe Acrobat Pro DC给pdf文件填加水印

前言 GPT4的官方售价是每月20美元,很多人并不是天天用GPT,只是偶尔用一下。 如果调用官方的GPT4接口,就可以按使用量付费,用多少付多少,而且没有3个小时内只能提问50条的使用限制。 但是对很多人来说调用接口是比较麻烦…

使用new pm写一个pass

范例来自LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries llvm ir到ir是由一个个pass处理的,从一个ir到另一个ir会改变一些东西 书里面就是说想要给指针变量添加一个noalias属性 书里面使用插件的形式,但是不知道怎么我搞不…

在阿里巴巴,领导提拔你不是看重你的能力

很多人都在想,为什么领导总是不提拔你,难道真的是如领导给你的反馈“你的能力不行”,这里我想告诉大家,这件事情绝对没有这么简单,尤其是在阿里巴巴这样“江湖气”非常浓的大厂。 Part.1 领导要提拔你,绝对…

网络变压器POE的功能

网络变压器,也被称为POE(Power over Ethernet),是一种用于在以太网中传输数据和电力的技术。它的主要功能包括: 1. 传输数据:网络变压器可以传输高速的网络数据,如10/100/1000Mbps。 2. 传输电…

原型模式

为什么要使用原型模式 不用重新初始化对象,而是动态地获得对象运行时的状态。适用于当创建对象的成本较高时,如需进行复杂的数据库操作或复杂计算才能获得初始数据。 优点是可以隐藏对象创建的细节,减少重复的初始化代码;可以在…

代码随想录算法训练营第六天|哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和

刷题建议 刷题建议与debug 代码随想录目前基本都有了视频讲解,一定要先看视频,事半功倍。写博客,将自己的感悟沉淀下来,不然会忘大家提问的时候,记得要把问题描述清楚,自己在哪一步遇到了问题&#xff0c…

【工具栏】jclasslib 插件的安装和使用

1. 安装 2.使用 安装之后 在 view 的 ToolWindows 里也有一个这样的窗口 jclasslib 的主要作用是查看字节码的相关信息 package com.test;public class Test {public static void main(String[] args) {Integer a 1;int b a 2;} }例如我写了一段这样的代码,然后去…

蓝凌EIS智慧协同平台 多处SQL注入漏洞复现

0x01 产品简介 蓝凌EIS智慧协同平台是一款专为企业提供高效协同办公和团队合作的产品。该平台集成了各种协同工具和功能,旨在提升企业内部沟通、协作和信息共享的效率。 0x02 漏洞概述 由于蓝凌EIS智慧协同平台 doc_fileedit_word.aspx、frm_form_list_main.aspx、frm_butt…