`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