escalar un número binario [cerrado]

-2

¿Cómo puedo decodificar un número binario de 6 bits (hasta 32 en decimal) a un número binario de 7 bits (hasta 100)?

Quiero cambiar la escala de 32 a 100.

Estoy usando VHDL-93.

Por ejemplo, si el número binario es 010000, debería mostrar 50 en binario.

    
pregunta user

1 respuesta

2

Como dije antes, multiplica por \ $ 25_ {10} = 011001_2 \ $, ya sea por multiplicador de hardware o manualmente por shift-and-add y luego divide por \ $ 8 \ $ seleccionando los bits 3 a 9.

Componente asíncrono simple (adecuado para LED, no para lógica rápida):

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity scaler is
    port(data_in:  in  std_logic_vector(5 downto 0);
         data_out: out std_logic_vector(6 downto 0);
         );
end entity;

architecture structural of scaler is
    signal product: unsigned(11 downto 0);
begin
    product  <= unsigned("000000"&data_in)+unsigned("000"&data_in&"000")+unsigned("00"&data_in&"0000");
    data_out <= std_logic_vector(product)(9 downto 3);
end architecture
    
respondido por el venny

Lea otras preguntas en las etiquetas