electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

Hold Time Issue!!??


Post new topic  Reply to topic    EDAboard.com Forum Index -> PLD, SPLD, GAL, CPLD, FPGA Design -> Hold Time Issue!!??
Author Message
always@smart



Joined: 08 Feb 2002
Posts: 308
Helped: 7
Location: ASIA


Post05 Dec 2003 3:34   

Hold Time Issue!!??


Hi all,

I understand that Hold time violation happens when the data retain too short after the active edge...

But what about, say the data retain for 2 clock cycle, but it falls on the 2nd active edge, does this still consider hold time violation!!??

If yes, so how could I solve the hold time violation for this data signal which comes from external module(Micro-controller), which is not synchronize with the FPGA design clock, but both having same clock frequency(50Mhz).

Thank you for reply and advice.

Regards,
Back to top
it_boy



Joined: 18 Jul 2002
Posts: 181
Helped: 4


Post05 Dec 2003 5:02   

Re: Hold Time Issue!!??


If you are using xilinx FPGAs, you can add delay for input signals in the IOBs to meet your hold time requirements.
Back to top
Google
AdSense
Google Adsense




Post05 Dec 2003 5:02   

Ads




Back to top
brmadhukar



Joined: 21 Jun 2002
Posts: 844
Helped: 29


Post05 Dec 2003 5:19   

Re: Hold Time Issue!!??


It can cause Hold time violation.
To avoid this put synchronizers.
Back to top
r_e_m_y



Joined: 02 Oct 2003
Posts: 77
Helped: 1


Post05 Dec 2003 9:39   

Re: Hold Time Issue!!??


Hi,

The probelm with hold (or setup) time violation is that the output of your flip flop mayu not be at the expected value. So you should consider this output as invalid.
If your input signal stays for 2 clock cycles, and if you can know when the input changes (may be with chip select signal ...), you can use the output of your flip flop only after the first clock , and ignore if for the second one.
Build a small state machine for this data validation system.

I hope this will help you.

Wink
Back to top
always@smart



Joined: 08 Feb 2002
Posts: 308
Helped: 7
Location: ASIA


Post05 Dec 2003 11:00   

Re: Hold Time Issue!!??


Hi all,

Thank you for reply, very appreciate..

I'm using Alter@ Fpga and Qu(at)rtus II v2.2, can you please tell me how should i fix the hold time violatatin from the input port.


Secondly, how could I synchronize with the external module, since the external clock is not going to the FPGA!!?

Regards,
Back to top
it_boy



Joined: 18 Jul 2002
Posts: 181
Helped: 4


Post05 Dec 2003 15:47   

Re: Hold Time Issue!!??


As the external clock and the internal clock are both operating at same frequency (50MHz) and the data is retained on the bus for 2 clocks, the best way to operate is to latch the data on the first clock cycle if you are having hold time issues as in r_e_m_y's post.

I dont know if @ltera supports, if it does, delaying data bus in the IOBs with the period by which it is missing the hold time.
Back to top
dll_embed



Joined: 04 Sep 2003
Posts: 116
Helped: 1


Post09 Dec 2003 8:23   

Re: Hold Time Issue!!??


If i understand your question correctly, asynchronous fifo maybe a better choice. If you use a 50M clock to sample a signal generated by another 50M clock, you have a high chance to lose data.

regards
Back to top
always@smart



Joined: 08 Feb 2002
Posts: 308
Helped: 7
Location: ASIA


Post30 Dec 2003 15:59   

Re: Hold Time Issue!!??


Hi all,

what about now the external module data only retain for 1 cycle, is there any method to avoid meta-stable of the FPGA register??

Regards,
always(at)smart
Back to top
AXE
Guest






Post02 Jan 2004 10:58   


add one register
Back to top
VladZ



Joined: 11 Dec 2001
Posts: 45


Post04 Jan 2004 12:44   

Re: Hold Time Issue!!??


See the Synthesis and Scripting Techniques for Designing Multi-Asynchronous Clock Designs on by Clifford E. Cummings. This paper is available for download at [url]http://www.sunburst-design.com/papers/ [/url]
He explanes "metastability" and "synchronizers"

best reards
vladz
Back to top
andromeda



Joined: 26 Sep 2002
Posts: 71
Helped: 1


Post05 Jan 2004 5:03   

Re: Hold Time Issue!!??


Answer for your question depends on clock sources used in data source and data destination:
- if it is the same clock, with some latency in between, you could try to play with (I work with Xilinx FPGA) feedback for clock de-skew in internal PLL and add/remove delay in IOB to compensate this latency (by the way, in PCB design clock is supposed to be routed to avoid those latencies)
- if those two 50MHz clock are generated independently you could treat them as asynchronous clock sources and do real synchronization (Cumming’s paper is definitely best source which cover this)
If you could, instead of simple flop, on destination side to qualify sampling only to first clock edge, where data is stable, it is of course the simplest way to solve this.
Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> PLD, SPLD, GAL, CPLD, FPGA Design -> Hold Time Issue!!??
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
Hold fix issue - hold violation problem (5)
What's the relation between Hold Time and Clock-to-Q Time ? (9)
If setup time is met, so how hold time violation maybe occur (1)
what happens if hold time greater than setup time (6)
setup time is less than hold time,will this cause problem??? (5)
regarding set up time and hold time violations (2)
maximum set up time and minimum hold time ?? (1)
problems about setup time and hold time (4)
clock transition time vs setup/hold time of a DFF (4)
Calculation of Setup time and Hold time (10)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS