Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Help me with One Timing Loop code

Status
Not open for further replies.

nemolee

Full Member level 3
Joined
Dec 28, 2004
Messages
155
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,298
Activity points
1,467
Timing Loop

Now I have one timing loop issue in my design. The code is as follow:

assign dck = scan_tst ? scan_dck :
pg_en ? osc_dck :
en1ch ? lvds_dck_div2 : lvds_dck;

always @(posedge dck or negedge rst_n)
begin
if (!rst_n)
en1ch <= #1 1'b0;
else if (i2c_func_en)
en1ch <= #1 data;
end

How can I fix this issue? Thank you very much.
 

Re: Timing Loop

nemolee said:
Now I have one timing loop issue in my design. The code is as follow:

I didnt understand your issue . Could you expalin your issue in detail .. may be I can help..
 

Re: Timing Loop

use "report_timing -loops" option and put these loop in group_path , DC will autoamtically resolve the loop
 

Re: Timing Loop

I got ur problem....
And the soln is don't register data use it directly as follows to select dck!

Code:
assign dck = scan_tst ? scan_dck :
                   pg_en ? osc_dck :
                   (rst_n & i2c_func_en & data) ? lvds_dck_div2 : lvds_dck;
 

Timing Loop

en1ch is an input of dck and dck trig the en1ch. it is timing loop
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top