The BF53x allows 4 contiguous banks of 1MB asynchronous memory (512 x 16-bit words) to be accessed using 19 address lines A[19:1]. There are 4 AMS[3:0] lines to act as a chip select (one-hot inverse encoding) for each of the 4 banks.
I would like to connect a single 4MB flash device with 21 address lines. I can think of 2 ways to do this: 1) add an external 4:2 encoder chip to map the AMS[3:0] lines to A[20:19] on the flash RAM, or 2) use the programmable flags to split the memory chip into 4 banks with a bit more overhead. I'm leaning toward option 1.
Are there any easier methods to achieve this? How about pitfalls with these approaches?