Dear Friends,
Please, I need help. I have met difficulty with reading data from and writing data to J3 Intel StrataFlash NOR Flash PROM on Spartan3E Starter Kit. I have followed the instructions which have been written in its datasheet but I still have met problems.
I used the method =E2=80=9Conce read then write many times=E2=80=9D to Intel StrataFlash (SF) and its read/write controller program was multiplexed with LCD writing state program, like this following states: Power On =EF=83=A0 LCD Init =EF=83=A0 Read SF then loads its data to Binary Counter = input port =EF=83=A0 Writing first round characters to LCD =EF=83=A0 Writing Bina= ry Counter output data to SF =EF=83=A0 Writing second round characters to LCD =EF=83=A0 Writing Binary Counter output data to SF =EF=83=A0 Writing first = round characters to LCD =EF=83=A0 Writing Binary Counter output data to SF =EF=83= =A0 and so on. Hence, I hope the memory data was always be updated according to Binary Counter alteration. But, actually the data was not updated after I turned off then turned back on the Starter Kit. I also have added more delays onto read/write waiting states, but the data still was not updated.
According to datasheet, data reading needs the times at least 75 ns after SF_CE0 signal goes =E2=80=98low=E2=80=99 or can be represented with 4= T clock
50 MHz then followed with SF_OE signal goes =E2=80=98low=E2=80=99. Valid da= ta will be emerged 25 ns after SF_OE signal goes =E2=80=98low=E2=80=99 or can be represented with 2T clock 50 MHz (40 ns). Also, data writing needs the times at least 60 ns =E2=80=98low=E2=80=99 SF_CE0 and SF_WE signals (or 3T = clock 50 MHz). I used 2 bytes 8-bit data to be kept onto memory. Data port was bidirectional, so I used IBUF8 =E2=80=93 OBUFT8 and T pin on OBUFT8 became = to the data traffic controller. Hence, I designed its reading states like this: SF_A0