Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
I plan to use the CY62167ELL in a 8/16 bits application.
For example I will need to :
1/write a 16 bit word using IO15:0
2/read both bytes of this same word using IO7:0
The BYTE# signal seems the feature I need, however it is poorly documented in the datasheet (just a footnote!).
Because of that I have some questions :
-Is it OK to dynamically change the BYTE# signal to access the stored data in both 8 and 16 bits modes ?
-When I look at other devices with a similar feature, IO15 is labelled as "A-1" and clearly stated as the LSB address input : thanks to that, it is clear that this pin controls which byte of the word is served on IO7:0, and that all the other address signals just need to be the same as 16 bit access.
The CY62167ELL datasheet uses "I/O15/A20", so I understand that it is actually the MSB address input : the signal controlling which byte of the word is served would be A0 (the LSB). If it is true, then my application would have to shift all the addresses signals between each word and byte accesses, which is a no-go for me.
Could it be an error in the datasheet ? (I hope so...)
-I would like to know which byte of the 16 bit word is served during 8 bit access ? For example : Lower byte when A-1 is low, and higher byte when A-1 is high.
All of this would be a great addition to the datasheets.
The Byte pin needs to tied either to VCC or VSS to configure the device as 1M x 16 or 2M x 8. It cannot be used dynamically.
For your application requirement, i suggest you to use the BHE and BLE pins. These pins can be used to write 16 bits into the memory and read data 8 bits at a time. Please refer to the truth table given in the datasheet to use the memory as per the requirement of your application.