在小项目构建过程中,没有足够的精力去处理DLL或者类似的复杂的电路的情况下,需要使用随路时钟完成时钟树的综合。为方便CTS,会在随路时钟路径上添加一些负载作为load,以便模拟芯片与芯片之间时钟信号的同步处理。添加DFF作为负载,是今天学到的一种方法。在构成DFF之后需要一个时钟沿产生电路来控制DFF的开启。
module DFF_load(gener,clk,ctrl)
input clk,ctrl; //ctrl为门控时钟使能信号
output gener;
reg [127:0] gener;
wire clk,ctrl;
wire clk_c;
assign clk_c=clk&ctrl;
parameter IDLE=128'b1;
always @(posedge clk_c) begin
if(!reset) begin
gener<=IDLE;
end
else begin
gener<={gener[126:0],gener[127]};
end
endmodule