Estoy tratando de establecer una restricción LOC mientras se especifica en el código verilog (a través del atributo verilog). Investigaciones anteriores en Internet dieron razones para pensar que este tipo de construcción debería funcionar:
///////////////////////////////////////////////////////////////// code begins
module wrapper(in, out);
input in;
output out;
(* BEL="A6LUT", LOC="SLICE_X4Y4") INVERT inverter_instance1(in, out);
endmodule
module INVERT(in, out);
input in;
output out;
assign out = !in;
endmodule
///////////////////////////////////////////////////////////////// code ends
Sin embargo, cuando se implementa, Vivado simplemente ignora la sintaxis de ese atributo e implementa la LUT en el segmento X0Y1 de forma predeterminada. ¿Alguna idea sobre lo que está pasando aquí?