原创 【数字IC】高级数字 IC 设计(7)基于 PE 的脉动阵列设计

2023-3-18 21:47 1011 5 5 分类: FPGA/CPLD 文集: 数字IC

脉动阵列指的是多个相同的处理单元(简称 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

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条