Programmazione di FPGA Lattice con un Aardvark
Programmazione di FPGA Lattice con Aardvark
L'adattatore host I2C/SPI Aardvark si collega via USB ed è un adattatore host I2C e SPI potente e veloce. Gli sviluppatori possono collegare un computer Mac, Linux o Windows all'ambiente del sistema embedded e trasferire flussi di dati seriali utilizzando i protocolli I2C e SPI. L'adattatore host Aardvark può essere utilizzato come master e slave. Quando si acquista un Aardvark, è possibile utilizzare un gran numero di API. Sono disponibili le seguenti API: C/C++, C#, .NET, Python, Visual Basic. Tutte le API possono essere ottenute senza costi di licenza. L'adattatore SPI/I2C di Aardvark può essere utilizzato per programmare i dispositivi FPGA Lattice con SPI o I2C slave.
È necessario seguire le seguenti istruzioni di programmazione per la modifica di SSPIEM e I2CEM utilizzando le API SPI/I2C di Aardvark.
Lattice Diamond fornisce codici sorgente di esempio SSPIEM e I2CEM che possono essere modificati rispettivamente con le API Aardvark SSPI e I2C. Queste modalità di programmazione sono contenute nei file .sea e .iea generati da Lattice Development Tool. Questi sono utilizzati dai codici sorgente di SSPIEM e I2CEM. Tuttavia, Lattice non garantisce che queste API supportino tutte le modalità di programmazione. Ciò è dovuto alle limitazioni dell'adattatore Aardvark e quindi delle API di lettura/scrittura ad esso associate, che sono destinate al trasferimento di dati tra la logica di interpretazione degli algoritmi di Lattice e la logica del driver hardware di programmazione.
L'adattatore Aardvark ha un limite di buffer di 4KB. Qualsiasi dato del file dell'algoritmo superiore a 4KB farà traboccare il buffer e provocherà un errore di programmazione. Le modalità dello strumento di sviluppo che ne risentono sono quelle di "programmazione veloce". Ad esempio, il dispositivo LIFMD-6000 (Crosslink) supporta la modalità di programmazione rapida, ma non le API Aardvark. La modalità di programmazione rapida dà luogo a un file algoritmico in cui tutti i dati di programmazione rapida vengono immediatamente passati come un tutt'uno e traboccano nel buffer di Aardvark. Questo comporta un errore di programmazione. Le modalità di programmazione supportate sono: "Verifica del programma", "Verifica del programma in background", "Programma Flash", "Programma SSPI" ecc.