用ROM实现组合逻辑的基本原理可以从“存储器”和“组合逻辑”两个角度来理解。
从存储器的角度看,只要把逻辑函数的真值表事先存入ROM,便可用ROM实现该函数。具体地说,以真值表中的变量取值作为存储单元的地址,把对应的函数取值作为数据存入该单元中。这样,按地址读出的数据,便是真值表中相应变量取值时的函数值。
从组合逻辑的角度看,ROM中的地址译码器形成了输入变量的所有最小项,即实现了逻辑变量的“与”运算,正如前面所介绍那样,地址译码器可等效为“与”逻辑;ROM中的存储矩阵可等效为“或”逻辑。因此,我们可以把ROM看作是一个与门网络和或门网络,如图9-3(a)所示。工程上,为了ROM的设计方便,常把图9-3(a)的逻辑图简化为图9-3(b)所示的阵列图。在阵列图中,与阵列的小圆点表示各逻辑变量之间的“与”运算,或阵列的小圆点表示各最小项之间的“或”运算。

由上可知,用ROM实现逻辑函数时,首先需列出函数的真值表或最小项表达式,然后画出ROM的阵列图。工厂根据用户提供的阵列图,便可生产出所需的ROM。下面举例说明ROM的应用。
例1 用ROM实现四位二进制码到Gray码的转换。
解: 首先列出四位二进制码转换为Gray码的真值表,如表9-1所示。

用ROM来实现时,只要将四位二进制码B3 B2 B1B0作为ROM的地址输入,而将四位Gray码G3 G2G1 G0作为ROM中存储单元存放的代码。显然,该ROM的容量为16×4,即存储16字,每字4位。由真值表可画出ROM的阵列图,如图9-4所示。
