这个是例化单元,
module BCD_decoder (IN, OUT, ERR);
input [3:0] IN;
output [9:0] OUT;
output ERR;
parameter out_0=10'b00_0000_0001,
out_1=10'b00_0000_0010,
out_2=10'b00_0000_0100,
out_3=10'b00_0000_1000,
out_4=10'b00_0001_0000,
out_5=10'b00_0010_0000,
out_6=10'b00_0100_0000,
out_7=10'b00_1000_0000,
out_8=10'b01_0000_0000,
out_9=10'b10_0000_0000,
out_err=10'b00_0000_0000;
assign {ERR, OUT} =FUNC_DEC(IN);
function [10:0] FUNC_DEC;
input [3:0] IN;
case(IN)
0: FUNC_DEC={1'b0, out_0};
1: FUNC_DEC={1'b0, out_1};
2: FUNC_DEC={1'b0, out_2};
3: FUNC_DEC={1'b0, out_3};
4: FUNC_DEC={1'b0, out_4};
5: FUNC_DEC={1'b0, out_5};
6: FUNC_DEC={1'b0, out_6};
7: FUNC_DEC={1'b0, out_7};
8: FUNC_DEC={1'b0, out_8};
9: FUNC_DEC={1'b0, out_9};
default: FUNC_DEC={1'b1, out_err};
endcase
endfunction
endmodule |