Gast
#4587959
Hi, ich bin vor kurzem erst ein wenig in die FPGA Welt eingestiegen und die ersten Gehversuche mit VHDL, Quartus prime, Qsys, NIOSII und dem DE0-nano (Cyclone IV) sind schon ganz gut geglückt, aber jetzt steht ich doch ein wenig auf dem Schlauch... Das board besitzt 32 MB SDRAM,die sollen sowohl als Speicher für einen NIOSII (economy da ich keine Lizenz für z.B. die "fast" Version besitze) als auch als double frame buffer für einen VGA controller herhalten. Jetzt habe ich gesehen das es schon einen Pixelbuffer DMA controller bei den University IPs gibt den ich als VGA controller bzw. als Teil eines VGA controllers nutzen könnte. Dort kann ich Adressen für den buffer und den backbufer einstellen sowie Farbtiefe, Auflösung etc und der kümmert sich dann um das streamen der Pixeldaten. Ich denke mal den SDRAM als pixel buffer zu gebrauchen wird einfach nur eine Frage der richtigen Adresse bei den Buffereinstellungen des Pixelbuffer DMA controller sein. ABER was mir viel mehr Kopfzerbrechen bereitet, wie stelle ich nun sicher das der NIOS und der VGA controller nie auch nur ansatzweise "gleichzeitig" versuchen auf den Speicher zuzugreifen? Genauso darf der NIOS ja nie in den aktuellen buffer (welcher gerade angezeigt wird) schreiben sondern nur in den aktuellen backbuffer. Gibt es sowas wie einen Speicher -manager / -arbiter der dafür sorgt das soetwas nicht passieren kann? Also quasi sodass der pixelbuffer dma eine höhere Priorität beim Zugriff auf das SDRAM als der NIOS hat damit das VGA timing nicht beinflusst wird. Wie läuft das eigentlich beim refresh des SDRAM ab? Der könnte ja auch genauso gut mit dem VGA timing kollidieren. Wie regelt man soetwas ? Weitere DMA controller mit mehr Kanälen und buffern? Es soll auch noch eine SD Karte hinzukommen, also quasi soll nachdem Reset der NIOS eine kleine "firmware" aus dem eeprom starten, diese prüft dann auf eine vorhandene SD Karte und "User binary" welche dann geladen und gestartet werden soll. Kann ich eigentlich gefahrlos den NIOS mit einer PLL takten ? Mit der standart 50 MHz clock ist die economy Version ja nicht wirklich performant. Wie hoch kann ich da gehen? Hatte ein Beispiel gesehen mit 260 MHZ PLL, aber macht das das board und der ganze Rest auch mit? Hatte irgendwo etwas von eine Art Diagnosefunktion in der Quartus software gelesen mit der man solche Dinge testen kann, leider war das ein Beispiel einer älteren Version der Software und ich habs in der prime nicht mehr wieder gefunden. Den SDRAMM soll man wohl ohne Probleme mit ner 100 MHz PLL takten können. Ok das waren jetzt doch ein paar mehr Fragen auf einmal aber im Grunde is das Verständniss mit dem SDRAM, NIOS und dem VGA controller das primäre Problem, evtl. weis da ja jemand Rat bzw. kann mich in die richtige Richtung lenken? Danke!