Timing Questions?

Dear All,

I would like to ask you some timing questions.

First scenatio and first question:

I have two signals, for example, /CS and /RD. Looking at the device datasheet it says that:

-tCLRL CS LOW to RD LOW 0 ns

-tRHCH RD HIGH to CS HIGH Intel mode 0ns

Then looking at the datasheet I must assert /CS before /RD and de-assert /CS after /RD. I would like to know if it is possible to Assert /CS and /RD in the same clock cycle or should I first assert /CS in a clock cycle and in the next clock cycle assert /RD. I mean, in my state machine would be ok to assert /CS and /RD in the same cycle due to "0ns" of the tCLRL and tRHCH or should I use two clock cycles?.

And second scenario and question:

RULE 2.58: During read cycles, the responding SLAVE MUST release all of D00-D31 before releasing DTACK* or BERR* to high.

In a Read Data cycle in an VME Slave when the slave places the data and asserts the signal /DTACK, waits until detects that /DS is high again (Master). Then must release the data bus and rise (de-assert) /DTACK at least "0ns" after releasing the data bus.

Could I release the Data bus and de-assert /DTACK in the same clock cycle or should I release the data bus in a clock cycle and de-assert /DTACK in the next clock cycle?.

Thanks a lot and best regards,

Javi

Reply to
javid
Loading thread data ...

What are your priorities?

"0ns" means one signal has to happen before or at the same time as the other. If you change two signals on the same clock edge, you don't know which one of them might change first. So you need to do something to make sure the one you want changes first.

A clock cycle is the simple and clean way to do that. It costs a cycle. Can you afford that? If so, end of problem.

If you don't want to burn a whole cycle, then you start looking for tricks.

You can sometimes use the other edge of the clock. Now it only costs you a half-cycle. Or use a much faster clock where the state machine counts several clocks for each of the old states.

Add some routing delay on the PCB (6 inches per ns).

Clock one signal in an IOB and the other one in a CLB near the IOB so it takes a little longer to get out there.

Use lower drive on one signal. (This assumes the loading and layout are matched.)

[Don't forget to check the other edge too.]
--
The suespammers.org mail server is located in California.  So are all my
other mailboxes.  Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's.  I hate spam.
Reply to
Hal Murray

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.