WL in NFPGA

开始梳理以下论文的内容,拒绝拖延症
在这里插入图片描述
老师好像预料到我会不理解Wear Leveling的意思,解释了这是磨损均衡的意思,所以论文的内容是介绍NFPGA中BRAM的磨损均衡。
在这里插入图片描述
FPGA中BRAM是一个重要的组成部分,主要用来存储数据和参数。现在的BRAM主要基于SRAM,缺点是有能量泄露和低密度(?这里记录以下,有空的时候再详细了解)。
随着处理技术的发展,SRAM成为构建高容量低能耗的FPGA的阻碍。为了解决这个问题,可以使用NVM(非易失存储)来取代SRAM。
而NFPGA主要面对的问题是寿命问题。磨损均衡意在改进NVM的寿命,基本的思想是在物理空间上平衡写操作,这样不会因为个别的磨损严重的部分而缩短寿命。这是通过在频繁写和很少写的区域之间动态进行映射来实现的。然而已有的策略不能直接用在BRAM上。这是因为BRAM中存放的数据高度影响FPGA的表现,为了改进寿命而进行的数据交换可能带来高性能开销。而这篇文章则提出了一种同时考虑寿命和表现的策略。
在这里插入图片描述
传统的岛式FPGA包括CLB,CB,SB,BRAM等。CLB给予查找表实现。BRAM和CLB相连来存储输入输出数据以及缓冲高速计算单元和低速外存储。
FPGA的配置过程要经过逻辑分析,打包,布局,布线等过程。
在这里插入图片描述
在这里插入图片描述
传统的存储器上WL的做法是交换常写的和不常写的。FPGA的表现决定于关键路径的长度,关键路径是最长的组合逻辑(这里不是很懂,记得以前看打包的时候critical path是slack,到时候再问问)。而在给出的例子中,交换两个BRAM的数据将使关键路径变长。
因此,传统的WL不能直接应用于BRAM。
在这里插入图片描述
根据写频率动态更改数据的分布会导致重配置的需要。这里需要注意的是,产生的多种配置是FPGA在运行过程中进行不停切换的。WL机制主要包括三个阶段:静态分析,关心表现的WL布局,还有运行时重配置。
静态分析:为了估计不同BRAM的写频率,将会尝试一组随机的输入。(这里也有点没看明白,待补充)。
观察结果是大多数BRAM的写频率对于不同的输入来说是相对稳定的。而对于一些会随着不同的输入改变的信号来说,则随机生成n组激励并求平均值。
布局阶段:传统的布局基于模拟退火的过程。对于已经打包好的逻辑块,先 生成一个初始布局,再随机选择两个block并交换。交换后的设计将计算得到一个收益,如果可以得到一定的收益则接受这次交换,否则以一定概率接受。交换并评价的过程一直进行直到收益很小或达到了迭代次数。
文章中提出的过程也采用了这个框架,但加入了写频率的考虑。首先,在产生初始布局时,产生的映射把经常写的block和静态分析中很少写的block配对。接着,当进行评价时,加入寿命的影响因素。如果当前的设计将逻辑上频繁写的block映射到物理上频繁写的block,则接受当前设计的可能性将降低。
通过考虑写 信息,WL将产生多个配置文件并且在运行时动态地切换。为了记录写历史,BRAM将保持一个计数器,将来的写操作将通过静态分析实现。为了对映射情况进行改进,将维护两个与物理比率(用词是ratio,这里先打个问号)和逻辑比率有关的矩阵。
改进后的策略如图所示:
在这里插入图片描述
首先应对物理比率和逻辑比率进行初始化。物理比率根据BRAM的计数器设置,逻辑比率从静态分析中得到。接着算法尝试迭代地产生多种配置。
在这里插入图片描述
首先要产生一个初始布局,对每个逻辑块,尝试寻找一个物理映射。首先随机选择一个物理块,然后检查是否可被接受,如果可以,这块逻辑块的映射便结束了。否则,继续寻找另一个物理块直到被接受。如果所有的物理块都无法与该逻辑块建立映射,则初始化失败,没有一进步的可用配置。
在这里插入图片描述
该函数判断当前的映射是否可以被接受。对于当前的映射,如果逻辑块和物理块同时是写密集的,则将不被接受。并且还应满足不可使布局初始化失败,为什么会失败呢,这是因为把逻辑上少写和物理上少写的区域进行了映射,导致在之后的布局中写密集的block将没有地方放置。
在这里插入图片描述
在初始化后,算法尝试交换两个逻辑块。不同于传统的布局,除了检查交换的收益外,算法还检查基于寿命的接受条件。r评估当前的逻辑与物理映射有多理想,一个平衡的映射将获得更大的r。最终我们将获得多种不同的布局方案。

重配置阶段:系统可以使用产生布局方案的顺序来进行重新配置。一个BRAM的使用情况将用一个计数器来记录,当一个BRAM的计数器到达阈值的时候,就可进行布局方案的切换。

当前仍然有些不明白的问题:为什么可以按照产生的顺序来切换,还有产生配置的过程中是否会对counter进行修改,静态分析的结果又是什么,是否只需要执行一次,逻辑比率是否每次都会被设置成一样的内容??

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值