基于verilog的TPU脉动阵列M16N16K16的简要实现方法

神经网络中有着大量的乘法运算,一般采用脉动阵列来进行流水线加速运算。

如图所示是一个大体的设计结构图,方块是最小MAC计算单元,左边和上边分别为乘法运算的两个数据。

由于神经网络中权重一般是固定的,所以我就将结构设计成为了另一张图,也就是这样,左边是源源不断的数据流,权重使用寄存器配置,从上到下就是是每一列寄存器某一时刻的累加值。

手画一个简单的例子。

针对16*16的矩阵结构图展示:

流水线展示:

最后就是结果图,实现了任意阶数N*N矩阵乘法的脉动阵列,并支持有符号int4和int8模式选择,这里取N=16,分别在int4和int8做了测试。

首先是int8:

然后是int4:

有需要的联系咸鱼:cllllll28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值