Forum: FPGA, VHDL & Co. Max 10 nConfig pin verwenden (Max1000 Reset)


von Martin O. (ossi-2)


Lesenswert?

Auf dem MAX1000 Board wird der nConfig Pin anscheinend gebraucht, um
einen Reset/Neukonfiguration des MAX10 zu veranlassen.

Kann ich den nConfig Pin auch im FPGA-Design für die Reset-Funktion 
nutzen?
Wenn ja, unter welchem Namen spreche ich ihn an (Konfiguration im 
PinPlanner geht nicht)?

von Bitwurschtler (Gast)


Lesenswert?

Martin O. schrieb:

> Kann ich den nConfig Pin auch im FPGA-Design für die Reset-Funktion
> nutzen?


aus http://fpgacenter.com/fpga/altera_conf.php
4) nCONFIG: It is a dedicated input pin for configuration. When the FPGA 
is in user mode; if you give a LOW (0) to this pin, FPGA losts its 
configuration and resets itself. Moreover, all the I / O pins go to 
tri-state position. If you want to reprogram the FPGA, you need to give 
this pin a HIGH (1).

Die interessante Stelle ist: "FPGA losts its configuration" d.h. das 
Design ist gelöscht und muss komplett neu aufgespielt werden.

Das kann man als Design-Restart benutzen, es genügt dann aber nicht das 
Pin zu steuern sondern es muss anschließend eine komplette Configuration 
durchgeführt werden.

von Sigi (Gast)


Lesenswert?

Martin O. schrieb:
> Kann ich den nConfig Pin auch im FPGA-Design für die Reset-Funktion
> nutzen?

Es gibt sog. DualPurpose-Pins, aber ich kann mir
nicht vorstellen, das nConfig oder vergleichbar bei
anderen Herstellern darunter flällt. Denn sonst
müsstest du ja immer erst den Strom runterfahren
lassen um ein neues Design zu installieren.

(bei Altera lässt sich nConfig auch intern vom
Design aus steuern, um z.B. eine Ferninstallation
zu implementieren. Das ist aber etwas anderes.)

von Michael W. (Gast)


Lesenswert?

Sigi schrieb:
> bei Altera lässt sich nConfig auch intern vom
> Design aus steuern, um z.B. eine Ferninstallation
> zu implementieren. Das ist aber etwas anderes.)

Schon mal verwendet?

von Bitwurschtler (Gast)


Lesenswert?

Sigi schrieb:
> Martin O. schrieb:
>> Kann ich den nConfig Pin auch im FPGA-Design für die Reset-Funktion
>> nutzen?
>
> Es gibt sog. DualPurpose-Pins, aber ich kann mir
> nicht vorstellen, das nConfig oder vergleichbar bei
> anderen Herstellern darunter flällt.

Verblüffenderweise wird nConfig als dual-Purpose bezeichnet: 
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/dp/max-10/pcg-01018.pdf 
S. 6

Ich kann mir aber nicht so recht vorstellen wie das funktionieren soll:
"This is a dual-purpose pin, as an nCONFIG pin or a single ended
input pin in user mode. Before user mode, these pins
function as configuration pins.
During configuration mode, the pin name is nCONFIG. During
user mode, the pin name is Input_only.
If you pull this pin low during user mode the device will lose
its configuration data, enter a reset state, and tri-state all I/O
pins. Pulling this pin to a logic-high level initiates
reconfiguration."


Wie unterscheided sich ein [Pull Low -> startet Config mode] von einem
[am Input liegt '0'/GND an -> User-Input] ?

von Sigi (Gast)


Lesenswert?

Markus W. schrieb:
> Sigi schrieb:
>> bei Altera lässt sich nConfig auch intern vom
>> Design aus steuern, um z.B. eine Ferninstallation
>> zu implementieren. Das ist aber etwas anderes.)
>
> Schon mal verwendet?

Ja, wird z.B. im EmbeddedIP UserGuide (Remote
Update Controller) beschrieben.

Bitwurschtler schrieb:
> Verblüffenderweise wird nConfig als dual-Purpose bezeichnet:
> 
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/dp/max-10/pcg-01018.pdf

Ich hätte vlt. meine Definition von DualPurpose dazuschreiben
sollen: für mich ist es ein Pin, der vom FPGA z.B. für die
Konfiguration und danach für mein Design verwendet werden kann.
(und das ist bei Altera nicht der Fall)

Bei Altera's nConfig wird der Pin wahrscheinlich im OC-Modus
betrieben, wärend der Config-Phase (im OUT-Modus) von
FPGA-internen Config-Controller auf LOW gezogen und dann
auf HIGH belassen und als purer Eingang verwendet (idR für
den Config-Controller). Wird er dann von "Aussen" auf LOW
gezogen, löst das einen Konfigurationszyklus aus, d.h. der
Config-Controller liesst eine Konfiguration ins FPGA.

Rein theoretisch kannst du den Piin natürlich lesen, kurze
Zeit (??) danach wird aber auch schon die Konfiguration
ausgeführt, d.h. du hast nichts von dieser Information,
deshalb für mich auch kein DualPurpose-Pin.

Mit dem Oben von mir erwähnten RemoteController kann neben
der Ansteuerung von nConfig auch noch das entsprechende
Configuration-Image ausgewählt werden (wird z.B. für CycloneIII
im NEEK-Board von Terasic verwendet).

Bitwurschtler schrieb:
> Wie unterscheided sich ein [Pull Low -> startet Config mode] von einem
> [am Input liegt '0'/GND an -> User-Input] ?

deshalb: praktisch überhaupt nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.