Lattice FPGA's mit einem Aardvark programmieren

Lattice FPGA's mit einem Aardvark programmieren

 

Der Aardvark I2C/SPI Host Adapter wird über USB angeschlossen und ist ein leistungsfähiger und schneller I2C und SPI Host Adapter. Entwickler können einen Mac-, Linux- oder Windows-Rechner mit der Embedded Systemumgebung verbinden und die seriellen Datenströme unter Verwendung der I2C und SPI Protokolle übertragen. Der Aardvark Host-Adapter kann als Master und Slave eingesetzt werden. Bei einem Erwerb eines Aardvark, können eine große Anzahl von API‘s verwendet werden. Folgende API’s sind verfügbar: C/C++, C#, .NET, Python, Visual Basic. Alle API’s können sie frei von einer Lizenzgebühr zu erhalten. Der Aardvark SPI / I2C Adapter, kann für die Programmierung von Lattice FPGA Geräten mit Slave SPI oder Slave I2C verwendet werden. 

 

Die folgenden Programmierhinweise für SSPIEM und I2CEM-Modifikation mit den Aardvark SPI/I2C API’s sind zu beachten.

aardvark-black-rgb144_2_m

 

Lattice Diamond stellt SSPIEM- und I2CEM-Beispiel-Quellcodes zur Verfügung, die mit Aardvark SSPI- bzw. I2C-APIs modifiziert werden können. Diese Programmiermodi sind in den .sea- und .iea-Dateien enthalten, die von Lattice Entwicklungs-Tool erzeugt werden. Diese werden von den SSPIEM- und I2CEM-Quellcodes verwendet. Lattice garantiert jedoch nicht, dass diese APIs alle Programmiermodi unterstützen. Dies liegt an den Beschränkungen des Aardvark-Adapters und damit an seinen zugehörigen Lese- / Schreib-APIs, die für den Datentransfer zwischen Lattice Algorithmus-Interpretationslogik und der tatsächlichen Programmierhardware-Treiberlogik gedacht sind.

 

DerAardvark-Adapter hat eine Pufferbegrenzung von 4KB. Alle Algorithmus-Dateidaten über 4KB werden den Puffer überlaufen und zu einem Programmierfehler führen. Die Entwicklungs-Tool-Modi, die davon betroffen sind, sind die "Fast Programming" -Modi. Zum Beispiel unterstützt das LIFMD-6000 (Crosslink) -Gerät den schnellen Programmiermodus, jedoch nicht mit Aardvark-APIs. Der Fast-Programming-Modus führt zu einer Algorithmus-Datei, in der die gesamten Daten zur schnellen Programmierung sofort als Ganzes übergeben werden und in den Aardvark-Puffer überlaufen. Dies führt zu einem Programmierfehler. Die unterstützten Programmiermodi sind 'Programmverifizierung löschen', 'Programmprüfung löschen im Hintergrund', 'Flash-Programm', 'SSPI-Programm' usw..