ID articolo: 000085704 Tipo di contenuto: Risoluzione dei problemi Ultima recensione: 11/09/2012

Perché la logica di controllo per i contatori generati in modo errato nelle versioni 4.1 e 4.1 SP1 del software Quartus® II?

Ambiente

  • Reimposta
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descrizione

    La logica di controllo viene generata in modo errato a causa di un problema nelle versioni 4.1 e 4.1 SP1 del software Quartus II se sono soddisfatte le seguenti condizioni:

    • Si crea un'istanza di una megafunzione lpm_counter o la megafunzione lpm_counter viene dedotta dal codice HDL durante la sintesi
    • Il contatore nella progettazione utilizza sia segnali sincroni preimpostati che sincroni
    • Si compilano i dispositivi di Stratix®, Stratix GX, Cyclone®, MAX® II o hardcopy Stratix

    Il comportamento errato è dovuto a un problema con l'implementazione di clear box della lpm_counter megafunzione. Per evitare il problema se si dispone di un contatore nella progettazione che utilizza sia i segnali asincroni preimpostati che i segnali di cancellazione sincroni, copiare il file lpm_counter.tdf dalla directory di installazione >\libraries\megafunctions nella directory del progetto.

    Questo problema è risolto a partire dal software Quartus II versione 4.2.

    Di seguito è riportato un esempio di codice implementato in modo errato nelle versioni 4.1 e 4.1 SP1 del software Quartus II. In questo esempio, il clr segnale viene rimosso nell'implementazione finale.

    process (clk, clr, preset) is
    
    begin
    
      if (preset = '0') then
    
       counter <= (others => '1');
    
      elsif rising_edge(clk) then
    
       if (clr = '1') then
    
         counter <= (others => '0');
    
       else
    
       counter <= counter  1;
    
       end if;
    
      end if;
    
    end process;
    
    

    Prodotti correlati

    Questo articolo si applica a 1 prodotti

    FPGA Stratix®

    Il contenuto di questa pagina è il risultato della combinazione tra la traduzione umana e quella automatica del contenuto originale in lingua inglese. Questo contenuto è fornito soltanto a titolo di informazione generale e non ha pretese di completezza o accuratezza. In presenza di contraddizioni tra la versione in lingua inglese di questa pagina e la sua traduzione, fa fede la versione inglese. Visualizza la versione in lingua inglese di questa pagina.