FPGA IO命名与Bank划分

2024-02-27 02:04
文章标签 fpga 划分 io 命名 bank

本文主要是介绍FPGA IO命名与Bank划分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • IO的命名
    • IO物理命名
    • IO功能命名
  • Bank简介
  • FPGA器件功能命名与Bank划分查找
    • XILINX
    • Intel
    • LATTICE

IO的命名

IO物理命名

FPGA的IO物理命名规则,也就是我们做管脚约束时候的命名。芯片通常是长方体或者正方体,所以命名通常采用字母+数字组合的方式,从上到下是字母(A,B,C,D```),从左到右是数字(1,2,3```),所以诸如:W3(见下图,在Vivado中右上角选择l/O Planning即可调出封装图),就是图上箭头的位置。

在这里插入图片描述

在这里插入图片描述

IO功能命名

FPGA的功能命名规则。功能命名规则每个厂家都会自己的一套规则,但都大同小异,我们重点来讲述一下xilinx的命名。

Xilinx 7系列FPGA的HR和HP bank,每个bank有50个I/O管脚,每个I/O管脚都可配置成输入、输出。每个bank的首尾管脚只能作为单端I/O,其余48个I/O则可配置成24对差分I/O。在差分信号的实现过程中,管脚分配应选择相应电平标准的bank中除首尾以外的其他48个IO。Xilinx 7系列的差分信号的实现主要通过IBUFDS、OBUFDS、IOBUFDS等原语的调用,在程序中直接进行原语的例化。【FPGA I/O之差分信号】

在下图中,我们可以看到红色圈住的两个单端信号,绿色线条圈住的_CC时钟管脚不用作时钟输入时可以作为用户I/O来使用,另外,还可以看到蓝色标记的VREF管脚,当该BANK I/O用作DDR内存接口时,需要提供伪差分所需的阈值电压,此时_VREF_管脚需要接DDR外设要求的参考电压。 Xilinx 7系列 FPGA硬件知识系列(三)—— Bank划分及引脚定义
在这里插入图片描述

通常xilinx 的功能命名格式为:

差分IO命名:IO_LXXXP_XXXX_#。其中:

(1) IO代表用户IO;

(2) L代表差分,XX代表在当前Bank下的唯一标识号,差分对编号不同的差分对具有不同的编号,P或N表示LVDS信号的差分正端或差分负端;

(3)XXXX位置表示该IO的一些功能;

(4) #表示Bank号,由于FPGA的IO参考电平是按照Bank进行供电的,所以差分对所在的Bank应尤其注意。

举例:IO_L13P_T2_MRCC_12,那通过功能命名的规则我们就可以知道,这是一个用户IO,支持差分信号,是Bank12的第13对差分的P端口,与此同时它也是全局时钟网络输入管脚(MRCC是全局时钟网络)。

单端IO命名:IO_#_#。其中:第1个#代表单端IO的编号;第2个#代表单端IO所在的Bank。

举例:IO_25_12,代表第25个单端IO,IO位于第12BANK。

Bank简介

为了便于管理和适应多种电器标准,FPGA 的 IOE 部分被划分为若干个组(Bank),Bank是一组物理位置和特性相近的IO的总称, 每个 Bank 的接口标准由其接口电压 VCCIO 决定,一个 Bank 只能有一种 VCCIO,但不同 Bank 的 VCCIO 可以不同。只有相同电气标准和物理特性的端口才能连接在一起,VCCIO 电压相同是接口标准的基本条件。同一Bank的电压的基准是一致的,因此,通常如果我们需要各种不同标准的电压,可以通过给到Bank的电压基准不同的方式来实现多种电平标准的输入输出。通常封装越大,Bank数量也越多,可以支持电压标准也越多。

HP Bank、HR Bank和HD Bank, 这几个概念都是在7系列之后才有的,其中7系列的FPGA中有HP Bank和HR Bank,UltraScale FPGA有HP Bank、HR Bank和HD Bank,但并不是一个FPGA中会同时包含HP/HR/HD Bank。

Bank说明
HP:High Performance应用于高性能也就是速度比较高的场景,比如DDR或者其它高速差分总线(不是gtx),由于速率比较高,Bank电压最高也只能到1.8V
HR:High Range表示支持wider range of I/O standards,最高能够支持到3.3V的电压。
HD:High Density应用于低速I/O的场景,最高速率限制在250M以内,最高电压也是支持到3.3V。

FPGA器件功能命名与Bank划分查找

方法一:浏览器检索:器件名+ pinout。如:XC7K325T pinout,点击对应的官网链接进入。

方法二:在官网查找

XILINX

XILINX:Package Files (xilinx.com)
在这里插入图片描述

Intel

Intel:Pin-Out Files for Intel Field Programmable Gate Arrays (FPGAs) | Intel
在这里插入图片描述

LATTICE

LATTICE:莱迪思产品 (latticesemi.com)

在这里插入图片描述

这篇关于FPGA IO命名与Bank划分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/750885

相关文章

变量与命名

引言         在前两个课时中,我们已经了解了 Python 程序的基本结构,学习了如何正确地使用缩进来组织代码,并且知道了注释的重要性。现在我们将进一步深入到 Python 编程的核心——变量与命名。变量是我们存储数据的主要方式,而合理的命名则有助于提高代码的可读性和可维护性。 变量的概念与使用         在 Python 中,变量是一种用来存储数据值的标识符。创建变量很简单,

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

Thread如何划分为Warp?

1 .Thread如何划分为Warp? https://jielahou.com/code/cuda/thread-to-warp.html  Thread Index和Thread ID之间有什么关系呢?(线程架构参考这里:CUDA C++ Programming Guide (nvidia.com)open in new window) 1维的Thread Index,其Thread

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

springboot体会BIO(阻塞式IO)

使用springboot体会阻塞式IO 大致的思路为: 创建一个socket服务端,监听socket通道,并打印出socket通道中的内容。 创建两个socket客户端,向socket服务端写入消息。 1.创建服务端 public class RedisServer {public static void main(String[] args) throws IOException {

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

JavaEE-文件操作与IO

目录 1,两种路径 二,两种文件 三,文件的操作/File类: 1)文件系统操作 File类 2)文件内容操作(读文件,写文件) (1)打开文件 (2)关闭文件 (3)读文件/InputStream (4)写文件/OutputStream (5)读文件/reader (6)写文件/writer (7)Scanner 四,练习: 1,两种路径 1)绝对路径

FPGA编译与部署方法全方位介绍

FPGA编译与部署是FPGA开发中的核心环节,涉及从代码编写、调试到将设计部署到FPGA硬件的全过程。这个流程需要经过创建项目、编写FPGA VI、模拟调试、编译生成比特流文件,最后将设计部署到硬件上运行。编译的特点在于并行执行能力、定制化硬件实现以及复杂的时钟管理。通过LabVIEW的FPGA模块和NI硬件,可以快速完成开发和部署,尤其适用于复杂控制与高性能数据处理系统。 1. FPG

FPGA开发:条件语句 × 循环语句

条件语句 if_else语句 if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。 if(表达式)语句; 例如: if(a>b) out1=int1; if(表达式)         语句1; else         语句2; 例如: if(a>b)out1=int1;elseout1=int2; if(表达式1) 语句1; els