跳到主要内容

16.逻辑门与向量

你得到了一个四位的输入向量in[3:0]。我们想知道每个位与其相邻位之间的一些关系:

  • out_both: 此输出向量的每个位都应指示相应的输入位及其左侧邻居(更高位索引)是否都是'1'。例如,out_both[2]应指示in[2]和in[3]是否都是1。因为in[3]左侧没有邻居,答案显而易见,所以我们不需要知道out_both[3]的值。
  • out_any: 此输出向量的每个位都应指示相应的输入位或其右侧邻居是否有任意一个是'1'。例如,out_any[2]应指示in[2]或in[1]是否为1。由于in[0]右侧没有邻居,答案显而易见,所以我们不需要知道out_any[0]的值。
  • out_different: 此输出向量的每个位都应指示相应的输入位是否与其左侧邻居不同。例如,out_different[2]应指示in[2]是否与in[3]不同。对于这部分,将向量视为环绕的,所以in[3]左侧的邻居是in[0]。

模块声明

module top_module( 
input [3:0] in,
output [2:0] out_both,
output [3:1] out_any,
output [3:0] out_different );

做题区