seeker_123
Member level 2
- Joined
- Apr 8, 2013
- Messages
- 53
- Helped
- 1
- Reputation
- 2
- Reaction score
- 1
- Trophy points
- 1,288
- Location
- Bangalore
- Activity points
- 1,731
In dff code I have used DCM from Language template of xilinx.
------------------------------------------------------------------------------------------------------
module dff_async_reset (data,clk,reset,q);
input data, clk, reset ;
output q;
reg q;
DCM_BASE DCM_BASE_inst (
.CLK0(CLK0), // 0 degree DCM CLK output
.CLKFB(CLK1), // DCM clock feedback
.CLKIN(clk), // Clock input (from IBUFG, BUFG or DCM)
.RST(0) // DCM asynchronous reset input
);
BUFG BUFG_inst (
.O(CLK1), // Clock buffer output
.I(CLK0) // Clock buffer input
);
always @ ( posedge CLK1 or negedge reset)
if (~reset) begin
q <= 1'b0;
end else begin
q <= data;
end
endmodule
-----------------------------------------------------------------------------------------------------------------
and then I have given constraint like
NET "clk" TNM_NET = clk;
TIMESPEC TS_clk = PERIOD "clk" 3 ns HIGH 50%;
OFFSET = IN 3 ns VALID 3 ns BEFORE "clk" RISING;
OFFSET = OUT 3 ns AFTER "clk";
But timing constraint fails. I have attached timing constraint report image.
Report is saying that best case achievable for clock period is 6.66ns.
Whenever I am using DCM for any design it says that best case achievable for clock period is 6.66ns.
Why it is happening ? Is it case that DCM can achieve maximum of 150 mhz?
I am working on vertex5. xilinx 13.2
Please guide me on this.
Thank you................
------------------------------------------------------------------------------------------------------
module dff_async_reset (data,clk,reset,q);
input data, clk, reset ;
output q;
reg q;
DCM_BASE DCM_BASE_inst (
.CLK0(CLK0), // 0 degree DCM CLK output
.CLKFB(CLK1), // DCM clock feedback
.CLKIN(clk), // Clock input (from IBUFG, BUFG or DCM)
.RST(0) // DCM asynchronous reset input
);
BUFG BUFG_inst (
.O(CLK1), // Clock buffer output
.I(CLK0) // Clock buffer input
);
always @ ( posedge CLK1 or negedge reset)
if (~reset) begin
q <= 1'b0;
end else begin
q <= data;
end
endmodule
-----------------------------------------------------------------------------------------------------------------
and then I have given constraint like
NET "clk" TNM_NET = clk;
TIMESPEC TS_clk = PERIOD "clk" 3 ns HIGH 50%;
OFFSET = IN 3 ns VALID 3 ns BEFORE "clk" RISING;
OFFSET = OUT 3 ns AFTER "clk";
But timing constraint fails. I have attached timing constraint report image.
Report is saying that best case achievable for clock period is 6.66ns.
Whenever I am using DCM for any design it says that best case achievable for clock period is 6.66ns.
Why it is happening ? Is it case that DCM can achieve maximum of 150 mhz?
I am working on vertex5. xilinx 13.2
Please guide me on this.
Thank you................