Voy a través de verilog caso de prueba y se encontró una declaración
assign XYZ = PQR_AR[44*8 +: 64];
lo que hizo esta "+:" operador de saber como.Traté de encontrar esto en google pero no recibo ninguna respuesta pertinente.
Voy a través de verilog caso de prueba y se encontró una declaración
assign XYZ = PQR_AR[44*8 +: 64];
lo que hizo esta "+:" operador de saber como.Traté de encontrar esto en google pero no recibo ninguna respuesta pertinente.
La sintaxis se llama un indexado parte-seleccione. El primer término es el bit de desplazamiento y el segundo término es el ancho. Le permite especificar una variable para el desplazamiento, pero el ancho debe ser constante.
Ejemplo de la SystemVerilog 2012 LRM:
logic [31: 0] a_vect;
logic [0 :31] b_vect;
logic [63: 0] dword;
integer sel;
a_vect[ 0 +: 8] // == a_vect[ 7 : 0]
a_vect[15 -: 8] // == a_vect[15 : 8]
b_vect[ 0 +: 8] // == b_vect[0 : 7]
b_vect[15 -: 8] // == b_vect[8 :15]
dword[8*sel +: 8] // variable part-select with fixed width
Por último llegué a la página de origen de este, esto se conoce como Vector Indexado de selección de parte ("+:").
Para explicar un poco más
PQR_AR[44*8 +: 64];
Con Indexados vector de selección de parte, que se agrega en Verilog 2000, puede seleccionar una parte de autobús en lugar de seleccionar todo el autobús.
44*8 parte es el punto de partida de la selección de parte variable y 64 es el ancho de la parte de seleccionar andis constante.Esto significa que, si inicialmente hemos inicializado
input [415:0] PQR;
estamos seleccionando una parte en particular de PQR el uso de
PQR_AR[44*8 +: 64];
que es PQR_AR[352+:64] o significa que estamos tomando una parte de 352 415 de 0 a 415.
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.