7 a 128 decodificador en Verilog

-2

Soy nuevo en electrónica digital y programación en Verilog en particular. He programado algunos programas básicos como 2 a 4 decodificadores y 4 a 16 decodificadores. Pero estoy tratando de hacer un sensor de imagen y digo que tengo un píxel que tiene un SELECT, que necesita ser un decodificador de 7 a 128. Los decodificadores que realicé usaban declaraciones de caso y si no, y no creo que hacer 128 bits con ese proceso sea bueno o inteligente. Uno de los métodos podría ser si combinara un decodificador de 4 a 16 y de 3 a 8, para eso también creo que necesitaría 2 capas (creo que 1 capa única podría no cubrir los 128 bits completos), y no No sé cómo seguir adelante con esto. Además, ¿hay alguna otra manera de hacer grandes decodificadores. Estoy seguro de que habría otras formas, de las que actualmente no tengo conocimiento.

Cualquier ayuda con este código sería muy apreciada. Gracias.

    
pregunta 1upon0

2 respuestas

1

Cuando accede a una memoria con una dirección, la lógica de decodificación de la dirección es esencialmente un decodificador de N a 2 N . Puedes expresarlo como una operación de cambio

wire [127:0] decoded;
wire [6:0] select;

assign decoded = 128'b1 << select;
    
respondido por el dave_59
0

Utilice un vector de 128 bits con un índice.

wire [127:0] imageline;
wire         image_bit;
wire  [ 6:0] select;

   assign image_bit = imageline[select];

Esto utilizará una gran cantidad de recursos, ya que hará un mux de 128 a 1 bit.

    
respondido por el Oldfart

Lea otras preguntas en las etiquetas