文献阅读及体会

永无止境的坑之二

Posted by Florian on August 5, 2019

文献阅读及体会

因为最近想开始好好读一些文献,内容包括但不限于计算机体系结构、计算机组成、FPGA、数字设计、Verilog、RISC-V、机器学习、嵌入式开发、C/C++ 老师的安排

所以开一个坑简单记录一下从2019.4.20开始的文献阅读心得。

8.5更新

由于论文阅读速度的提高和技巧的进步,故论文阅读的内容做成PPT的格式供个人总结,不再更新。

6.2

阅读《A 60mW Baseband SoC for CMMB Receiver》一文。 这篇文章介绍了作者团队设计的一款基带芯片,主要结构是2个10-bit的ADC、PLL、PHY基带处理器和一个32-bit RISC处理器,我主要关注这个RISC处理器 这篇文章的关键在于架构

可以暂时不考虑左上角的模拟部分和下方的Baseband Processor,只考虑信号经过一系列的处理存到Share SRAM里。这篇文章讲了当Share SRAM放满的时候,Baseband Processor会发出一个中断信号给RISC处理器,然后RISC处理器会把Share SRAM里的数据通过SPI和SDIO接口发到Video Decoder里。这个过程就是本文讲得最多的一个过程

另外,本文还讲了在设计这款SoC过程中使用的三种降功耗的方法

  • 在模拟部分降低功耗(略)
  • 在完成MAC layer功能后RISC处理器会进入sleep模式直到下次
  • 利用时钟门控(clock gating)技术降低动态功耗

5.25

更新:已读完《The Celerity Open-Source 511-Core RISC-V Tiered Accelerator Fabric》一文。

这篇文章研究的背景是为了满足功耗和performance开始做硬件加速器。

但问题在于硬件加速器存在开发周期长和修改很麻烦的问题。

所以本文作者提出了名为Celerity的架构和叫做Tiered Accelerator Fabric(TAF)的设计模式。

TAF由3个关键的结构层构成:

  • 通用层:由一系列可运行操作系统的核构成,主要执行网络核控制方面的复杂代码
  • 专用层:算法加速器
  • 大规模并行层:由可编程阵列组成,扩展性好

本文选用的是二值化神经网络,中间有一步步的优化(没有细看),顺便介绍了一波HLS设计的特点:开发迅速,使用熟悉的C++语言等等优势。

最后,在Celerity SoC上跑二值化神经网络最佳的efficiency不出所料是基于SpT+MPT(specialization tier with the weights stored in the massively parallel tier)实现的(溜了

5.11

《The Celerity Open-Source 511-Core RISC-V Tiered Accelerator Fabric》

这篇文章主要介绍了用HLS创建的基于RISC-V的神经网络加速器

目前只看了综述,待续……