Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Using unregistered inputs in FSM

Reply
Thread Tools

Using unregistered inputs in FSM

 
 
ALuPin@web.de
Guest
Posts: n/a
 
      07-20-2005
Hi,

I have some doubts concerning the following problems:

In my design I have an 8bit bidiretional bus "Data_ulpi".
When the external module drives data into my FPGA
I have to read that data and respond immediately that is
I have NO time to synchronize the data with 2-stage-FFs/FIFO.

.... NO time because the external module is expecting response on the
next clock cycle.

I have read several posts in this newsgroup
explaining that the state machine would have to be very tricky
to handle unregistered inputs.

So how do I have to place bidirectional bus and control signals
to have at least a chance of doing a good job ?
What constraints do I have to take into consideration in that
special case for tSU/tH ?

Thank you for your advice.

Rgds
André

 
Reply With Quote
 
 
 
 
ALuPin@web.de
Guest
Posts: n/a
 
      07-20-2005
Some additional info:

The clock of the FSM is provided by the external module.

Rgds
André

 
Reply With Quote
 
 
 
 
Hubble
Guest
Posts: n/a
 
      07-20-2005
We are in a causal world, so there is always an event which signals
valid data, so NO time seems to be an exaggeration.

Without more information, the following can be said:

> You can think of using latches. The read event will latch the last data.


> You can delay signals and data appropriately to generate proper setup/hold conditions. Using delays, you can even design circuitry handling negative setup times properly etc.



> The latched data can then be treated using 2-stage ffs or any other possibilties to handle unsychronized data.


Hubble.

 
Reply With Quote
 
ALuPin@web.de
Guest
Posts: n/a
 
      07-20-2005
I have never used latches. What is the problem about them ? Do Fitter
treat them predictable ?

André

 
Reply With Quote
 
ALuPin@web.de
Guest
Posts: n/a
 
      07-20-2005
I have read the following in one post discussing latches:
"None of the above applies to FPGA, you will have no control over
anything and your timing will be horrible so forget it. "


Comments ?

 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      07-20-2005
wrote:

> ... NO time because the external module is expecting response on the
> next clock cycle.


That's one external clock cycle, not zero.
Use a fpga clock at least twice that fast.
Send a handshake while you synchronize the data strobe.

> I have read several posts in this newsgroup
> explaining that the state machine would have to be very tricky
> to handle unregistered inputs.


Any synchronous design will have problems with asynchronous
inputs. Note that registered inputs may or may not
be synchronous to the fpga clock.


-- Mike Treseler
 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      07-20-2005
wrote:
> Some additional info:
>
> The clock of the FSM is provided by the external module.
>

In that case, you can just turn around the data strobe
as a handshake and latch the data on the same
clock tick.

-- Mike Treseler
 
Reply With Quote
 
Peter Alfke
Guest
Posts: n/a
 
      07-20-2005
I think we need a better statement of the problem.
You have an 8-bit wide incoming data bus. Is there a clock that defines
valid data? What is the timing of that clock or clock edge? If there
is no clock, how do you know that there is new data? What if the new
data is identical with the old data?

Peter Alfke

 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      07-20-2005
wrote:
> I have read the following in one post discussing latches:
> "None of the above applies to FPGA, you will have no control over
> anything and your timing will be horrible so forget it. "


In a synchronous design, even one with 30,000
flops, I need only one synthesis constraint, Fmax.
Synthesis is a formality.

In an asynchronous design I need to constrain
setup and hold times to every flop.
Synthesis is tedious at best.

-- Mike Treseler
 
Reply With Quote
 
Vladislav Muravin
Guest
Posts: n/a
 
      07-20-2005
Andre,

There are a few alternatives.
I am doing something similar in my design right now, but it depends on the
speed of your clock/data rate and whether it's smooth or gapped.

(*) You can generate a higher clock and do everything with it - nice, clean
and quiet. In this case, use OFFSET constraint for external clock. You can
apply either internal or EXTERNAL setup/hold settings for the OFFSET
constraint (external means the specs of the external device, but make them a
little harder than the spec).
(**) You can try some very nice asynchronous switching by latches,
but......................................... I am not a big fan of it.
(***) NO time at all, try PAD to PAD delay, which you can contraint for the
cases you have a PAD ==> combinational_logic ==> PAD.

If you could give a few more details...

Hope this helps.
Vladislav

P.S. .

<> wrote in message
news: oups.com...
Hi,

I have some doubts concerning the following problems:

In my design I have an 8bit bidiretional bus "Data_ulpi".
When the external module drives data into my FPGA
I have to read that data and respond immediately that is
I have NO time to synchronize the data with 2-stage-FFs/FIFO.

.... NO time because the external module is expecting response on the
next clock cycle.

I have read several posts in this newsgroup
explaining that the state machine would have to be very tricky
to handle unregistered inputs.

So how do I have to place bidirectional bus and control signals
to have at least a chance of doing a good job ?
What constraints do I have to take into consideration in that
special case for tSU/tH ?

Thank you for your advice.

Rgds
André


 
Reply With Quote
 
 
 
Reply

Thread Tools

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

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
clock delay when testing different inputs in FSM ? maurizio.gencarelli@dsto.defence.gov.au VHDL 6 07-03-2007 02:56 PM
Cheap websites!NBP Unregistered. Duane Arnold Computer Support 0 04-28-2006 06:43 PM
Updating to XP from an unregistered version woodlandplayer Computer Support 1 08-27-2004 04:06 PM
Event handlers keep getting unregistered Steve Lewin-Berlin ASP .Net 0 08-06-2003 02:46 PM
Unregistered file extensions & XP Registry Jack B. Pollack Computer Support 3 07-21-2003 11:08 PM



Advertisments
 



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 47 48 49 50 51 52 53 54 55 56 57