4-битное число до семи сегмента

У меня есть 4-битный номер на выходе. Как его можно увидеть на семисегментном дисплее в виде шестнадцатеричного числа? Я новичок и упомяну verilog. Итак, у меня есть четырехбитное двоичное число, и я хочу отобразить его как шестнадцатеричное. Ex. 1010(10) как A

пример случая:

wire [3:0] num;
case (num)
  4'b0000 : 1111110;
  4'b0001 : 0110000;
  4'b0010 : 1101101;
  4'b0011 : 1111001;
  so on
  .
  .
  4'b1111 : 1000111;
endcase

4-битный двоичный на семь сегментов

#TABLE: x1,x2,x3,x4 => a,b,c,d,e,f,g

0000 => 1111110

0001 => 0110000

0010 => 1101101

0011 => 1111001

0100 => 0110011

0101 => 1011011

0110 => 1011111

0111 => 1110000

1000 => 1111111

1001 => 1111011

1010 => 1110111

1011 => 0011111

1100 => 1001110

1101 => 0111101

1110 => 1001111

1111 => 1000111

1 ответ

В Verilog, если вы не определили базовый тип числа, он примет десятичное число. Пример: 10 - десятичное число, а не двоичное число два. Оператор case должен быть определен в блоке всегда.

reg [6:0] led;
wire [3:0] num;
always @* begin
  case (num)
    4'b0000 : led = 7'b1111110;
    /* you fill in the rest */
    4'b1111 : led = 7'b1000111;
  endcase
end
Другие вопросы по тегам