题解 | #多位信号xnor#

`timescale 1ns/1ns

module top_module(
    input a, b, c, d, e,
	output [24:0] out
);
    wire [24:0]t1,t2;//注意这里一定要标明位数
    assign t1 = {{5{a}},{5{b}},{5{c}},{5{d}},{5{e}}};//位拼接运算符这一定要把5{a}放在{}这里面
    assign t2 = {5{a,b,c,d,e}};
    assign out = ~t1 ^ t2;//同或可以完成相同为一的功能,但要注意不能写成~(t1 ^ t2);也可用循环完成
endmodule

/*循环完成
`timescale 1ns/1ns
 
module top_module(
    input a, b, c, d, e,
    output [24:0] out
);
wire [24:0] tmp0,tmp1;
assign tmp0[24:0] = {{5{a}},{5{b}},{5{c}},{5{d}},{5{e}}};
assign tmp1[24:0] = {5{a,b,c,d,e}};
 
genvar i;
generate
    for(i = 0;i < 25;i = i + 1) begin
      assign out[i] = (tmp0[i] == tmp1[i]);
    end
endgenerate
 
endmodule
*/


全部评论

相关推荐

frutiger:逆天,我家就安阳的,这hr咋能说3k的,你送外卖不比这工资高得多?还说大厂来的6k,打发叫花子的呢?这hr是怎么做到说昧良心的话的
点赞 评论 收藏
分享
05-03 12:45
西南大学 Java
nsnzkv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务