Soy moderadamente nuevo en los FPGA, y ahora mismo estoy trabajando en el código para interactuar con un DAC. Estoy usando this PMOD DAC, y un Nexys 4 DDR fpga. En este momento, los estoy conectando a través del encabezado JB PMOD.
El DAC requiere un pulso de reloj (estoy enviando uno de 50MHz, que he dividido del clk de los FPGA a 100MHz), que estoy enviando a través del pin 4, siguiendo el manual de referencia. Sin embargo, una vez que intento sintetizarlo e implementarlo, obtengo un error.
"Mala colocación para enrutamiento entre un pin IO y BUFG. Si esta condición subóptima es aceptable para este diseño, puede usar la restricción CLOCK_DEDICATED_ROUTE en el archivo .XDC para degradar este mensaje a una advertencia. , se desaconseja mucho el uso de esta anulación. Estos ejemplos se pueden usar directamente en el archivo .XDC para anular esta regla de reloj. "
Hay dos problemas posibles:
-
A la fpga no le gusta que esté enviando una señal de reloj a través de este pin PMOD
-
Puede haber un problema con Mset_enable, pero no tiene nada que ver con un reloj (en este momento es una entrada asignada a uno de los botones de a bordo), y no veo ninguna razón por la que no debería haber dificultades. colocándolo.
Mi pregunta es: ¿cuál es el problema? ¿Debo seguir adelante y usar esta solución?
Código Mset:
module tuning_word_set(
input [3:0]data_in,
input clk,
input Mset_enable,
output reg sin_LUT_rst,
output reg [3:0]data_out
);
//if enabled, M will change to data_in, otherwise it will stay the same
always @*
begin
if (Mset_enable)
begin
data_out <= data_in;
sin_LUT_rst <= 1'b1;
end
else
data_out <= data_out;
sin_LUT_rst <= 1'b0;
end
endmodule