On 1 Mar 2004 06:58:43 -0800,
(ALuPin) wrote:
[SRAM controller doesn't work correctly]
>The reasons could be:
>1. writing to that address was not done correctly
Yes. You can't be serious - you have left nWE and nCS permanently
asserted whilst changing your write data and address. Please go
back to the SRAM data sheet and understand what is meant by
"address setup time", "address hold time", "write data setup
time", "write data hold time".
> so that the written data is corrupted.
Your write controller is completely broken. On the
timing diagram you showed us, no write cycle was
ever performed.
In general it is almost impossible to do a SRAM write in
only one clock cycle, if you are using an FPGA as the
controller.
>2. reading is not done correctly
Less important. Reading an asynchronous SRAM is easy - it's just
a combinational component. You got UUUUUUUU from each location
because you have never performed a valid write to any location.
>p.s. Do the changed timing constants in CY7C199.vhd take affect when
>doing a functional simulation ?
Yes; you can easily see in your read waveforms that the SRAM
shows a delay between nOE deassertion and the RAM's output
buffers going into tri-state.
You are beginning to learn why people prefer synchronous RAMs
these days.
--
Jonathan Bromley, Consultant
DOULOS - Developing Design Know-how
VHDL, Verilog, SystemC, Perl, Tcl/Tk, Verification, Project Services
Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, BH24 1AW, UK
Tel: +44 (0)1425 471223 mail:
Fax: +44 (0)1425 471573 Web:
http://www.doulos.com
The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.