跳转到主要内容

FPGA中BEL Site Tile FSR SLR分别指什么?

judy 提交于

作者:张大侠,文章来源:<span id="profileBt"><a href="https://mp.weixin.qq.com/s/c0NjB8pknwmo9UVDxkx9EQ"&gt; 傅里叶的猫微信公众号</a></span>

在Xilinx FPGA中,从底层到整个设备可以划分为6个层次:

<li>BEL</li>
<li>Site</li>
<li>Tile</li>
<li>FSR</li>
<li>SLR</li>
<li>Device</li>

<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

下面我们从下到上依次来看一下各个定义。

<strong>BEL(Basic Element of Logic)</strong>
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

BEL是最底层的基本元素,也可以叫atomic unit(原子单位),BEL是FPGA中最小、不可分割的组件。BEL有两种:Logic BEL和Routing BEL。像我们常说的LUT、FF、CARRY都属于Logic BEL,Routing BEL我们平时不常说,很多工程师可能也没太听过,像FFMUX和DOUTMUX都属于Routing BEL,它们分别长下面这样:
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

在Vivado综合或实现的Design中,可以看到会在每一个模块下都会有Nets和Leaf Cells。
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

Leaf Cells就是FPGA中一个个真实存在的硬件模块,Vivado中place_design做的工作就是把这些Leaf Cells放到合适的BEL上。
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

<strong>Site</strong>
  一系列相关的元素与它们的连线组成了Site,Site中主要包含下面三种:

<li>BEL</li>
<li>Site的输入输出管脚</li>
<li>Site内部的连线</li>
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

Site一般都是跟Slice、DSP48、BRAM等是对应的,我们以Slice为例,在7系列的FPGA中,一个CLB有两个Slice,下图的白色框是一个CLB,从左边的Properties中可以看出,包含了两个site,其实就是包含了两个Slice。每个Slice都有独立的site,所以这个CLB中就有两个sites。
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

 Xilinx FPGA中很多元素的位置都是以_X_Y结尾来表示该元素在坐标中的位置,下图中的这个Slice的位置是X142Y185。
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

<strong>Tile</strong>
  Tile是比Site更高一级的概念,一个Tile里面包含多个Site,Tile没有pin的概念,比如下面这个Tile,其实就是一个CLB。
<center><img src="http://xilinx.eetrend.com/files/2022-02/%E5%8D%9A%E5%AE%A2/100557814-24…; alt=""></center>

<strong>FSR</strong>
  FSR就是Fabric Sub Region or Clock Region,是由一片Tile组成的,在UltraScale的FPGA中,所有的FSR的高度都有60个CLB,但宽度不尽相同。

  时钟routing和distribution的粒度与FSR相同,在UltraScale的FPGA中,有24个水平的routing track,24个垂直的routing track,24个水平的distribution track和24个垂直的distribution track,相邻的FSR就靠这些track互连。

<strong>SLR</strong>
  SLR就是Super Logic Region,这个概念仅针对SSIT的FPGA,也就是包含多个die的芯片,这样每个die就被称为一个SLR。

<strong>Device</strong>
  这个概念就无需过多介绍,就是指整个FPGA;如果是单个die的片子,那么多个FSR就组成了Device,如果是多个die的片子,那么多个SLR组成了Device。