基于PE的脉动阵列设计

电子说

1.3w人已加入

描述

脉动阵列指的是多个相同的处理单元(简称 PE),按一定互联规则组成的网络,即称之为脉动阵列。脉动阵列可以是一维线形、二维矩形、二维二叉树型、三维长方体形等等。

脉动阵列的特点主要是如下三点:

  1. 每一个节点,即 PE,都是相同的。
  2. 每个 PE 只与其相邻 PE 进行通信,即 PE 间通信具有局部性,且规则。若各 PE 连接关系错乱,硬件上进行布局布线很困难。
  3. 每个 PE 都有其局部存储器,即 PE 某些边带寄存器。这说明脉动阵列数据储存具有局部性,同时这也是流水运行的必要条件。

一定要记住,不是任意的算法都可以用脉动阵列来实现,只有规则的迭代算法,才能用投影技术设计出脉动结构。

RTL 代码

module PE(
clk,
rst_n,
ina,
inb,
outa,
outb,
outc
);
parameter SIZE = 8;
input clk,rst_n;
input  [SIZE-1:0] ina,inb;
output [SIZE-1:0] outa,outb;
inout  [SIZE-1:0] outc;
reg [SIZE-1:0] sumc,outa,outb;


always @ (posedge clk) begin
  if(!rst_n)begin
    outa <= 0;
    outb <= 0;
  end
  else begin
    sumc <= outc + (ina * inb);
    outa <= ina;
    outb <= inb;
  end
end //


assign outc = sumc; 


end // always
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分