每天一点Verilog,《高级FPGA设计》学习笔记:综合编码

 

 判决树:

 

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

 

综合后的原理图如下:

这里可以明显看出特权的布局。这类判决结构可以按照许多不同方式实现,取决于速度/面积的权衡以及特权方面的要求。

 

后面将会谈到如何设计和约束才能实现所需的综合结构。

 

 

你可能感兴趣的:(Verilog学习笔记)