Resourcenschonender Parameter Upload

OP #3451189
Lesenswert?

Ich möchte 1024 Parameter bits von einem Prozessor in ein FPGA senden, 
die dann verstreut über das FPGA design benutzt werden. Während des 
Parameter Uploads sind die Parameter Nutzer inaktiv und werden erst 
gestartet wenn alles stabil ist. Die Upload Geschwindigkeit selbst 
spielt keine Rolle.
Ich möchte eine Möglichkeit haben die Konsistenz des 
Upload-Mechanismusses zu prüfen.

Der Prozessor ist ein Sitara 35XX der das FPGA mit einem 16 Bit Memory 
Interface anbindet.

Momentan sind die Parameter mit 64 rücklesbaren 16 bit Registern 
realisiert, was aber recht viele Resourcen benötigt.

Ich frage mich ob dies mit einem SIPO (mit zusätzlichem seriellem 
Ausgang für Konsistenstest) nicht viel resourcenschonender geht. Takt 
und Daten z.B. per Bitbang vom Sitara. Meine Befürchtung ist allerdings, 
dass der slow Shift Clock nicht gleichzeitig genug an den Fifos des 
Shiftregisters ankommt. BUFG sind bereits anderweitig belegt.

Habt Ihr Anregungen wie man das am Resoucenschonendsten macht?
#3452607
Lesenswert?

Michael S1. schrieb:
> Konkret gefragt: Was würdet Ihr benutzen?

Sagt der Ingenieur: "Kommt drauf an..."

> - am Bus betriebene rücklesbare parallele Register

Wir verwenden hier am Bus betriebene parallele Register, zum schreiben 
oder lesen. Kein Rücklesen.
Es existiert eh ein paralleler Bus auf dem Board (Flash, ADCs etc.) und 
neu macht der PLD auch ein Dual-Port RAM zu einem anderen Prozessor, 
dann ist es klar, dass man die Register auch gleich so einbindet.
Für den Firmwareentwickler ist es auch super, weil alles so einfach ist 
mit den Memory-mapped Registern.

Um Aufwand zu sparen, kannst du dein Interface auch auf 8 Bit reduzieren 
und weniger Adressleitungen nutzen.

> - Schieberegister

Geht, ist für den Firmwareentwickler am Anfang ein bisschen mühsam, weil 
er für alles selber zuerst mal Code schreiben muss. Dass man mit einem 
Schieberegister Ansatz weit kommt, zeigt ja z. B. die JTAG 
Schnittstelle.

> - andere Lösung, welche?

z. B. SPI, das können die Mikrocontroller gut und schnell, bei deinem 
Sitara wohl auch mit DMA. (Basiert ja auch auf einem ein 
Schieberegister).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren