原创
【数字IC】高级数字 IC 设计(7)基于 PE 的脉动阵列设计
脉动阵列指的是多个相同的处理单元(简称 PE),按一定互联规则组成的网络,即称之为脉动阵列。脉动阵列可以是一维线形、二维矩形、二维二叉树型、三维长方体形等等。脉动阵列的特点主要是如下三点:
每一个节点,即 PE,都是相同的。
每个 PE 只与其相邻 PE 进行通信,即 PE 间通信具有局部性,且规则。若各 PE 连接关系错乱,硬件上进行布局布线很困难。
每个 PE 都有其局部存储器,即 PE 某些边带
寄存器
。这说明脉动阵列数据储存具有局部性,同时这也是流水运行的必要条件。
一定要记住,不是任意的算法都可以用脉动阵列来实现,只有规则的迭代算法,才能用投影技术设计出脉动结构。
RTL 代码
Plaintext
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
|
文章评论(0条评论)
登录后参与讨论