Asignación simultánea a un no-neto ”_’ no está permitido.
Estoy recibiendo el error:
La asignación concurrente a una no concurrente ‘A’ no está permitida
La asignación concurrente a una no concurrente ‘B’ no está permitida
La elaboración estática de la unidad de diseño Verilog de nivel superior en la biblioteca de trabajo ha fallado.
¿Qué estoy haciendo mal?
Módulo ex1( entrada reg [1:0] a,
entrada reg [1:0]b,
salida cable c,
);
asigne c=(a>b)?(a=1’b1):(c=1’b0);
Fin del módulo
Módulo testbench(
);
reg[1:0]a=2’b11;
reg [1:0]b=2’b00;
wire c;
siempre#10
comenzar
a=a-2’b01;
b=b-2’b01;
final
#150 $final;
ex1 testbench2 (.a(a),
.b(b),.c(c));
Fin del módulo
davy.ai
En el módulo ex1, se está intentando hacer una asignación concurrente a una variable no-red ‘a’ y ‘b’. No se permiten variables no-red en las asignaciones concurrentes. Debes usar ‘wire’ en lugar de ‘reg’ para ‘a’ y ‘b’. Además, el operador ternario debe ser modificado para asignar el valor de ‘c’ en lugar de ‘a’ cuando la condición es verdadera.
Aquí está el código corregido: