SoC复习笔记


一、FPGA结构特点

在这里插入图片描述
现场可编程门阵列FPGA为用户提供了可编程和自己制造的能力,极大的缩短了设计和制造时间。它主要由以下四部分组成:
 1.IOB(IO单元)
 2.CLB(可编程逻辑块)
 3.BRAM(存储单元)
 4.DCM(数字时钟管理)

FPGA还具有以下基本特点:
 1.内部有丰富的触发器和I/O引脚
 2.设计周期短,开发费用低,风险小
 3.提高系统集成度和可靠性


CLB的内部结构如下:
在这里插入图片描述
LUT查找表通常会将输出结果提前存储起来,类似于RAM,通过输入的地址位信号输出对应地址单元的内容。



二、AXI总线协议和应用

1.接口类型

AXI总线协议提供了以下三种接口

——AXI_GP

通用型接口。包括两个32位主设备接口和两个32位从设备接口。

——AXI_HP

高性能/带宽接口。主要用于PL访问PS上的存储器。

——AXI_ACP

加速器一致性端口。用来管理DMA之类的不带缓存的AXI外设。

2.总线类型

在这里插入图片描述

——AXI_Lite

在这里插入图片描述

——AXI4

在这里插入图片描述

——AXI_Stream

在这里插入图片描述



三、指令并行优化

1.pipeline

流水线调度,在不冲突的情况下尽可能的让指令并行执行,提高了程序的并行度。
在这里插入图片描述

2.unroll

循环展开,在单次循环中做更多的操作,可以提高程序的并行性,代价是消耗了更多的资源
before unroll:

 int x;
 for (x = 0; x < 100; x++)
 {
     delete(x);
 }

after unroll循环展开4次:

 int x;
 for (x = 0; x < 100; x += 5 )
 {
     delete(x);
     delete(x + 1);
     delete(x + 2);
     delete(x + 3);
     delete(x + 4);
 }


四、数据并行优化

1.array partition

数组分割,在vivado_hls中提供以下三种数组分割的方法:block按块分,cyclic交叉分,complete完全分割。
在这里插入图片描述
分割之后相当于使用了额外的端口,增加了资源消耗但是提高了吞吐量。

2.array map

数组映射,基本思想是将多个小数组合并为一个大数组,与数组分割思想相反,array map减少了端口的使用,当然也降低了吞吐量。数组映射可以分为水平方向和竖直方向的拼接。

——Horizontal mapping

水平方向拼接,拼接的效果如下图所示,数组的长度为两数组长度之和,宽度为最宽的数组的宽度,同时允许空隙的存在。
在这里插入图片描述
在这里插入图片描述

——Vertical mapping

纵向拼接,将数组对应位置的元素拼接,最终得到的数组长度是最长数组的长度,宽度增加。
在这里插入图片描述

3.array_reshape

数组重组,实现的方法就是对一个数组先进行array_partition再进行Vertical_mapping,array_partition有三种方式,那么对应的重组也就有三种方法。

在这里插入图片描述

4.dataflow

Dataflow针对循环产生的依赖问题进行优化,例如:Dataflow可以将三个有依赖关系的循环体拆分成多个小循环,拆分后的循环体与流水线相似具有并行性。
在这里插入图片描述

为了进行Dataflow做出的转换:
在这里插入图片描述
在这里插入图片描述
上图由于Loop3同时依赖于Loop1和Loop2,无法进行Dataflow,所以需要调整依赖关系并实现Dataflow。



五、其他

fifo是先进先出寄存器,主要用于数据缓冲,一般是快速设备和慢速设备接口间用。


pingpong用于慢速设备处理高速数据,里面的缓冲用fifo思想,多个fifo在宏观上看相当于将高速数据分频,然后每个低速时钟同时处理,处理完后汇集起来变成高速数据。


希望考的都是我看过的=-=

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值