I deras fall adderas talen med 3 om talen är >=5, men i mitt fall adderas talen med 3 och om bit 3 är satt(vilket betyder >=8 ) så sparas värdet.
Jag förstår verkligen inte varför det fungerar.

Kod: Markera allt
bin => BCD
b0000 => b0000 0000 ,0 0
b0001 => b0000 0001 ,0 1
b0010 => b0000 0010 ,0 2
b0011 => b0000 0011 ,0 3
b0100 => b0000 0100 ,0 4
b0101 => b0000 0101 ,0 5
b0110 => b0000 0110 ,0 6
b0111 => b0000 0111 ,0 7
b1000 => b0000 1000 ,0 8
b1001 => b0000 1001 ,0 9
b1010 + b0110 => b0001 0000 ,1 0
b1011 + b0110 => b0001 0001 ,1 1
b1100 + b0110 => b0001 0010 ,1 2
b1101 + b0110 => b0001 0011 ,1 3
b1110 + b0110 => b0001 0100 ,1 4
b1111 + b0110 => b0001 0101 ,1 5
Kod: Markera allt
integer'image( mitt_tal );
integer'image( to_integer( min_unsigned) );
integer'image( conv_integer(min_std_logic_vector) );