Forum: FPGA, VHDL & Co. Änderung einer Konstante, Cyclone III


von dommy (Gast)


Lesenswert?

Hey,
ich arbeite aktuell mit einem Cyclone III und Quartus 13.1, und habe das 
Problem, dass ich einen bestimmten Vergleichswert nicht kenne, und durch 
Tests suchen muss (Sync mit bestehender Webcam-Framerate). Nach jedem 
Test folgt aber ein komplettes Redesign, was mehrere Minuten dauert. Bei 
einem Wert zwischen 10000 und 1000000 ist das ein klein wenig aufwendig. 
Gibt es eine Möglichkeit, so einen Wert schnell zu ändern?
1
if LED_cntr_s = 40000 then

Diese 40000 würde ich dann irgendwie gerne als Konstante abspeichern, 
und theoretisch müsste ich ja dann nur ein Registerwert ändern.

Thx,
dommy

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

dommy schrieb:
> Diese 40000 würde ich dann irgendwie gerne als Konstante abspeichern,
Ähm... das IST eine Konstante.
> und theoretisch müsste ich ja dann nur ein Registerwert ändern.
Du willst sie also von aussen verändern?
> Gibt es eine Möglichkeit, so einen Wert schnell zu ändern?
Den Wert zu ändern ist ja nur die halbe Miete. Du musst ja auch 
wissen, welcher Wert gerade aktiv ist. Hast du eine Schnittstelle zu 
deinem Zyklon hast du: SPI, Seriell?

von dommy (Gast)


Lesenswert?

Ne, ich möchte den VHDL-Code aktualisieren nach einem Test, aber eben 
nur diese eine Konstante ändern. Der Rest des Codes wird nicht 
angefasst, weswegen die Synthese beinahe 1:1 das selbe herauskriegt. Nur 
werden die Bits in einem 16bit-Register anders festgesetzt. Wurde von 
meinen Arbeitskollegen aber schon darauf hingewiesen, dass das nicht so 
einfach ist, und man sich dann eben mit einer seriellen Schnittstelle 
usw. abgeben muss :/

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

dommy schrieb:
> Ne, ich möchte den VHDL-Code aktualisieren nach einem Test, aber eben
> nur diese eine Konstante ändern.
Vergiss es. Der Synthesizer optimiert "diese Konstante" jedesmal anders. 
Ein Vergleicher mit dezimal 00007 wird sicher anders aussehen, als einer 
mit 12345...
Du wirst ein Register anlegen müssen, das diesen Vergleichswert 
speichert.

dommy schrieb:
> Wurde von meinen Arbeitskollegen aber schon darauf hingewiesen, dass das
> nicht so einfach ist, und man sich dann eben mit einer seriellen
> Schnittstelle usw. abgeben muss :/
Ja und? Ein paar Zeilen Code und fertig...

von dommy (Gast)


Lesenswert?

Bin aktuell aber noch nicht so dicke mit VHDL - bin noch in der 
lernphase, deshalb kommen auch solche "tollen" fragen ;)

von Marius S. (lupin) Benutzerseite


Lesenswert?

Hast du Schalter auf dem Board?

Wenn du ein paar davon hast kannst dir eine Logik bauen um die Konstante 
manuell ein zu geben :-)

von dommy (Gast)


Lesenswert?

Leider nicht - das ist kein Eval-Board, sondern ein bereits fertiges 
Produkt. VG

von Uwe (Gast)


Lesenswert?

Naja ist zwar nicht schön aber man könnte nen (oder nen paar) BRAM(s) 
nehmen die adressen fest verdrahten und dann jedesmal das initfile des 
BRAMs ändern.

von Roger S. (edge)


Lesenswert?

Am effizientesten gehts mit einer altsource_probe megafunction.
Quasi ein virtuelles Mäuseklavier bequem über JTAG in Betrieb bedienbar.

Cheers, Roger

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.