connected to a 74LS245 data bus buffer. the buffered data bus is then
distributed to the rest of the system from the 74LS245.
the following signals have to be generated:
- RD\
an active low signal that will be connected to a 62256 RAM's OE\.
this signal will also be used everywhere an RD\ is needed.
- WR\
an active low signal that is connected to the 62256 RAM's WR\.
this signal will also be used everywhere a WR\ is needed.
- Data Bus Buffer Enable
this signal will be used to enable the 74LS245 and remove the buffered
data lines from tristate condition during every cycle.
- Data Bus Buffer Direction
this signal will simply be a buffered version of the CPU's R/W\. in
other words, the CPU's R/W\ will determine the direction of the
74LS245 data bus buffer.
Code: Select all
CPU CLK p2 --INV-----INV------+------------> buffered p2
|
|
CPU R/W\ --INV--+--INV--+---|------------> buffered R/W\
| | | used for 74LS245's DIR
| | |
| | |
| | +-----
| | | NAND --> buffered RD\
| ---|-----
| |
| |
| |
| |
| -----
| NAND --> buffered WR\
-----------------
- my first question was this:
RD\ is negated as soon as p2 goes low. so, the RAM's OE\ will also
be negated as soon as p2 ends. now, the CPU latches in data from RAM
on the falling edge of p2. the CPU has a requirement that the data be
held valid for the minimum hold time after p2 ends.
therefore, won't there be a problem if RD\ is used to drive OE\?
what else can be done to ensure that the data is held valid for the
hold time required by the CPU? is there some guaranteed, foolproof
way to solve the problem that does not rely on gate propagation delays
and bus capacitance?
- second question:
a similar situation exists for WR\. WR\ will start being negated with
the falling edge of p2. after the data hold time from the end of p2,
the CPU will remove the data from the data bus. so, if WR\ is not
negated before valid data ends, the RAM device might latch in invalid
data due to the delayed WR\.
won't there be a problem in the write cycle if WR\ is delayed for more
than the data hold time after p2 ends? what can be done to ensure that
WR\ ends before the data hold time ends? is there some guaranteed,
foolproof way to solve the problem that does not rely on gate propagation
delays and bus capacitance?
your answers, especially those from Garth Wilson, will be sincerely
appreciated.