`timescale 1ns/1ns
module top_module(
input a, b, c, d, e,
output [24:0] out
);
/*这道题主要是考察拼接符的灵活运用
{} 代表拼接 例如 {a,b,c,d,e} 代表将这几位拼接起来
{{}}代表复制 例如{{5{a}} 代表将a 复制五次
*/
/*此题有两种解法,两种解法的不同之处在与比较相同为1这上面
第一种方法就是 用同或来实现比较相同为1 因为在数电里面 异或是不同为1 同或是相同为1
第二中方法是用循环来实现每一位的比较
*/
wire [24:0] data1,data2;
assign data1 = {{5{a}},{5{b}},{5{c}},{5{d}},{5{e}}};
assign data2 ={5{a,b,c,d,e}};
// assign out = ~(data1 ^ data2);
genvar i ;
generate
for(i = 0 ; i <= 24 ; i = i + 1)
begin:for_loop
assign out[i] = (data1[i] == data2[i])? 1'b1:1'b0;
end
endgenerate
endmodule