Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

How to deal with latch setup & hold time problems?

Status
Not open for further replies.

heligb

Newbie level 4
Joined
Jul 7, 2005
Messages
7
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,348
In my design a latch is needed, but its enable signal is generated from several input signals. and the data signal is generated from several input signals too.
It brings setup & hold time problems.

How to write a synthesis script to deal with it?
 

wadaye

Full Member level 4
Joined
Jun 18, 2004
Messages
213
Helped
12
Reputation
24
Reaction score
2
Trophy points
1,298
Activity points
1,906
Hi heligb,

STA tool use timing borrow automaticly handle this.
 

heligb

Newbie level 4
Joined
Jul 7, 2005
Messages
7
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,348
To DFF, I can create a clock, and define the min & max library. The DFF setup & hold time problems can be solved by DC. But it is latch, how to deal with it?
I search it in synopsys sold, but nothing found.
 

tarkyss

Full Member level 6
Joined
Aug 1, 2005
Messages
345
Helped
26
Reputation
52
Reaction score
9
Trophy points
1,298
Location
China
Activity points
4,187
I think you need not worry about it
latch is not the same with ff
ff only sample data at the posedge(or negedge) of clock
but for latch, when the data and enable are stable, the data can be latched correcttly
if i am wrong, please correct me, i did not design such circuits
 

heligb

Newbie level 4
Joined
Jul 7, 2005
Messages
7
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,348
No, the latch also have a lauch edge. If a latch's enable signal is high active, the negative edge is the lauch edge.

Setup time: the data must be stable time before the edge
Hold time: the data must be stable time after the edge
 
  • Like
Reactions: vngo

    vngo

    points: 2
    Helpful Answer Positive Rating

anjali

Full Member level 3
Joined
Aug 16, 2005
Messages
173
Helped
14
Reputation
28
Reaction score
6
Trophy points
1,298
Activity points
3,033
at max, we should try to avoid the usage of latches. they leads to more problems in backend stage.

PT can solve this using time borrowing.
 

Iouri

Advanced Member level 2
Joined
Aug 17, 2005
Messages
682
Helped
87
Reputation
174
Reaction score
8
Trophy points
1,298
Activity points
4,814
You need to put you enable signal through the register and you data signal as well
somethin like this

process (clk)
begin
if (clk = '1' and clk'event)
latch_en <= a and b or c;
data_in <= d or e or f;
end if;
end process;

process(clk)
begin
if (clk = '1' and clk'event) then
if latch_en = '1' them
data_out <= data_in;
end if;
end if;
end process;
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top