Salida HDMI (TMDS) con Digilent Atlys: los ejemplos no se compilan con ISE 14.7

1

Estoy trabajando en XAPP495 en el tablero de Digilent Atlys con ISE 14.7 Quiero ejecutar y probar "vct_demo" que viene con el XAP 495. Intenté compilarlo (con ISE 14.7) y fallí debido a los siguientes errores:

ERROR: PhysDesignRules: 2502 - Problema con conexiones de pin y / o configuración en    bloquear::. BUFIO2 tiene una configuración inválida de DIVIDIR    por 2. Esta configuración no es compatible. Para obtener más información, consulte la respuesta    Registro 56113.

ERROR: Paquete: 1642 - Errores en el DRC físico.

Simplemente importé todos los archivos * .v, así como el correspondiente * .ucf

¿Puede ser esto aquí un problema de versión simple? - ¿Es una cuestión de nivel de error más estricto que en versiones anteriores?

Cualquier ayuda es apreciada.

Gracias

    
pregunta Shoroq Harb

1 respuesta

1

Bienvenido al mundo de Xilinx :)

El problema es conocido, y no creo que mantengan esta aplicación de forma muy activa y si busca el Registro de respuestas mencionado en la lista de errores, verá que requiere algunos cambios en el código de ejemplo para que se compile. con nuevas versiones de ISE.

Puede encontrar la solución a su problema en:

Discusión sobre el problema con el diseño de ejemplo de Digilent / Xilinx en el foro de Xilinx

Es necesario modificar vtc_demo.v para:

// Original code, doesn't work on ISE >= 14.6
//  BUFIO2 #(.DIVIDE_BYPASS("FALSE"), .DIVIDE(2))
//  sysclk_div (.DIVCLK(clk50m), .IOCLK(), .SERDESSTROBE(), .I(sysclk));

  wire clkfb;

   DCM_SP #(
      .CLKDV_DIVIDE(2.0),
      .CLKFX_DIVIDE(1),
      .CLKFX_MULTIPLY(4),
      .CLKIN_DIVIDE_BY_2("TRUE"),
      .CLKIN_PERIOD(10.0),       
      .CLKOUT_PHASE_SHIFT("NONE"),
      .CLK_FEEDBACK("1X"),        
      .DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"),
      .DFS_FREQUENCY_MODE("LOW"),         
      .DLL_FREQUENCY_MODE("LOW"),         
      .DSS_MODE("NONE"),                  
      .DUTY_CYCLE_CORRECTION("TRUE"),     
      .FACTORY_JF(16'hc080),              
      .PHASE_SHIFT(0),                    
      .STARTUP_WAIT("FALSE")              
   )
   DCM_SP_inst (
      .CLK0(clk50m),
      .CLK180(),    
      .CLK270(),    
      .CLK2X(),     
      .CLK2X180(),  
      .CLK90(),     
      .CLKDV(),     
      .CLKFX(),     
      .CLKFX180(),  
      .LOCKED(),    
      .PSDONE(),    
      .STATUS(),    
      .CLKFB(clkfb),
      .CLKIN(sysclk),
      .DSSEN(1'b0),  
      .PSCLK(1'b0),  
      .PSEN(1'b0),   
      .PSINCDEC(1'b0),
      .RST(1'b0)      
   );

   BUFIO2FB #( .DIVIDE_BYPASS("TRUE") )
   BUFIO2FB_inst ( .O(clkfb), .I(clk50m) );
    
respondido por el FarhadA

Lea otras preguntas en las etiquetas