Preguntas con etiqueta 'system-verilog'

1
respuesta

¿Cómo puede el módulo TB trap $ fatal del módulo A?

Tengo una simulación RTL donde el módulo TB es el banco de pruebas para el módulo A. El módulo A genera $ fatal cuando cumple con alguna condición que no le gusta. El módulo TB genera / recopila transacciones hacia / desde A. ¿Hay alguna mane...
1
respuesta

Implicación no superpuesta (| =) utilizada en la aserción de verilog del sistema

Sé que si uso s1 |=> s2 la siguiente secuencia de expresión s2 se evaluará en la siguiente marca de reloj. Sin embargo, si no hay un reloj (circuito combinado), ¿cómo se evaluará la afirmación? ¿El simulador esperará 1 período de tiempo...
1
respuesta

Interfaz del adaptador Verilog del sistema

Estoy utilizando PCIe Core de Xilinx, que en su última versión duplica la señal válida de AXI 22 veces. Esto significa escribir algo como {22{1'b1}} cada vez que intento manejar un bit válido. ( enlace ) Me pregunto si puedo hacer algo...
1
respuesta

¿Por qué el tipo de puerto de este módulo se establece de forma predeterminada en 'var'?

En "IEEE Std 1800-2012 SystemVerilog", pág. 668, encuentro esto: module mh11(output integer x); // output var integer x Me pregunto por qué es predeterminado 'var' pero no 'net'? ¿Qué regla lo define o solo es la regla?     
1
respuesta

Generando hilos en SystemVerilog con variables de entrada

Me encuentro con una situación bastante confusa donde estaba escribiendo un código para un monitor UVM. Este módulo realiza estas operaciones en orden: Escuche el canal (interfaz virtual) hasta que intercepte uno o varios eventos en el nivel...
1
respuesta

Creando el módulo SystemVerilog usando un módulo personalizado independiente y de bucle

Estoy tratando de crear un cambiador de barril de n bits usando el diagrama en la respuesta a esta pregunta: enlace He leído que si la variable en un bucle for tiene un solo nombre, entonces cada iteración de bucle tiene un alcance y...
1
respuesta

¿Cómo debería ser este código en verilog?

Estoy diseñando una ALU para agregar en el estado 000, tengo que asignar señales de control para un mux, acarreo y operandos para que funcione. Entonces, escribí una declaración if en el módulo del controlador, y el TA me dijo que no es verilog,...
1
respuesta

¿Cómo se ejecuta el código verilog siguiente cuando encuentra el borde positivo del reloj?

rd=1; case1=2 ; i=2; n1=23; always @(posedge clka) begin counter=counter+1; if (rd==1) begin #5 window[i]<=douta; ~~~~~~~~~~~ Statemen...
2
respuestas

¿Cómo definir el puerto en el banco de pruebas?

module stimulus; wire [3:0] max,med,min; reg [3:0] a,b,c; reg cin; sorting_three three(max,med,min,a,b,c,cin); initial begin a=4'b0010; b=4'b1001; c=4'b1010; cin=1'b0; end endmodule El código anterior que da el res...
1
respuesta

¿cómo mostrar la onda de cable interna en la salida de verilog?

Supongamos que tengo un código escrito como module ruff(q,qbar,cp,s,r,clear); //port declaration from the I/O diagram output q,qbar; input s,r,clear,cp; //...