// bcd7segif.v // BCD → 7セグメントLED表示用数字変換回路(ファンクション版) `default_nettype none module bcd7seg( input wire [3:0] bcd, output wire a, b, c, d, e, f, g); function [6:0] bcd7seg_func; input [3:0] bcd; begin if(bcd==4'b0000) begin bcd7seg_func = 7'b1111110; end else if(bcd==4'b0001) begin bcd7seg_func = 7'b0110000; end else if(bcd==4'b0010) begin bcd7seg_func = 7'b1101101; end else if(bcd==4'b0011) begin bcd7seg_func = 7'b1111001; end else if(bcd==4'b0100) begin bcd7seg_func = 7'b0110011; end else if(bcd==4'b0101) begin bcd7seg_func = 7'b1011011; end else if(bcd==4'b0110) begin bcd7seg_func = 7'b1011111; end else if(bcd==4'b0111) begin bcd7seg_func = 7'b1110010; end else if(bcd==4'b1000) begin bcd7seg_func = 7'b1111111; end else if(bcd==4'b1001) begin bcd7seg_func = 7'b1111011; end else begin bcd7seg_func = 7'b0110111; // X end end endfunction assign {a, b, c, d, e, f, g} = bcd7seg_func(bcd); endmodule