第2课:从16KB内存IC中为64KB内存设计一个地址解码器,知道内存基址是94000H,并且地址解码器是使用电路组合逻辑设计的。
64KB是16KB的四倍,因此您需要四个16KB的内存芯片。寻址64KB=216字节的存储器需要CPU和存储器芯片之间的16条线路。让我们把那些电线列举为0..15:
15 11 7 3 0
| | | | |
lowest: 0000_0000_0000_0000b
highest:1111_1111_1111_1111b
您的16KB芯片只使用寻址引脚0..13,将它们全部并行连接到地址总线。其余引脚14..15需要解码为四个芯片选择(CS(信号,每个信号连接到其相应的16KB芯片,并在CS不是1时导致芯片空闲。
解码器的组合逻辑很简单:
CPU pins CS3 CS2 CS1 CS0
15 14
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0
解码器的构造取决于可用的逻辑门,例如,当且仅当引脚14和15都为0时,CS0应为1,因此您可能需要两个输入反相器和一个and门。
将地址空间重新映射到94000H
19 15 11 7 3 0
| | | | | |
94000h: 1001_0100_0000_0000_0000b
只影响64KB内存的地址位14,所以您应该在四个CS解码器的输入端反转此位,并且可以忽略寻址引脚16..19。