Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - Strange signal behaviour

 
Thread Tools Search this Thread
Old 10-26-2006, 10:13 AM   #1
Default Strange signal behaviour


Hello everyone,

I encountered a very strange singnal behaviour. I will try to sketch
out the facts as precisely as possible:

I am interfacing an FPGA (Virtex2) chip with an external I˛C interface
(Philips PCA9564). I can send commands to the PCA9564, for which I have
to wait until they are completed. The PCA9564 features an active low
INT signal which tells me that a transaction on the bus has been
completed. This INT signal is checked noumerous times in my VHDL code.
Now this check reproducibly fails after only a few checks, which means
e.g. the tenth time I have to wait for INT = 0 (which means to cycle on
the INT = 0 condition), my VHDL code does cycle forever.

I looked into this with a digital/analog oscilloscope (I am a student,
and the university features some very nice hardware), and noted, that
the analog INT signal indeed drop to a low level - as well as the
digitalized signal that I for debug reasons routed to the outside and
checked with a digital probe.

So as far as I can see, all needed conditions are met.

After some trying around, I changed the way the signal is read. Now,
instead of reading the port signal directly wherever needed, I added a
process and an internal signal (pca9564_int is the external signal from
the chip):

pca9564_interrupt <= pca9564_int WHEN clock'EVENT AND clock = '1';

In my understanding, this should lead to an additional register in
synthesis. So now my code checks on the register value. And to my
surprise, this works like a charm ...

Now, so there is isn't really a problem here, since everything works
fine.
Yet I am courious why this is working. So has anyone an idea why my
initial setup didn't work, and why it does work with the extra process?

Could this be because of a fanout problem when accessing the external
signal directly - and shouldn't the synthesis tool prevent this?

Thanks for any oppinion provided.

Christian Kraemer



Christian Kraemer
  Reply With Quote
Old 10-26-2006, 11:40 AM   #2
Peter
 
Posts: n/a
Default Re: Strange signal behaviour

Christian Kraemer skrev:

> Hello everyone,
>
> I encountered a very strange singnal behaviour. I will try to sketch
> out the facts as precisely as possible:
>
> Yet I am courious why this is working. So has anyone an idea why my
> initial setup didn't work, and why it does work with the extra process?
>


Hi,

Every asynchronous signal which goes into a synchronous system needs to
be synchronized using registers. A single register may be insufficient
to provide a reliable system. You may need two or even three registers
to decrease the propability of metastability.
Without a synchronizer, some parts of your design may read the input as
low while others read it as high, if it's read when it's changing. That
may lead to very interesting behaviour...

/Peter



Peter
  Reply With Quote
Old 10-28-2006, 08:54 AM   #3
mysticlol
 
Posts: n/a
Default Re: Strange signal behaviour
check this thread..
http://groups.google.com/group/comp....8d231476233bd6

regards,
Krishna Janumanchi



mysticlol
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
I am having trouble editing a signal in a sub program. Haai Hardware 0 08-28-2007 02:58 PM
Need help on Modelsim VHDL syntax? ASAP:) kaji General Help Related Topics 0 03-14-2007 10:43 PM
Need help on a Modelsim VHDL Syntax? ASAP:) kaji Software 0 03-14-2007 10:43 PM
IMHO, Digital SECAM video is better than Analog NTSC video Radium DVD Video 167 10-25-2006 04:16 AM
Strange DVD Diagnostic Problem... Jack DVD Video 11 12-19-2004 02:43 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46