第7章-存储器、复杂可编程器件和现场可编程门阵列

更新时间:2024-01-20 13:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

7 存储器、复杂可编程器件和现场可编程门阵列

7.1 只读存储器

7.1.1 指出下列存储器系统各具有多少个存储单元,至少需要几根地址线和数据线。 (1)64 K×1 (2)256 K×4 (3)1 M×1 (4)128 K×8 解:求解本题时,只要弄清以下几个关系就能很容易得到结果: 存储单元=字数×位数

地址线根数(地址码的位数)n与数字N的关系为:N=2 数据线根数=位数

(1)存储单元=64 K×1=64 K(注:1 K=1 024);因为,64 K=2,即n=16,所以地址线为16根,数据线根数等于位数,此处为1根。 同理得:

(2)1 M个存储单元,18根地址线,4根数据线。 (3)1 M个存储单元,20根地址线,1根数据线。 (4)1 M个存储单元,17根地址线,8根数据线。

7.1.2 设存储器的起始地址为全0,试指出下列存储系统的最高地址为多少? (1)2 K×1 (2)16 K×4 (3)256 K×32

解:因为存储系统的最高地址=字数+起始地址-1,所以它们的十六进制地址是: (1)7FFH (2)3FFFH (3)3FFFFH

7.1.3 试确定ROM实现下列逻辑函数时所需的容量: (1)实现两个3位二进制数相乘的乘法器。

(2)将8位二进制数转换成十六进制数(用BCD码表示)的转换电路。

解:用ROM实现逻辑函数,逻辑函数的输入变量由ROM地址线输入,逻辑函数值由ROM数据线输出。

(1)两个3位二进制数相乘,共有6位输入,即需要6根地址线;两个3位二进制数相乘的最大值是49,即111×111=110001,共需要6为输出,所以ROM得容量应为2×6位。 8位二进制数转换成十进制数的最大值为255,用BCD码表示为1001010101,即输入8位,输出10位,所以ROM得容量应为2×10位。

7.1.4用一片128×8位的ROM实现各种码制之间的转换。要求用从第0个地址单元(全0地址)开始的前16个单元中的10个,实现8421BCD码到余3码的转换;用第16个地址单元开始,接下来的16个单元中的10个,实现余3码到8421BCD码的转换。试求: (1)列出ROM的地址与内容对应关系的真值表。

(2)确定输入变量和输出变量与ROM地址线和数据线的对应关系。

(3)简要说明将8421BCD码到0101转换成余3码和将余3码的1001转换成8421BCD码的过程。

解:(1)设128×8位ROM的7根地址线分别为A6A5A4A3A2A1A0,8根数据线为

8616nD7D6D5D4D3D2D1D0。实现码制转换的ROM地址与内容对应关系的真值表如表题解7.1.4

所示。

1

(2)根据表题解7.1.4的关系可知,输入变量对应地址线的A3A2A1A0,输出变量对应数据线的D3D2D1D0(也可用D7D6D5D4,但表中的内容也要做相应调整)。A4作为转换控制位。当A4=0时,实现8421BCD码到余3码的转换;当A4=1时,实现余3码到8421BCD码的转换。 (3)要将8421BCD码的0101转换成余3码时,输入地址码应为A6A5A4A3A2A1A0=00000101,此时D3D2D1D0的数据输出1000即为余3码。

而将余3码的1001转换成8421BCD码时,输入地址码应为A6A5A4A3A2A1A0=00011001,此时D3D2D1D0的数据输出0110即为8421BCD码。注意,这里A4必须为1。

7.1.5 利用ROM构成的任意波形发生器如图题7.1.5所示,改变ROM的内容,即可改变输出波形。当ROM的内容如表题7.1.5所示时,画出输出端随CP变化的波形。

2

解:由图题7.1.5可以看出,二进制递增计数器在CP作用下不断生成ROM的地址码。ROM的数据输出控制电子开关,当ROM的数据输出为1时,电子开关RREF;ROM的输出为0时,电子开关接地。运放和相关电阻工程反相比例加法电路,其输出电压与D3~D0的关系为

8D3RREF?2D1RREF4D2RREF?DRv0??Rf?0REF????RRRR??

RREFRf??(D0?2D1?4D2?8D3)R设K?RREFRfR,则v0与D3~D0的对应关系如表题解7.1.5所示。

3

V0一个周期的输出波形如图题解7.1.5所示。

4

本文来源:https://www.bwwdw.com/article/e8bo.html

Top