我需要在 Veriog 中实现 4 对 1 功能。输入是 4 位,一个从 0 到 15 的数字。输出是单个位,0 或 1。每个输入给出不同的输出,并且从输入到输出的映射是已知的,但输入和输出本身却不是。我希望 vcs 能够成功优化代码,并让它尽可能短/整洁。到目前为止我的解决方案:
wire [3:0] a;
wire b;
wire [15:0] c;
assign c = 16'b0100110010111010; //for example but could be any constant
assign b = c[a];
必须声明 c 是丑陋的,我不知道 vcs 是否会识别那里的 K-map。这将与案例陈述或连接范式的赋值一样有效吗?