R
Robert Willy
Guest
Hi,
I am very curious about whether the below code is synthesis-able?
From the translate_on switch, it does look like OK.
BTW, this code is for a Xilinx FPGA. From what I knew in the past,
a code having absolute delay number cannot be synthesized.
Can you explain it to me?
Thanks,
//synthesis translate_on
// model the delays for ram write latency
wire wen_int;
wire [12:0] waddr_int;
wire [71:0] wdata_int;
generate if (RAM_WRITE_LATENCY == 1) begin : wr_lat_2
reg wen_dly;
reg [12:0] waddr_dly;
reg [71:0] wdata_dly;
always @(posedge user_clk_i) begin
if (reset_i) begin
wen_dly <= #TCQ 1'b0;
waddr_dly <= #TCQ 13'b0;
wdata_dly <= #TCQ 72'b0;
end else begin
wen_dly <= #TCQ wen;
waddr_dly <= #TCQ waddr;
wdata_dly <= #TCQ wdata;
end
end
assign wen_int = wen_dly;
assign waddr_int = waddr_dly;
assign wdata_int = wdata_dly;
end
I am very curious about whether the below code is synthesis-able?
From the translate_on switch, it does look like OK.
BTW, this code is for a Xilinx FPGA. From what I knew in the past,
a code having absolute delay number cannot be synthesized.
Can you explain it to me?
Thanks,
//synthesis translate_on
// model the delays for ram write latency
wire wen_int;
wire [12:0] waddr_int;
wire [71:0] wdata_int;
generate if (RAM_WRITE_LATENCY == 1) begin : wr_lat_2
reg wen_dly;
reg [12:0] waddr_dly;
reg [71:0] wdata_dly;
always @(posedge user_clk_i) begin
if (reset_i) begin
wen_dly <= #TCQ 1'b0;
waddr_dly <= #TCQ 13'b0;
wdata_dly <= #TCQ 72'b0;
end else begin
wen_dly <= #TCQ wen;
waddr_dly <= #TCQ waddr;
wdata_dly <= #TCQ wdata;
end
end
assign wen_int = wen_dly;
assign waddr_int = waddr_dly;
assign wdata_int = wdata_dly;
end