//=========================================================== // Discription: Display bin on segment // Segment encoding // a // +---+ // f | | b // +---+ <- g // e | | c // +---+ // d //=========================================================== module DISPLAY ( // input clk, rst, data_in, data_ok, // output data_out );
//---------------------------- // input //---------------------------- input [3:0] data_in; input data_ok;
//---------------------------- // output //---------------------------- output [7:0] data_out;
//---------------------------- // reg //---------------------------- reg [7:0] data_out;
//---------------------------- // main //---------------------------- always @( data_in or data_ok ) begin data_out = 8'hFF; if ( data_ok ) case ( data_in ) 4'b0000: data_out <= 8'hC0; // 0 4'b0001: data_out <= 8'hF9; // 1 4'b0010: data_out <= 8'hA4; // 2 4'b0011: data_out <= 8'hB0; // 3 4'b0100: data_out <= 8'h99; // 4 4'b0101: data_out <= 8'h92; // 5 4'b0110: data_out <= 8'h82; // 6 4'b0111: data_out <= 8'hF8; // 7 4'b1000: data_out <= 8'h80; // 8 4'b1001: data_out <= 8'h90; // 9 4'b1010: data_out <= 8'h88; // A 4'b1011: data_out <= 8'h83; // b 4'b1100: data_out <= 8'hC6; // c 4'b1101: data_out <= 8'hA1; // d 4'b1110: data_out <= 8'h86; // E 4'b1111: data_out <= 8'h8e; // F default: data_out <= 8'hFF; endcase else ; end
endmodule |