判决树:
在FPGA设计中,把一系列用来决定逻辑应该采取什么动作的条件称作一个判决树。通常,用if/else或者case实现。举一个写寄存器的例子:
module wr_reg(
output reg rout,
input clk,
input [3:0] in,
input [3:0] ctrl
);
always @ (posedge clk)
begin
if ( ctrl[0] ) rout<= in[0];
else if (ctrl[1]) rout<= in[1];
else if (ctrl[2]) rout<= in[2];
else if (ctrl[3]) rout<= in[3];
end
endmodule
综合后的原理图如下:

这里可以明显看出特权的布局。这类判决结构可以按照许多不同方式实现,取决于速度/面积的权衡以及特权方面的要求。
后面将会谈到如何设计和约束才能实现所需的综合结构。
本文介绍了FPGA设计中判决树的概念及其实现方法,并通过一个寄存器写入的例子展示了如何使用if/else结构来构建判决树。此外,还讨论了综合后的布局及其在速度与面积之间的权衡。
2万+

被折叠的 条评论
为什么被折叠?



