Forum: FPGA, VHDL & Co. Internal Oscillator des MAX10 von Altera (Anfänger)


von Bonner (Gast)


Lesenswert?

Hallo Leute,

ich bin Anfänger in Sachen FPGA's und versuche gerade den internen 
Oszillator des FPGA's 10M16F484CG von Altera nutzten zu können.

Das habe ich mit Google gefunden:
https://www.altera.com/en_US/pdfs/literature/an/an496.pdf
hier steht, dass ich hierfür über den IP-Catalog den Oszi konfigurieren 
muss.
Dies habe ich getan.

Wie kann ich den Takt des Oszis nun in meinem VHDL-Prog verwenden?
Bis jetzt habe ich in meiner "architecture" die "component" des Oszis 
bekannt gemacht und mit port map() die Signale zugewiesen.
Ich gehe davon aus, dass das Falsch ist, da mir gemeldet wird, dass die 
"Entity" des Oszis nicht bekannt ist.


Arbeite zum ersten mal mit FPGA's und komme schon alleine mit der 
Informationsbeschaffung gar nicht zu recht.
Ist das nichts, was man sich selbst beibringen kann? Weil für mich ist 
das Dokument von Altera nicht ausführlich genug.
Kenn das nur von Mikrocontrollern. Da gibt es ein Datenblatt nach dem 
man die Register der Peripherie beschreibt um diese nutzen zu können.
Bei dem ALTERA FPGA gibt es diese Konfigurationstools und ich habe keine 
Ahnung was die machen.

Mein Text ist bestimmt wirr. Ich hab extra was mehr geschrieben, dass 
vlt. jemand nachvollziehen kann wo ich stehe.

Meine Frage Konkret:
Wie nutze ich den Internen OSZI von der Konfiguration bis hin zur 
Verwendung eines CLOCK-std_vectors im VHDL-Code?

Woher bekomm ich Infos für Anfänger geeignet? Speziell zur Nutzung von 
Alteras FPGAs und dessen Peripherie.

Vielen Dank für Hilfe und Mühe

von Bonner (Gast)


Lesenswert?

ok hab nun die *.qsys-Datei meinem Projekt hinzugefügt und nun geht es.

Aber es kann doch nich sein, dass sowas nur durch Ausprobieren sich 
beizubringen ist.

Deshalb bleibt die Frage nach guten Informationsquellen für Anfänger 
bestehen.
Und ich brauch keine Infos über HDLs und FPGAs im Allgemeinen, sondern 
wie ich ihn nutze incl. der IDE von Altera.

von P. K. (pek)


Lesenswert?

Zumindest früher (vor ca. 5 Jahren) hatte Quartus II gar nicht mal so 
schlechte "walk-through"-Tutorials. Schau mal ob Du da was findest.

von W. M. (thematsche)


Lesenswert?

Bonner schrieb:
> Aber es kann doch nich sein, dass sowas nur durch Ausprobieren sich
> beizubringen ist.

Du sprichst mir aus der Seele.
Es ist wirklich muehsam.
Aber wie mir der Altera Newsletter suggeriert, wollen die, dass man 
jeden Monat mind. 2 Kurse bei denen besucht.

Hobby gibts bei denen nicht. ;)

von Bonner (Gast)


Lesenswert?

Ich habe mich für Altera entschieden weil ich den bereits aus dem 
Studium kenne und mich so auch bereits mit der Webseite von Altera 
beschäftigt hatte. Das ist ja schon jedesmal ein Krampf und es geht 
locker ein Tag drauf bis man die Struktur der Seite im Kopf hat und das 
Produktsortiment kennt.

Würde deswegen wirklich ungern von mir aus auf einen anderen Hersteller 
wechseln. Weiß jemand wie es mit der Informationsbeschaffung bei 
verschiedenen Herstellern aussieht? Wie gesagt mir geht es nich um 
allgemeine Informationen bezüglich FPGA und HDL sondern ganz klar um die 
praktische Anwendung. Wie z.B. der Umgang mit der IDE und wie die 
Peripherie genutzt wird.

Schon die erstellung des Schaltplans war schlimm weil ich es nicht 
geschafft hab mir meiner Sache sicher zu sein. Eine minimalbeschaltung 
wäre sehr nützlich gewesen. Habe mir dann die beschreibung der 
Configpins durchgelesen und den FPGA hiernach in den Schaltplan 
eingefügt. Hat auch Funktioniert.

Auch das mit den Beispielprojekten ist schlimm wie ich finde. Da kann 
man sich nicht einfach mal eine VHDL-Datei laden. Das ist ein Projekt 
mit viel Balast drumherum zu einem bestimmten Dev-Board ohne 
erklärungen.

Kennt jemand ein Buch über praktische Anwendung mit Altera FPGAs???

von Andi M. (andi6510) Benutzerseite


Lesenswert?

Mein Einstieg in die Thematik war vor einigen Jahren. Da hat es mir SEHR 
geholfen Kollegen um mich rum zu haben, die wissen wie das geht und mich 
Schritt fuer Schritt an die Aufgaben herangefuehrt haben. Die Altera 
Video-Tutorials sind bei Abwesenheit von Kollegen mitunter auch ganz 
hilfreich.

Ansonsten: Mach Dir nix draus. Das vernuenftige Aufsetzen eines neuen 
FPGA-Projektes ist meines Erachtens nach alles andere als einfach. Man 
macht es ja auch eher selten. Daher ist es auch normal, ueber solche 
vermeindlichen "Anfaengerprobleme", welche auch den Profis mitunter 
passieren, zu stolpern.

(OT: Und wenn wir schon bei Herstellern sind: Ich bin vor zwei drei 
Jahren von beruflich Xilinx auf privat Altera umgestiegen und muss sagen 
bei Xilinx ist alles noch viel komplizierter und kryptischer als bei 
Altera. )

von uwe (Gast)


Lesenswert?

> bei Xilinx ist alles noch viel komplizierter und kryptischer als bei
> Altera.
Zustimm...

von Bonner (Gast)


Lesenswert?

Ok, also bleib ich bei Altera.

Vlt. sollt ich mein VHDL doch noch mal auffrischen. Diesen Fehler hab 
einen Arbeitstag lang gesucht:
signal counter : std_logic_vector(0 downto 24) := (others => '0');

Aaarrrg!

von Duke Scarring (Gast)


Lesenswert?

Wo ist da der Fehler?
Das counter nicht unsigned ist?
Oder das Dein Tool keine Initialisierung kann?

Ahh: die Zahlen links und rechts von downto...

Bei Xilinx gibt die Synthese eine "Vector null range"-Warnung, die aber 
auch leicht zu übersehen ist...

von Duke Scarring (Gast)


Lesenswert?

BTW: So was findet man eigentlich schon in der Simulation...

von Bonner (Gast)


Lesenswert?

ne das (0 downto 24) muss (24 downto 0) sein.
Eine Fehlermeldung, welche zu einem Abbruch führt gabs nicht.
Obs ne Warnung gab weiß ich net. Wenn ist sie bei den ganzen anderen 
Warnungen untergegangen.

Hatte dieses Signal in einer if-Anweisung mit einer "constant" 
verglichen und die Bedingung war immer wahr.
Bei der constant hatte ich den selben downto Fehler.

von Bonner (Gast)


Lesenswert?

...ach hattest du ja selbst gesehen das mit dem downto.

von Franz (Gast)


Lesenswert?

Generell findest du alle den Chip an sich betreffenden Infos hier:
https://www.altera.com/products/fpga/max-series/max-10/support.html#End-Applications

Klar sind das viele PDFs aber die sollte man sich halt mal anschauen.

Auf der Seite finden sich auch viele Videos zu einzelnen 
Funktionen/Aufgaben. Das ist auf jeden Fall interessant wenn man in ein 
Themengebiet rein kommen will. Da ist im Übrigen auch ein Video zu PLLs 
und Clocking.

Ebenso gibt es auf der Altera Webseite Videos zu Quartus und speziellen 
Funktionen innerhalb von Quartus. Das ist auch eine Video-Abfolge 
beschrieben. Schau dir das mal an dann hast du schon viele Dinge gesehen 
und fühlst dich nicht mehr so verloren.

Aus meiner Sicht braucht man viel Erfahrung beid er FPGA-Entwicklung. Es 
gibt viele Stolpersteine über die man fällt und auch mal einige Tage 
lang sucht. Daher wirst du um ausprobieren nicht wirklich herum kommen. 
Der MAX10 ist ja eh noch ein verhältnismäßig kleiner und einfacher Chip.

von Bonner (Gast)


Lesenswert?

Ja ich hab den großteil der PDFs gelesen.

Die Videos naja ich weiß nich so. Hab nur mal kurz rein gesehen werd die 
mir mal ganz anschauen wenn ich zu haus bin und den Ton anstellen kann.


...Habs ja bis jetz durch ausprobieren geschafft den internen Oscillator 
ans laufen zu bekommen. In der AN496 Using the Internal Oscillator
(https://www.altera.com/en_US/pdfs/literature/an/an496.pdf) steht der 
läuft zwischen 55 bis 116MHz.

Im Datenblatt steht für den internen Osci Min=55, Typ=82 und Max=116MHz.

Im IP-gedöns-Einstellungsprogramm kann ich 55 und 116MHz wählen.


Da ich zu rising edge einen Pin toggel und ich mit dem Oscar 45,xMHz 
messe, gehe ich von einer Oscifrequenz von 90MHz aus.

Wofür ist die einstellung 55 und 116 gut, wenn sich nichts ändert?
Wiso ist der Oscillator so extrem ungenau?

Das sind fragen, welche mir die PDFs nicht beantworten. Oder ich find 
die Info nicht, da sie mir untergeht.

von Franz (Gast)


Lesenswert?

Ich habe den internen Oszillator des MAX10 noch nicht verwendet, daher 
kann ich nur Vermutungen aufstellen.
Der Osc. des MAX10 ist sicherlich kein mittels Quarz realisiert sondern 
über einfachere Onchip-Schaltungen die eben deutlich Prozess- und 
Temperaturschwankungen unterliegen. Daher sind die Werte relativ ungenau 
und können stark schwanken. Halt doch mal mit dem Kältespray drauf ;-).
Eigentlich kannst du den Oszillator auch als Abfallprodukt von dem 
integrierten Flash-Speicher (UFM) ansehen der eben für manche 
Anwendungen ausreicht. Wenn du es genauer willst must du eben extern 
einen Takt anlegen der deinen Anforderungen genügt.

Einstellungen der IPCores werden teils auch für das Simulationsmodell 
verwendet und haben für die Hardware keine Relevanz. Der Wert den du 
hier eingibst ist vermutlich nur der Takt den du in der Simulation 
siehst.

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.