FPGASID Register Map

  • LogicDeLuxe schrieb:

    Gibt es überhaupt ein Programm (ausgenommen für Forschungszwecke), welches die Schreibregister liest?
    Vielleicht, um "Zufall" zu erzeugen, könnte ich mir vorstellen (weiß aber kein konkretes Beispiel). Ist denn das Verhalten, dass in den Write-Only-Registern "zufällige" Werte auftauchen, beim FPGASID umgesetzt?
  • nein, momentan steht der Wert noch ein Weilchen auslesbar dort und wird dann schlagartig 0.

    Im FPGA "echten" Zufall zu erzeugen ist gar nicht so einfach. Am ehesten lassen sich wohl die untersten Bits des AD-Wandlers hernehmen.
    Eine Temperaturmessdiode hat der MAX10 im uebrigen auch an Bord. Man koennte das ganze also noch abhaengig von der Temperatur machen (allerdings nicht, wenn der EXTIN Eingang gerade benutzt wird, da beides vom gleichen AD-Wandler ausgelesen wird.

    Das Thema hat fuer mich gerade unterste Prioritaet. Da ist kein Blumentopf mit zu gewinnen...
  • OK, jetzt ist Annahmeschluss für neue Features und Register. Das hier ist nun der letzte (finale) Stand:



    Alle hier aufgelisteten Funktionen wurden von mir in den letzten Tagen implementiert bzw. in Gang gesetzt. Insbesondere die 8580 Filter waren nochmal eine größere Aktion. Die hatte ich als ich gemerkt hatte, dass sie nicht mehr funktionieren auf meiner todo-Liste verschimmeln lassen. Leider hat sich das Drumherum mittlerweile so stark weiter entwickelt, dass ich an den Filtern noch einiges machen musste, bis sie wieder funktionierten. :puhh:

    Der FPGA-Füllungstand wird langsam kritisch. Ich bin im Moment bei 93%. Kleinigkeiten sind kein Problem, aber großartig neue Funktionen könnten Kopfschmerzen bereiten. Aber ehrlich gesagt bin ich mit dem Funktionsumfang mehr als zufrieden. Es funktioniert eigentlich wirklich alles - hätte nicht gedacht, dass ich das noch vor der Auslieferung an die Alphatester schaffe.

    Vielen Dank an Alle, die in diesem Thema hier zur Diskussion beigetragen haben! Mir hat diese basisdemokratische Art eine Registermap festzulegen sehr gefallen. Ihr habt sehr viele gute Ideen mit eingebracht, auf die noch gar nicht gekommen war. Ist eben ein tolles Forum hier!
    :thnks:

    Der Bestücker hat versprochen, dass er die Platinen spätestens nächste Woche fertig macht. Muss mich bei meinen Lieben dann schon mal für das nächste Wochnende abmelden ;)
  • WalkThatWay schrieb:

    Das nächste Projekt wartet schon. FPGA-VIC_II
    :lachtot2 Puhhh, der war gut!

    So ein VIC-II ist doch wirklich VIEL zu wenig Herausforderung! Das motiviert mich überhaupt nicht...
    Das können dann gerne andere als Fingerübung machen. ;)

    Nee, Spaß beiseite: Wenn das mit dem FPGASID soweit in trockenen Tüchern ist, gehöre ich wieder meiner Familie. Es war in letzter Zeit (und damit meine ich die letzten drei Jahre) schon so manches mal nicht mehr schön, was ich da an Energie rein gesteckt habe. Irgendwann ist dann auch mal gut :)
    Ach ja, und wenn ich in drei Jahren immer noch am FPGASID rumbastle, dürft ihr mich gerne an dieses Statement hier erinnern ;) :D
  • ganz einfach: asic-world.com/verilog/veritut.html ;)

    EIGENTLICH ist es kein Hexenwerk. Vor allem wenn man sich gut in Digitalelektronik auskennt. Die Einstiegshürde liegt aber leider immer noch sehr hoch, weil es nach wie vor wenig für Hobby-Anwender zugeschnittene Informationen gibt. Gut als Einstieg finde ich z.B. fpga4fun.com/.


    Ich hatte die Chance das beruflich mal zu brauchen und habe mir ein bisschen von den Kollegen abgeguckt und dann das Weitere im Selbststudium gelernt. OK, ein Verilog-Kurs war auch mal dabei, da konnte ich es aber eigentlich schon.
  • Hallo, entschuldigt bitte meinen späten Kommentar...

    Ich habe mir die verschiedenen Posts mal durch gelesen und frage mich, warum man nicht die Register 29,30 und 31 als Adressierung/Data nutzt.

    Reg 29: Config Adresse Low
    Reg 30: Config Adresse High
    Reg 31: Config Data

    Damit kann man bis zu 65536 eingebettete Register anbieten. Sogar Platz um Samples zu schreiben wäre vorhanden.
    Eventuell ist das ja schon irgendwo besprochen worden, ich konnte aber nichts dazu finden.
    Adresse 0 und 65535 kann man ohne Funktion lassen, damit löschen/reset (mit 0 oder 1) keine Probleme verursacht.
    Für eine Konfiguration ist aus meiner Sicht kein direkter Zugriff nötig...

    -Jonas
  • stynx schrieb:

    Ich habe mir die verschiedenen Posts mal durch gelesen und frage mich, warum man nicht die Register 29,30 und 31 als Adressierung/Data nutzt.
    Weil es auch die Register 27, 28 und 29 tun. Siehe Eröffnungspost:

    andi6510 schrieb:

    Register 27,28 und 29 möchte ich später benutzen, um die internen lookup-Tabellen mit neuen Werten zu laden und auf diese Weise neue SID-Profile in FPGASID zu laden. Hierzu brauche ich eine Adresse (16 bit) und ein byte für die Daten. Daher 3 Bytes.
  • LogicDeLuxe schrieb:

    stynx schrieb:

    Ich habe mir die verschiedenen Posts mal durch gelesen und frage mich, warum man nicht die Register 29,30 und 31 als Adressierung/Data nutzt.
    Weil es auch die Register 27, 28 und 29 tun. Siehe Eröffnungspost:

    andi6510 schrieb:

    Register 27,28 und 29 möchte ich später benutzen, um die internen lookup-Tabellen mit neuen Werten zu laden und auf diese Weise neue SID-Profile in FPGASID zu laden. Hierzu brauche ich eine Adresse (16 bit) und ein byte für die Daten. Daher 3 Bytes.

    Das ist ja ursprünglich nur für die LUTs gedacht... und jetzt nicht mehr vorgesehen, da die Register anderweitig genutzt werden.
    Warum soll man 'deep register' nicht auch als config register nutzen und damit mehr Zukunftssicherheit haben?

    Man könnte die unteren oder oberen 255 bytes der verfügbaren 64k ja als config-Bereich definieren und alles darüber als LUT/Rom/Ram-Bereich.

    Zudem halte ich eine Mehrfachbelegung von Registern (lesen regA, schreiben regB) für unübersichtlich.
    (persönliche Meinung :P )

    -Jonas