Articles of verilog

¿Usa una asignación continua en un procedimiento de Verilog?

¿Es posible y / o útil usar una asignación continua en un procedimiento de Verilog? Por ejemplo, ¿alguna vez habría alguna razón para poner una assign dentro de un bloque always ? Por ejemplo, este código: always @(*) begin assign data_in = Data; end Además, ¿sería posible generar lógica secuencial con este enfoque? always @(posedge […]

¿Cuánto tiene una representación de punto fijo binario de precisión xxx?

Estoy tratando de medir cuánto tienen precisión cuando convierto a modo binario de representación de punto fijo. primero intenté usar este 0.9375. Y obtuve el 0.1111 binario. segundo probé usé este 0.9377 y también obtuve el 0.1111 binario No hay nada diferente entre ellos. ¿También cómo puedo resolver este problema? ¿Hay alguna otra manera? Para […]

¿Qué es el locking inferido y cómo se crea cuando falta la instrucción else en if condition? ¿Alguien puede explicar brevemente?

Traté de descubrir el locking inferido y por qué es necesario internamente, pero no pude encontrar ningún recurso con suficiente detalle.

¿Cómo obtener una raíz cuadrada para la entrada de 32 bits en un solo ciclo de reloj?

Quiero diseñar un módulo sintetizable en Verilog que tomará solo un ciclo en el cálculo de la raíz cuadrada de la entrada dada de 32 bits.

Detalles de implementación del hardware del divisor de punto flotante

Estoy tratando de implementar un divisor de hardware de coma flotante de 32 bits en el hardware y me pregunto si puedo obtener alguna sugerencia sobre algunas concesiones entre diferentes algoritmos. Mi unidad de punto flotante actualmente admite multiplicación y sum / resta, pero no voy a cambiarla a una architecture de coma flotante de […]

¿Qué es `+:` y `-:`?

Recientemente vi este operador en un código verilog / systemverilog. logic [15:0] down_vect; logic [0:15] up_vect; down_vect[lsb_base_expr +: width_expr] up_vect [msb_base_expr +: width_expr] down_vect[msb_base_expr -: width_expr] up_vect [lsb_base_expr -: width_expr] Raramente he visto esto, me gustaría preguntar ¿Qué es esto? ¿Cuándo y cómo lo usas?

Verilog: Cómo crear una instancia de un módulo

Si tengo un módulo Verilog ‘top’ y un ‘subcomponente’ del módulo verilog, ¿cómo instanciar el subcomponente en la parte superior? parte superior: module top( input clk, input rst_n, input enable, input [9:0] data_rx_1, input [9:0] data_rx_2, output [9:0] data_tx_2 ); subcomponente: module subcomponent( input clk, input rst_n, input [9:0] data_rx, output [9:0] data_tx ); Nota […]

¿Cómo interpretar las asignaciones de locking versus no locking en Verilog?

Estoy un poco confundido acerca de cómo se interpretan las asignaciones de locking y no locking cuando se trata de dibujar un diagtwig de hardware. ¿Tenemos que inferir que una asignación sin locking nos da un registro? Entonces, de acuerdo con esta afirmación, c <= a+b , c sería un registro correcto, pero no a […]