Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

can not make 7 segma works on DE2-115

hello guys,

i changed my old board DE2-70 to DE2_115 and i am trying to test the boards

i got my old code and changed the pis assignment and everything and the code work when testing switches and LEDS.

i want to test the Seven Segment display but got no result (the codes runs fine).

below is the code (just for testing ) :

`timescale 1ns/100ps

`default_nettype none

module convert_hex_to_seven_segment (

input logic [3:0] hex_value,

output logic [6:0] converted_value

);

always_comb begin

case(hex_value)

4'h1: converted_value = 7'b1111001;

4'h2: converted_value = 7'b0100100;

4'h3: converted_value = 7'b0110000;

4'h4: converted_value = 7'b0011001;

4'h5: converted_value = 7'b0010010;

4'h6: converted_value = 7'b0000010;

4'h7: converted_value = 7'b1111000;

4'h8: converted_value = 7'b0000000;

4'h9: converted_value = 7'b0011000;

4'ha: converted_value = 7'b0001000;

4'hb: converted_value = 7'b0000011;

4'hc: converted_value = 7'b1000110;

4'hd: converted_value = 7'b0100001;

4'he: converted_value = 7'b0000110;

4'hf: converted_value = 7'b0001110;

4'h0: converted_value = 7'b1000000;

endcase

end

endmodule

here is the main code:

`timescale 1ns/100ps

`default_nettype none

module counter (

/////// switches ////////////

input logic[17:0] SW, // toggle switches

/////// 7 segment displays/LEDs ////////////

output logic[6:0] HEX0, // 8 seven segment displays

output logic[6:0] HEX1,

output logic[6:0] HEX2,

output logic[6:0] HEX3,

output logic[6:0] HEX4,

output logic[6:0] HEX5,

output logic[6:0] HEX6,

output logic[6:0] HEX7,

output logic[8:0] LEDG,

output logic[17:0] LEDR // 9 green LEDs

);

logic [3:0] value;

logic [6:0] value_7_segment;

// Instantiate a module for converting hex number to 7-bit value for the 7-segment display

convert_hex_to_seven_segment unit0 (

.hex_value(value),

.converted_value(value_7_segment)

);

// A priority encoder using if-else statement

always_comb begin

if (SW[9] == 1'b1) begin

value = 4'd9;

end else begin

if (SW[8] == 1'b1) begin

value = 4'd8;

end else begin

if (SW[7] == 1'b1) begin

value = 4'd7;

end else begin

if (SW[6] == 1'b1) begin

value = 4'd6;

end else begin

if (SW[5] == 1'b1) begin

value = 4'd5;

end else begin

if (SW[4] == 1'b1) begin

value = 4'd4;

end else begin

if (SW[3] == 1'b1) begin

value = 4'd3;

end else begin

if (SW[2] == 1'b1) begin

value = 4'd2;

end else begin

if (SW[1] == 1'b1) begin

value = 4'd1;

end else begin

if (SW[0] == 1'b1) begin

value = 4'd0;

end else begin

value = 4'hF;

end

end

end

end

end

end

end

end

end

end

end

assign HEX0 = value_7_segment;

assign HEX1 = value_7_segment;

assign HEX2 = value_7_segment;

assign HEX3= value_7_segment;

assign HEX4= 7'h7f;

assign HEX5= 7'h7f;

assign HEX6= 7'h7f;

assign HEX7= 7'h7f;

assign LEDR = SW;

assign LEDG = {5'h00, value};

endmodule

if anyone can help will be so thankful
No RepliesBe the first to reply