@2017libin
2019-05-09T15:59:04.000000Z
字数 1396
阅读 84
计组
所以需要四片14位地址的存储器。
2. 接着考虑如何实现片选信号,很容易我们就可想到用一个译码器进行选择。那么我们就可以得出以下表格:
| 存储器 | a15a14a13(片选信号) | a12~a0(地址信号) |
|---|---|---|
| 存储器1 | 0 0 | 00000000000000 |
| 存储器1 | 0 0 | ............ |
| 存储器1 | 0 0 | 11111111111111 |
| 存储器2 | 0 1 | 00000000000000 |
| 存储器2 | 0 0 | ............ |
| 存储器2 | 0 1 | 11111111111111 |
| 存储器3 | 1 0 | 00000000000000 |
| 存储器3 | 0 0 | ............ |
| 存储器3 | 1 0 | 11111111111111 |
| 存储器4 | 1 1 | 00000000000000 |
| 存储器4 | 0 0 | ............ |
| 存储器4 | 1 1 | 11111111111111 |
3.由此我们可以画出来流程图:
从流程图中我们可以看出,四个芯片是共用一组地址信号,读写信号,以及数据总线的。
根据存储器的首地址以及存储器容量推出存储器的尾地址(拿芯片一举例):
下一片存储器首地址:上一片存储器首地址。
| 存储器 | 地址信号(a15~a0) |
|---|---|
| 存储器1 | 000-0000000000000 |
| 存储器1 | 00-............ |
| 存储器1 | 001-1111111111111 |
| 存储器2 | 010-0000000000000 |
| 存储器2 | 01-............ |
| 存储器2 | 011-1111111111111 |
| 存储器3 | 100-0000000000000 |
| 存储器3 | 10-............ |
| 存储器3 | 101-1111111111111 |
| 存储器4 | 110-0000000000000 |
| 存储器4 | 110-............ |
| 存储器4 | 110-1111111111111 |
2. 选择信号,可以有两种方式:
第一种是选择高两位作为选择信号。但是最后一个芯片的选择信号应该为3+a13,为什么呢?因为当访问111...时属于非法访问,此时选择信号3+a13表示无效(0有效),避免了对存储器的非法访问。
第二种是用高三位作为选择信号。观察一下第一片存储器的地址范围000...~001...。可以发现当译码器输出0或者1时选择的第一片芯片。所以我们可以用0&1作为第一片信号的使能信号输入。同理第二片存储器使能信号输入为2或者3。但是注意的是最后一片芯片的使能信号输入是6。7输出没意义,超出了访问的最大范围!
注意:使能信号是低电平有效!