Dieser Thread soll folgende älteren Threads ersetzen und fortführen
Beitrag "EPJ14 S. 19: Ein 8bit-Rechner auf dem Spartan-3A-Starterkit "Beitrag "Ein 8bit-Rechner auf dem Spartan-3A-Starterkit"
Zu dem Projekt gibt es den Artikel
http://www.mikrocontroller.net/articles/8bit-Rechner
Projekt-Website: http://www.bomerenzprojekt.de
Positive Eigenschaften der historischen 8bit-Heimcomputer sind:
Man kann sie auch ohne langes Studium vollständig verstehen. Man
hat direkten Zugriff auf die Hardware ohne zwischengeschaltetes
Betriebssystem. Man kann auch als Laie IO-Hardware basteln.
Es gibt kein Multitasking, der Zeitablauf ist übersichtlich.
Dem stehen auf der Negativ-Seite gegenüber der kleine Adressraum
und einige unschöne Eigenschaften der CPUs. Beim 6502: Der 8bit
breite Stackpointer und die nur 8bit breiten Index-Register;
die Abhängigkeit der Dauer eines Verzweigungs-Befehls von der
Frage, ob das Sprungziel im selben 256-Byte-Bereich liegt. Beim
Z80 die nicht so leicht berechenbaren Laufzeiten und das teils
unschöne Befehlsformat, zB. bei der Adressierungsart IX+d.
Das von mir erarbeitete Projekt eines 8bit-Rechners soll kein
Retro-Projekt sein. Der Rechner soll ein moderner Rechner sein.
Wesentlich ist dabei der erweiterte Adressraum der CPU.
Realisierungen des Rechners gibt es nun neben dem Spartan-3A-
Starterkit auch auf dem Spartan-3E-Starter Board und auf dem
Nexys2 Board. Es ist mir wichtig, mit dem Titel dieses neuen
Threads von der Beschränkung auf das S3A-Board wegzukommen.
Es ist gaanz lang her, da war ich derjenige, welcher die Strippen unter
Vaters Märklin-Eisenbahn zog. Kurz genug war ich, um unter den
Holzplatten die Elektrik zu erledigen, welche beiläufig ein
fürchterliches Durcheinander war.
Litzen von Weichen, Schienen, Lampen, Hausbeleuchtungen usw. Sicher
interessant anzuschauen, aber außer für den/die Bauer oder Betreiber des
Ganzen völlig sinnlos, nicht übertragbar auf irgendeine vergleichbare
Anlage, nicht demontier- oder zusammensetzbar. Für den außenstehenden
Betrachter in gewisser Weise faszinierend, auch nett anzuschauen, das
war's dann aber auch schon.
Genauso kommt mir das hier vor, es dient der Befriedigung Deines
Spieltriebs, besitzt keinerlei Nutzwert und ist so unübersichtlich wie
der Kabelverhau, den ich damals produziert hab'.
Has Du denn irgendeinen Mitstreiter, Nachahmer oder auch nur jemand, der
ansatzweise versucht hat zu verstehen, was Du da an Eisenbahschienen und
Kabel zusammenfrickelst?
Was bedeutet dann: "soll kein Retro-Projekt sein", "soll ein moderner
Rechner sein"? Vor allem das "soll", isses nun, oder isses nicht?
Was ist "modern"? Meines Erachtens ist das Ding eine Retro-Bastelei und
modern wär's vor 25 Jahren gewesen. Nur wär' vor 25 Jahren ein frei
verfügbares FPGA, wo in unserer Zeit Dein Gebastel reinpasst, damals ein
außerirdisches Artefakt gewesen.
Wenn Du Spass dran hast, nur zu, wenn der Weg das Ziel ist, dann führ'
auch weiterhin hauptsächlich Selbstgespräche und bastel weiter an Deiner
Eisenbahn, aber versuch' doch bitte nicht den Eindruck zu erwecken, dass
das irgendetwas Anderes als Dein privates Gebastel ist oder wird.
Und da ist's doch völlig wurscht, auf welchem Board das letztendlich
läuft.
MWS schrieb:> ... völlig wurscht, auf welchem Board das letztendlich läuft.
Vielleicht hat ja jemand ein altes S3E-Starter/Nexys2/DE1 und weiss
nicht, was er damit anfangen soll. Je mehr verschiedene Boards es
gibt, umso höher die Chance, dass jemand das System nachbaut.
Tut mir leid, aber deine Website ist ja mal schlimm..
Ist es so kompliziert, alle notwendigen Dateien für ein Board zusammen
in je eine ZIP zu stecken und dabei die Dateiendungen beizubehalten?
Dennis S. schrieb:> @Josef: Biete doch mal einen guten FPGA Kurs an, der würde hier> möglicherweise mehr Interesse finden.
Haha, hast du mal in seinen "VHDL" Code geguckt?
MWS schrieb:> Meines Erachtens ist das Ding eine Retro-Bastelei und> modern wär's vor 25 Jahren gewesen.
Bereits die derzeitige Realisierung hat 512 KByte RAM. Vor 25
Jahren wäre das bei einem 8bit-Rechner nicht möglich gewesen.
Die Kombination von einfacher 8bit-CPU und großem wahlfrei durch
die CPU adressierbarem Speicher gibt es bisher am Markt nicht.
Ausserdem möchte ich behaupten, dass der Befehlssatz der CPU
besser ist als der Befehlssatz der historischen Prozessoren.
Und dann ist da noch der Zeichensatz mit hexadezimalem Ziffernsatz.
Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur
eine Frage der Zeit, das ist sicher. Ich meine, die Ersetzung der als
Ziffern verwendeten Zeichen A..F durch spezielle Ziffernzeichen ist
der jetzt anstehende Schritt. Die Zeichen sind modifizierte Versionen
der bisher verwendeten Zeichen A..F, man muss also nicht umlernen.
Auch dieser Zeichensatz ist alles andere als retro.
Josef G. schrieb:> Bereits die derzeitige Realisierung hat 512 KByte RAM. Vor> 25 Jahren wäre das bei einem 8bit-Rechner nicht möglich gewesen.
Du kapierst es nicht und bastelst weiter an Deiner Eisenbahn.
> Die Kombination von einfacher 8bit-CPU und großem wahlfrei durch> die CPU adressierbarem Speicher gibt es bisher am Markt nicht.
Hat wohl auch niemand darauf gewartet.
> Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur> eine Frage der Zeit, das ist sicher. Ich meine, die Ersetzung der als> Ziffern verwendeten Zeichen A..F durch spezielle Ziffernzeichen ist> der jetzt anstehende Schritt. Die Zeichen sind modifizierte Versionen> der bisher verwendeten Zeichen A..F, man muss also nicht umlernen.
Da bist Du genauso auf dem Holzweg, wie mit Deinem Gebastel.
Ich find' ja Deine Hartnäckigkeit beachtlich, wobei das Ganze den
Eindruck der Zwanghaftigkeit erweckt.
Letztendlich ist das alles nur Dein eigenes Ziel, Deine eigene
Beschäftigungstherapie. Da ist nix Innovatives drin, Du bastelst nach,
was bereits bekannt ist, mit Mitteln, die jetzt verfügbar sind.
Was anderes, als per Definition "Retro" soll das also sein?
Na ja solch trockene Materie verlangt schon eine gewisse Hartnäckigkeit.
@Josef: Welchen konkreten Einsatzzweck hat Dein Computer? Kann es sein
dass Du den völlig aus den Augen verloren hast?
Barnabas schrieb:> Welchen konkreten Einsatzzweck hat Dein Computer?
Er ist zunächst für Hobbyisten gedacht. Wenn viele Hobbyisten
ihn verwenden, wird vielleicht auch einer eine ernsthafte
Anwendung dafür finden. Ich selber weiß derzeit keine.
Josef G. schrieb:> Er ist zunächst für Hobbyisten gedacht. Wenn viele Hobbyisten> ihn verwenden, wird vielleicht auch einer eine ernsthafte> Anwendung dafür finden. Ich selber weiß derzeit keine.
Gerade der von Dir anvisierte "Kundenkreis" interessierter, fähiger
Hobbyisten bastelt doch lieber an eigenen Lösungen. Das macht einfach
mehr Spaß- genauso wie Dir mit Deiner. Alle anderen Leute haben eine
konkrete Anwendung mit erworbener Hardware im Sinn- von der nicht mal Du
eine Vorstellung hast. Und haben kannst. Denn die Mikrocontroller von
heute stellen Dein Projekt locker in den Schatten, hinsichtlich
Leistung, Stromverbrauch, Größe, Preis ... So könnte man es höchstens
als Machbarkeitsstudie bezeichnen. Aber solange Du Deinen Spaß dran hast
hats wenigstens den einen Sinn :-)
Barnabas schrieb:>... bastelt doch lieber an eigenen Lösungen.
Vielleicht hat ja jemand eine altes Exemplar eines
der 4 FPGA-Boards und sucht dafür eine Verwendung.
Josef G. schrieb:> Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur> eine Frage der Zeit, das ist sicher.
Geht das schon wieder los. Junge, du hast nen schweren Realitätsverlust!
Hallo Josef,
zunächst möchte ich meine Hochachtung dafür aussprechen, dass Du solch
ein Projekt überhaupt auf die Beine gestellt hast und auch durchziehst!
Nach kurzem Studium Deiner Quelltexte und Beschreibungen muss ich mich
aber auch dem Vergleich mit der privaten Eisenbahnanlage anschließen.
Leider sind einige Voraussetzungen für ein erfolgreiches
Open-Source-Projekt oder gar eine kommerzielle Nutzbarkeit nicht
erfüllt.
Um eigene Arbeiten aufsetzen zu können, müsste man Deine Quelltexte
grundlegend überarbeiten, da sie schlecht strukturiert sind. Der
CPU-Simulator besitzt nur eine einzige Funktion: main. In selbiger ist
alles enthalten: plain X11, Dateioperation, Simulator, Bedienung. Um
auch nur die Chance auf eine Erweiterung zu haben, muss man eine
vollständige Separation der Funktionalitäten durchführen. Zwar mag das
bisherige Konzept für den derzeitigen Anwendungsfall (minimalistischer
Simulator für händisch gesteuerte Abläufe) ausreichen, aber ein moderner
Simulator sollte auch skriptgesteuert arbeiten, um Regressionstests
durchführen zu können.
Du erhebst selbst den Anspruch, einen modernen Prozessor erschaffen zu
haben. Zwar mag er neu sein, aber leider basierend auf Konzepten der
frühen siebziger Jahre. Um einen wirklich modernen Prozessor zu
entwickeln, sollte nicht die händische Programmierbarkeit in Assembler
im Vordergrund stehen, sondern die Eignung als Zielsystem für Compiler.
Und da muss man auch statistische Untersuchungen betreiben, wie es z.B.
ARM bei der Überarbeitung des Thumb- zum T2-Befehlsatz getan hat.
Ich gehe noch konkret auf ein paar Äußerungen ein.
Josef G. schrieb:> Bereits die derzeitige Realisierung hat 512 KByte RAM. Vor 25> Jahren wäre das bei einem 8bit-Rechner nicht möglich gewesen.
Doch, bereits der HD64180 hatte solche Adressierungsmöglichkeiten,
siehe:
http://en.wikipedia.org/wiki/HD64180
Der Zilog Z800 wurde leider nie als Serienprodukt hergestellt, sondern
nur ein paar Entwicklungmuster. Auch er war ein "aufgebohrter Z80" mit
einigen sehr, sehr interessanten Eigenschaften. Zilog lizensierte später
jedoch den HD64180.
Wenn Du den Anspruch erhebst, Dein Prozessor sei neuartig, musst Du ihn
mit aktuellen Produkten vergleichen und nicht krampfhaft mit Produkten,
deren Konzepte auch schon vor 25 Jahren veraltet waren. Beachte, dass
die achtziger Jahre z.B. auch die 68xxx, ARM, MIPS, SPARC
hervorbrachten!
> Die Kombination von einfacher 8bit-CPU und großem wahlfrei durch> die CPU adressierbarem Speicher gibt es bisher am Markt nicht.
Das ist grundlegend falsch. Du hast Dich offenbar nicht mit hinreichend
vielen Prozessorfamilien vertraut gemacht.
> Ausserdem möchte ich behaupten, dass der Befehlssatz der CPU> besser ist als der Befehlssatz der historischen Prozessoren.
Ein ehemaliger Kollege von mir hat sehr fundierte Studien zur Codedichte
von Befehlssätzen durchgeführt. Der Favorit war hierbei die M16C-Familie
von Mitsubishi/Renesas.
Speicherbänke sind nur eine äußerst üble Krücke, deren Nachteile sich
zeigen, wenn man mit Interrupts arbeitet und es keine "Schattenregister"
o.ä. gibt, in denen eine andere Bankkonfiguration verwendet wird. Wir
sehen ja auch an den frühen PCs, welche Probleme durch
Adressraumerweiterungen verursacht werden, siehe z.B. das ominöse
A20-Gate oder die Konfiguration der DMA-Controller.
Eine Prozessorarchitektur, die hierfür keine wirklich sehr guten
Lösungswege aufweist, ist nicht modern, sondern nur mit sehr viel
Wohlwollen als "retro" zu bezeichnen.
> Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur> eine Frage der Zeit, das ist sicher.
Das mag sein, aber vorher wird sich noch entweder Esperanto oder Volapük
als Weltsprache durchsetzen. Vielleicht besitzt ein Großteil der
Menschheit aber auch ein bislang unentdecktes Gen, welches in Kürze zu
einer weit verbreiteten Tetra- oder Oktodaktylie führt. Dann würden
natürlich die Kinder weltweit gleich mit dem "richtigen" Zahlensystem
beginnen.
Die Einführung des "Neugrades" mit 100° oder 400° pro Vollkreis war ja
auch von durchschlagendem Erfolg gekrönt.
Gruß,
Andreas
Andreas Schweigstill schrieb:> Gruß,> Andreas
Da hast du gerade einen wirklich langen Beitrag vergeudet. Schau dir mal
seine anderen Threads an, in denen es schon im das gleiche Thema ging.
Dann wirst du feststellen, dass du nicht durch seinen Wahrnehmungsfilter
dringen wirst. Alles was nicht in seine Sicht der Realität passt, nimmt
er einfach nicht wahr.
@ Andreas Schweigstill
Danke für die sachliche Argumentation.
> müsste man Deine Quelltexte grundlegend überarbeiten
Die Aussage bezieht sich offenbar vor allem auf das von mir
so genannte Emulationsprogramm. Und da kann ich nur sagen: Bitte
sehr, nur zu. Ich sage auf meiner Website ausdrücklich, dass ich
nicht den Anspruch erhebe, über die Nutzung der C-Quelltexte zu
bestimmen. Wenn jemand das Emulationsprogramm überarbeiten will,
habe ich nichts dagegegen, ich würde es sogar begrüßen.
> Um einen wirklich modernen Prozessor zu entwickeln, sollte nicht> die händische Programmierbarkeit in Assembler im Vordergrund> stehen, sondern die Eignung als Zielsystem für Compiler.
Befehlssätze für 16/32/64-Bit-CPUs sind wohl unvermeidlich so
komplex, dass Assembler-Programmierung nichts für den Alltag ist.
Das gilt nicht für 8bit-CPUs, und für Hobbyisten
ist Assembler-Programmierung das einzig wahre.
> Speicherbänke sind nur eine äußerst üble Krücke, deren> Nachteile sich zeigen, wenn man mit Interrupts arbeitet
Demnach passt das Bank-Konzept der CPU zu der Tatsache, dass
die CPU keine Interrupts hat. Wobei ich zugeben muss, dass die
fehlenden Interrupts vielleicht ein Schwachpunkt der CPU sind.
Die CPU ist ausgelegt für exakt berechenbare Programmlaufzeiten.
Anstelle von Timern verwendet man den CPU-Takt zur Realisierung
vorgegeber Zeitintervalle. Entsprechende Software zu schreiben
ist nur anfangs mühsam und gewöhnungsbedürftig.
Ich habe den Verzicht auf Interrupts selber nicht vollständig
durchdacht. Ich würde mir erhoffen, dass Hobbyisten an dem
System ausprobieren, wie weit man ohne Interrupts kommt.
> Wir sehen ja auch an den frühen PCs, welche Probleme> durch Adressraumerweiterungen verursacht werden
Diese Probleme entstehen, wenn sich bei einer CPU mit
großem linearem Adressraum im nachhinein herausstellt,
dass der Adressraum doch nicht ausreicht. Gerade das
wird bei meiner CPU vermieden, indem die seitenweise
Adressierung von vornherein eingeplant ist.
> Das mag sein, aber vorher wird sich noch entweder> Esperanto oder Volapük als Weltsprache durchsetzen.
Wenn es gelänge, den vorgeschlagenen Zeichensatz zu etablieren,
könnte dies zu einer schleichenden Ausbreitung des Hexadezimal-
systems im Alltag führen. Vielleicht geht dann alles auf
einmal viel schneller als man heute meint.
Josef G. schrieb:> Wenn es gelänge, den vorgeschlagenen Zeichensatz zu etablieren,> könnte dies zu einer schleichenden Ausbreitung des Hexadezimal-> systems im Alltag führen.
Das ist doch hanebüchener Unsinn. Warum sollte man einen Riesenschaden
volkswirtschaftlicher Natur erzeugen, nur um die Kompatibilität der
menschlichen Rechenweise zum Computer zu schaffen? Das Ziel ist, dass
der Rechner dem Menschen dient und nicht umgekehrt.
Wobei es bei Dir bereits umgekehrt ist, Du bist nur noch der Sklave
Deines Albtraums in VHDL, Du dienst bereits der Maschine :D
Du glaubst Visionen zu haben, kannst aber nicht mal über Deinen recht
kleinen Pappkarton, der Dir als Gefängnis dient, hinaus schauen.
Damit meine ich Deine Manie etwas hinterherzuhängen, was keinerlei
Zukunft hat. Nur weil Du bereits einen Riesenaufwand getrieben hast und
nur weil Du es Dir selbst nicht eingestehen kannst und willst, dass
diese Sache ebenso Sinn-, wie Visions-los ist, vermeidest Du es, Dich
oder die Sache selbst zu hinterfragen oder auch nur ansatzweise objektiv
zu betrachten.
Und deswegen wirst Du genauso wie bisher mit Scheuklappen weitermachen
und deswegen wirst Du auch aus jeder Antwort nur das rauslesen was Dir
geeignet erscheint. Ahab, Du bist zu bedauern.
MWS schrieb:> Warum sollte man einen Riesenschaden> volkswirtschaftlicher Natur erzeugen, nur um die Kompatibilität der> menschlichen Rechenweise zum Computer zu schaffen?
Die Sonderstellung des Hexadezimalsystems ist nicht eine Folge der
Tatsache, dass Computer binär rechnen. Sie ist eine mathematische
Tatsache. Es ist umgekehrt so, dass Computer binär rechnen, weil das
Dual/Hexadezimal-System seine mathematische Sonderstellung hat.
Es geht also nicht darum, die menschliche Rechenweise den
Computern anzupassen, sondern der mathematischen
Sonderstellung des Hexadezimalsystems.
Siehe dazu den Link unten auf der Startseite meiner Website.
Josef G. schrieb:> Siehe dazu den Link unten auf der Startseite meiner Website.
Der Link führt zu einem Forum, in dem Du lediglich Deine Wirrungen
weiterverbreitest, mit dem Hinweis auf den wundersamen 8-Bit Rechner.
> Es geht also nicht darum, die menschliche Rechenweise den> Computern anzupassen, sondern der mathematischen Sonderstellung des> Hexadezimalsystems.
Zitat aus dem Thread dort:
> Durch die Prägung auf das Dezimalsystem wird die breite Mehrheit> der Menschen davon abgeschreckt, Computer zu verstehen.
Weiteres Zitat:
> Es ist deshalb schwer vorstellbar, dass Computer jemals in einem> anderen Zahlensystem rechnen werden, auch nicht in tausend Jahren.
Wenn ich mir so anschaue, wie weit Du aus Deiner Pappschachtel raus
sehen kannst, bzw. wie klein die eigentlich ist, so würd' ich solche
Vorhersagen an Deiner Stelle nicht machen. Vorhersagen und Visionen, die
mehr als ein, zwei Monate in die Zukunft gehen, sind dann schon
wagemutig von Dir, von tausend Jahren zu sprechen ist völlige
Selbstüberschätzung :D
Könnte man bitte mit den Beleidigungen und Schmähungen aufhören!
Wenn es zur Sache nichts mehr zu sagen dann schweigt eben.
So was wie
"Du glaubst Visionen zu haben, kannst aber nicht mal über Deinen recht
kleinen Pappkarton, der Dir als Gefängnis dient, hinaus schauen."
und
"Das ist doch hanebüchener Unsinn"
sowie
"Und deswegen wirst Du genauso wie bisher mit Scheuklappen weitermachen
und deswegen wirst Du auch aus jeder Antwort nur das rauslesen was Dir
geeignet erscheint. Ahab, Du bist zu bedauern"
sind reine Beschimpfungen die die ohnehin belastete Diskussion nur noch
weiter vergiften.
MfG,
Fpga Kuechle schrieb:> sind reine Beschimpfungen die die ohnehin belastete Diskussion nur noch> weiter vergiften.
Sind wir hier im Waldorfkinderkarten? Wenn jemand sich hinstellt und
voller Überzeugung und zum wiederholten Male Unsinn von sich gibt, wird
man ihm doch wohl sagen dürfen, dass es ebend Unsinn ist. Das sind keine
Beschimpfungen, das ist einfach nur die Wahrheit, ohne
Weichspühlpädagogikfilter.
Klaus schrieb:> Fpga Kuechle schrieb:>> sind reine Beschimpfungen die die ohnehin belastete Diskussion nur noch>> weiter vergiften.>> Sind wir hier im Waldorfkinderkarten? Wenn jemand sich hinstellt und> voller Überzeugung und zum wiederholten Male Unsinn von sich gibt, wird> man ihm doch wohl sagen dürfen, dass es ebend Unsinn ist. Das sind keine> Beschimpfungen, das ist einfach nur die Wahrheit, ohne> Weichspühlpädagogikfilter.
Wenn jemand sagt das 1 + 1 = 3 ist dann ist das falsch und darauf kann
man ihn hinweisen. Dagegen jemanden als borniert und engstirning
dazustellen wie in:
"Da von Dann wirst du feststellen, dass du nicht durch seinen
Wahrnehmungsfilter
dringen wirst. Alles was nicht in seine Sicht der Realität passt, nimmt
er einfach nicht wahr"
ist keine Richtigstellung oder ein Hinweis sondern einfach nur
Diffamierung und unnötig.
Respektvolle Diskussion hat nix mit Kindergarten zu tun sondern ist eine
ganz normale Umgangsform.
Fpga Kuechle schrieb:> Wenn es zur Sache nichts mehr zu sagen dann schweigt eben.
Dann solltest Du Deinen Ratschlag beherzigen, denn im Gegensatz zu
meinem Post, was sich auf eine Sache bezog, welche der TE ja selbst zur
Diskussion brachte, ist Dein Versuch andere Mitgliedern zu maßregeln,
nicht sachbezogen.
Fpga Kuechle schrieb:> die die ohnehin belastete Diskussion
Entweder der TE redet mit sich selbst oder falls sich ein anderes
Mitglied erbarmt und fundierte Argumente bringt, dann werde
ausschließlich diejenigen Positionen daraus vom TE aufgegriffen, welche
dieser für seine verquere Argumentationskette brauchen kann, alles
andere wird ignoriert.
Was soll denn das noch mit Diskussion zu tun haben?
Wenn man sich mal vorstellt, wie lange es von den allerersten Anfängen
bis zum heutigen Stand der Technik gedauert hat, der TE dagegen glaubt
zu wissen, wie's in 1000 Jahren aussieht, gleichzeitig wie ein
Verbissener an etwas Altem arbeitet und bei der Gelegenheit gleich noch
das Dezimalsystem für obsolet erklärt, weil in seinen Augen hexadezimal
gerechnet werden soll, dann ist's angebracht klar und deutlich zu sagen,
dass dieser Kaiser keine Kleider an hat.
Da muss auch niemand gebauchpinselt werden, denn wenn er seine Sache zur
Diskussion stellt und dann auch noch solche abstrusen Ideen anbringt,
dann sollte er mit der Antwort darauf auch klarkommen können.
Fpga Kuechle schrieb:> Dagegen jemanden als borniert und engstirning> dazustellen wie in:> ist keine Richtigstellung oder ein Hinweis sondern einfach nur> Diffamierung und unnötig.
Das ist keine Diffamierung, sondern eine korrekte Feststellung.
MWS schrieb:> Fpga Kuechle schrieb:>> Wenn es zur Sache nichts mehr zu sagen dann schweigt eben.>> Dann solltest Du Deinen Ratschlag beherzigen, denn im Gegensatz zu> meinem Post, was sich auf eine Sache bezog, welche der TE ja selbst zur> Diskussion brachte, ist Dein Versuch andere Mitgliedern zu maßregeln,> nicht sachbezogen.
Ich kann einfach nicht tatenlos zusehen wie hier auf einen Mitschreiber
rtumgehackt wird. Das hat nichts mit Maßregeln zu tun sondern mit
Gerechtigkeitsempfinden. Vielleicht habt ihr das ja in eurer Schulzeit
so erlebt, wer "Unsinn" sagt ist zum Abschuß freigegeben. Mir ist das
zuwider.
MfG,
Fpga Kuechle schrieb:> Das hat nichts mit Maßregeln zu tun sondern mit> Gerechtigkeitsempfinden.
Du möchtest anderen Diskussionsteilnehmern sagen, wann sie zu schweigen
haben. Das steht Dir nicht zu.
MWS schrieb:> Fpga Kuechle schrieb:>> Das hat nichts mit Maßregeln zu tun sondern mit>> Gerechtigkeitsempfinden.>> Du möchtest anderen Diskussionsteilnehmern sagen, wann sie zu schweigen> haben. Das steht Dir nicht zu.
Jedem steht zu das Unterlassen von öffentlichen Blossstellungen,
Schimpftiraden oder gar Hasspostings einzufordern. Deine Postings in
diesem thread zielen allein auf die de-motivation des threadopeners.
Vielleicht ist Dir das noch nicht bewusst geworden, deshalbe sage ich
das hier in aller Deutlichkeit.
MfG,
Josef G. schrieb:> Beim 6502:> die Abhängigkeit der Dauer eines Verzweigungs-Befehls von der> Frage, ob das Sprungziel im selben 256-Byte-Bereich liegt.
Gibt es dafuer eine Quelle? Ich erinner mich nur, dass bei Befehlen wie
"bne" die Anzahl der Taktzyklen davon abhaengt, ob gesprungen wird oder
nicht.
Fpga Kuechle schrieb:> Jedem steht zu das Unterlassen von öffentlichen Blossstellungen,> Schimpftiraden oder gar Hasspostings einzufordern.
Was schreibst Du denn für einen Unsinn? Und was heißt hier öffentliche
Bloßstellung?
Der TE stellt sich doch selbst bloß, indem er seinen abstrusen Krampf
hier reinstellt, denn das Forum ist öffentlich. Öffentlichkeit ist's
auch, was er selbst sucht, denn sonst könnte er ja auch nicht den
Umstieg der Menschheit vom Dezimal- zum Hex-Sytem propagieren.
Ich weise Dich nochmal darauf hin, dass es bei der Diskussion um ein
legitimes und vom TE eingebrachtes Diskussionsobjekt ging, welches Du
mit Deinem irregeleitetem "Gerechtigkeitsempfinden" gestört hast.
Eigentlich mag ich die Verwendung des Begriffs "Troll" nicht, denn er
wird nur allzugern verwandt, wenn die Argumente ausgegangen sind.
Aber hier trifft's sehr gut auf Dein Verhalten zu, Du störst Die
Diskussion mit dikussionsfremden Argumenten, Du erfüllst alle
Voraussetzungen für einen Troll.
> Deine Postings in> diesem thread zielen allein auf die de-motivation des threadopeners.> Vielleicht ist Dir das noch nicht bewusst geworden, deshalbe sage ich> das hier in aller Deutlichkeit.
Meine Posts zielen darauf ab, das Kind beim Namen zu nennen. Also etwas,
das man in einem technischen Forum erwarten, bzw. voraussetzen kann. Es
ist nicht mein Ziel pädagogisch zu wirken mit einem "brav hat er's
gemacht", wenn das vom TE Gepostete entsprechend kritikwürdig ist.
Ich habe mir den Code auch einmal angeschaut. Der Stil ist faszinierend.
Auch wenn der Code compilierbar ist, heisst es noch lange nicht, dass er
den üblichen Konventionen folgt oder für Andere verständlich ist. So
wird es sehr schwer, Andere zur Mitarbeit zu bewegen.
@ Josef G.
Der Weg ist das Ziel! Wir alle bauen Dinge, die man fast immer auch
billiger kaufen könnte. Aber uns gefällt es, es selbst gebaut zu haben.
Keiner kommt auf die Idee, das die selbtgebaute
Uhr/Wetterstation/Schachspiel ein Verkaufsschlager wird. Es ist dein
Projekt, es hat dir Freude gemacht es zu entwickeln und es hat dich
persönlich weiter gebracht, weil du dabei was gelernt hast. Aber niemand
wird jetzt seine Atmega/ARM/PIC Mikrocontroller damit ersetzen. Und
niemand wird freiwillig zum Hexadezimalsystem wechseln.
Super Ideen ! Dranbleiben.
Bei Zeiten schaue ich mir den jetzigen Stand mal genau an, interessiert
mich !
Eigentlich bin ich auf der Suche nach Ideen für ein KfZ
Beleuchtungssystem auf LED Basis mit einem günstigen Steuergerätekonzept
auf 5V Basis. Ein FPGA Board mit den virtuellen 8Bit Micros könnte ich
mir gut als zentrales STG vorstellen.
Die harte Kritik immer als Anfeuerung verstehen !!! Zeigt ja wunderbar
das wir auf dem Quer- Anders- und über den Tellerand- Denken unterwegs
sind.
Herrlich !!
cu,
Andreas
PS: Aus irgend einem Grund hat die Evolution uns als lokales Optimum mit
fünf Fingern pro Hand ausgerüstet, was bei zwei Händen zehn Finger
ergibt. Was dem zweier- fünfer- und dem Zehner- System Denken schon mal
enorm entgegenkommt. Aber mit dem 16er System habe ich auch Freundschaft
geschlossen als mich die Computerbegeisterung dereinst gepackt hatte.
JustMe schrieb:> PS: Aus irgend einem Grund hat die Evolution uns als lokales Optimum mit> fünf Fingern pro Hand ausgerüstet, was bei zwei Händen zehn Finger> ergibt. Was dem zweier- fünfer- und dem Zehner- System Denken schon mal> enorm entgegenkommt. Aber mit dem 16er System habe ich auch Freundschaft> geschlossen als mich die Computerbegeisterung dereinst gepackt hatte.
... und nicht das Oktal-System vergessen! Kann man auch noch mit 10, äh,
8 Fingern abzählen.
War in den sechziger und siebziger Jahren auch sehr beliebt (DEC PDP-8
inkl. Vorgänger und Nachfolger).
Grüße!
Wie wäre es mit einem System auf der Basis 20? Immerhin entsprecht das
der natürlichen Anzahl der Finger und Zehen. Dazu könnte man den von
Josef entwickelten Zeichensatz erweitern.
Zur Verbesserung des Schriftbildes schlage ich auch einen einheitlichen
Ersatz des Kommas durch ein x vor.
Hier zum Beispiel die Kreiszahl Pi:
Jedes Kind kennt doch das Alphabet und die Zahlen. Also wäre ein System
zur Basis 36 sinnvoller. Das spart Platz und damit Papier und Tinte beim
Schreiben. Und wir lassen das Komma so wie es ist.
Empfehlung: Zum Beschriften der Tastatur verwende man Papierstückchen,
welche mit Tesafilm befestigt werden und so leicht zu entfernen sind.
----------------------------------------------------------------------
Das Vorgehen zum Compilieren des Demo-Programms wird auf der Seite
Emul der Website beschrieben und soll hier nochmal dargestellt werden.
Nach dem Konfigurieren des Boards und Starten der Konfiguration mittels
Tastern gebe man das Kommando 1.DEMO ein (der Punkt im Kommandonamen
steht für einen hier nicht darstellbaren auf der Grundlinie liegenden
Bindestrich). Mit Taste -E wechsle man in die Seite E. Mit den von mir
als upcs und dncs bezeichneten Tasten kann man Text & Cursor auf dem
Bildschirm nach oben und unten verschieben. Man setze mittels Taste BK
die Blockstart-Marke an den Textanfang und die Blockende-Marke an das
Seitenende Zeile ff. Man positioniere den Cursor an den Textanfang und
kehre mit Taste -E in die Seite C zurück. Dann gebe man folgendes ein:
=NEW =PGM +1111
=NEW =EDI +1111
=IN.C +PGM (Punkt: Siehe oben)
=IN.D +EDI (Punkt: Siehe oben)
=MPRO
=ENDM
-PGM
Vorteilhaft ist es, vor =ENDM in der Seite E den Cursor, welcher hinter
dem *RETN steht, eine Zeile weiter nach unten zu verschieben, damit das
Listing nicht die letzte Zeile des Quelltextes überschreibt.
Josef G. schrieb:> (der Punkt im Kommandonamen> steht für einen hier nicht darstellbaren auf der Grundlinie liegenden> Bindestrich)
falls du einen "Unterstrich" meinst...den kann jeder Windows Editor
darstellen, ist über die Tastenkombination "SHIFT und Minus" zu
erreichen
und sieht so aus : _
Gruss Uwe
Uwe B. schrieb:> falls du einen "Unterstrich" meinst...
Den meine ich nicht. Den auf der Grundlinie liegenden
Bindestrich habe ich in meinem Zeichensatz neu eingeführt
gerade um die Notlösung Unterstrich zu ersetzen. Bei meinem
Zeichensatz sind die oberen 128 Zeichen unterstrichene Versionen
der unteren 128 Zeichen. Den Unterstrich gibt es bei mir auch, es
ist das unterstrichene Leerzeichen.
Hi Josef,
ich hab ein Spartan-3A Board und wollte
als "Tester" einspringen
hab dafür eine Stunde eingeplant...
die Stunde ist um, deine CPU läuft auf meinem Board
aber ich komme beim besten willen nicht mit deiner Doku klar
Hier meine Schritte :
1. Die 5 notwendigen Files von deiner Seite runtergeladen
2. Ein neues Projekt in Xilinx-ISE erstellt
3. Ein Bitfile erzeugt
(dafür musste ich im UCF-File die Einträge mit
"BUFFER_TYPE = BUFG" auskommentieren...da gab es bei mir Errors)
(ISE = 13.1)
4. Die Buttons so gedrückt wie beschrieben
=> CPU läuft und VGA-Bild wird angezeigt
5. "versucht" deine Beschreibung durchzugehen
um das "Demo" zum laufen zu kriegen
6. Kapitulation :-(
es gibt keine Doku zum Tastaturlayout
die suche nach dem "Unterstrich" hat mich schon nerven gekostet
...der liegt auf der "Page UP" Taste
und wo bzw. was soll die Taste "-E" sein ?
noch ein Hinweis :
beim normalen tippen werden Großbuchstaben erzeugt
um auf Kleinbuchstaben umzuschalten muss man "STRG" zusätzlich drücken
ich schreib jetzt schon 15 Jahre an PC Tastaturen...aber dieses System
ist mir neu :-)
ich häng ein paar Bilder an und bau das ganze hier wieder ab
ohne "gescheite" Doku wird sich das keiner freiwillig antun ...sorry
Gruss Uwe
Uwe B. schrieb:> es gibt keine Doku zum Tastaturlayout
Das steht doch alles auf der Seite Hawa ganz unten:
Beschriftung der Tastatur. Den auf der Grundlinie
liegenden Bindestrich habe ich dort bi genannt.
Uwe B. schrieb:> und bau das ganze hier wieder ab
Sehr schade, es war doch fast alles geschafft.
Überleg's dir nochmal.
Uwe B. schrieb:> um auf Kleinbuchstaben umzuschalten muss man "STRG" zusätzlich drücken
Zum dauerhaften Negieren der Wirkung der Shift-Taste (STRG)
setzt man den Sh-Modus mittels Taste SM.
Uwe B. schrieb:> die suche nach dem "Unterstrich" ...der liegt auf der "Page UP" Taste
auf der rechten Shift-Taste
Josef G. schrieb:> Überleg's dir nochmal.Bitte
Bei der Eingabe der Operanden im Demo-Programm bitte beachten:
Erster Operand OPA ist signed, Vorzeichen stets angeben.
Zweiter Operand OPB ist unsigned.
Hallo nochmal,
was ich mir überlegt habe ist folgendes...
(jetzt bitte nicht falsch verstehen)
was du suchst sind keine Tester für dein Projekt,
denn das hast du bestimmt schon in aller Ausführlichkeit
selbst getestet
(und wenn du die Hardware vorgibst, sollte es da auch keine Fehler
geben)
sondern du suchst jemand der allein mit deiner Dokumentation
aus den Webseiten dein Projekt "nachvollziehen" und
selbst zum laufen bekommen kann
das deine Arbeit funktioniert wird hier sicher niemand bestreiten,
hab ich ja auch selbst gesehen
aber was bringt es mir wenn ich ein fertiges Projekt bei mir
aufbaue und dann nicht weiß wie ich damit umgehen soll
dazu ist die Doku das "a" und "o" und die ist bei
diesem sehr komplexen Projekt einfach "schlecht"
bzw. von einem außenstehenden nur sehr schwer zu verstehen
das eingeben der paar Zeilen für das Demo
bringt mich da nicht weiter...die würde ich einfach
abschreiben und wüsste immer noch nicht was ich da eigentlich
gemacht habe
also, versuch mehr Zeit in die Dokumentation zu stecken
dann findet sich vielleicht auch jemand der sich damit
weiter beschäftigen will
Gruss Uwe
Hallo Josef,
wie ich bereits geschrieben hatte, lief die Synthese fehlerfrei. Das
Aufspielen auf's Board war auch kein Problem. Ungewohnt ist, das man
drei Tasten zum Starten drücken muß, aber gut.
Aber was gibt man denn nun ein, in Dein System?
Hast Du CP/M schon portiert?
Das was ich auf Deiner Homepage finde sieht alles nach BF [1] aus. Das
muß ich mir wirklich nicht antun.
Viele Grüße
Richard
[1] http://de.wikipedia.org/wiki/Brainf*ck
@ Uwe B. (derexponent)
>ich hab ein Spartan-3A Board und wollte>als "Tester" einspringen
Du bist ein Optimist.
>aber ich komme beim besten willen nicht mit deiner Doku klar
Das ist keine Doku sonderen eine fraktale Chiffrierung.
Ist dir bei Josef noch kein Licht aufgegangen?
Beitrag "wer kann sich noch an den hex-zeichensatz erinnern?"
Josef G. schrieb:Die Struktur de
> Befehlssätze für 16/32/64-Bit-CPUs sind wohl unvermeidlich so> komplex, dass Assembler-Programmierung nichts für den Alltag ist.
Andersrum. Kommerzielle Verwendung bedeutet Programmierung in
Hochsprachen, allenfalls mit sehr geringem Assembler-Anteil. Grund:
höhere Produktivität.
Von der Implementierung her gesehen ist die ursprüngliche ARMv1/2 ISA
ausgesprochen einfach und liesse sich durch eine leichte Modifikation
auch noch weiter vereinfachen (beim dyn shift).
> Das gilt nicht für 8bit-CPUs, und für Hobbyisten> ist Assembler-Programmierung das einzig wahre.
Es ist natürlich Ansichtssache, ob man als Hobbyist den Aufwand in den
reinen Vorgang des Codens stecken will, oder eher ins eigentliche
Problem.
Native ARM Programmierung in Assembler hat übrigens ihren eigenen Reiz,
weil sich mit der bedingten Ausführung und den in den Datenpfad
integrierten Shifts ziemlich gut rumspielen lässt.
> Demnach passt das Bank-Konzept der CPU zu der Tatsache, dass> die CPU keine Interrupts hat.
Banks sind eher für einen Compiler als für Interrupts ein Problem. Für
Interrupts sind das einfach nur zu sichernde Register wie andere auch.
Uwe B. schrieb:> musste ich im UCF-File die Einträge mit "BUFFER_TYPE = BUFG"> auskommentieren ... da gab es bei mir Errors (ISE = 13.1)
Danke für die Information. Habe es geändert.
Richard schrieb:> sieht alles nach BF [1] aus.
Zum Ablauf der Compilation und den dazu erforderlichen Kommandos
ist zu sagen: Solche Abläufe lassen sich automatisieren mit Hilfe
der CX-Datei ("Character-Exe"-Datei, siehe Seite SYS-doku der Website).
Man hätte dann zB. nur ein einziges Steckkarten-Kommando, welches den
gesamten Ablauf steuert und Commandos wie =IN.C +PGM / =IN.D +EDI /
=MPRO ausführen lässt, indem es diese in die CX-Datei schreibt.
Zum Quelltext des Demo-Programms ist zu sagen:
Die Compilersprache des Systems kennt keine arithmetischen Ausdrücke.
Anstelle von Ausdrücken gibt es Folgen von Mikro-Operationen. Dadurch
hat der Programmierer mehr Schreibarbeit, andererseits aber auch die
volle Kontrolle über den tatsächlich ausgeführten Code.
Es ist jedoch folgendes denkbar: Arithmetische Ausdrücke im Quelltext
werden durch ein bestimmtes Sonderzeichen gekennzeichnet. Ein in einer
Steckkarten-Software enthaltener Präprozessor übersetzt die Ausdrücke
in entsprechende Folgen von Mikro-Operationen.
Barnabas schrieb:> Gerade der von Dir anvisierte "Kundenkreis" interessierter, ...> Hobbyisten bastelt doch lieber an eigenen Lösungen.
Die Erweiterbarkeit der Software durch Steckkarten-Kommandos
ist das große Plus des Software-Konzeptes des Systems.
Es wären vor allem Software-Entwickler gefragt.
Josef G. schrieb:> Die Erweiterbarkeit der Software durch Steckkarten-Kommandos> ist das große Plus des Software-Konzeptes des Systems
Ja super! Begeisterungsstürme fegen durchs Land. Was für ein Durchbruch!
Hey Josef, Softwareentwicklung, so faszinierend sie auch sein mag, ist
abgesehen von Forschung/Lehre kein Selbstzweck. Nicht mal Du kannst eine
konkrete Anwendung nennen. Hab so ein bischen das Gefühl Du bist total
im Faszinosum Deiner Bits-und Bytes Kopiereinrichtung gefangen, findest
den Ausgang in die Wirklichkeit nicht mehr. Was bitte anderes als
Strom->Wärme kommt dabei heraus ???
Klaus schrieb:> Weichspühlpädagogikfilter.
Klaus, Klaus, Klaus !
Das ist jetzt aber kompletter sprachlicher Unsinn.
Weichspülpädagogik meinst du. Ein Filter würde dieselbe ja wieder
entfernen.
Dirk schrieb:> Ich fürchte auf die kannst Du lange warten.
Es müssen ja keine Profi-Softwerker sein.
Dennis S. schrieb:> Was für ein Durchbruch!
Wo sonst gibt es diese Erweiterbarkeit? Der Apple2 hatte sie,
aber er hat zur Programmlaufzeit die Kommando-Strings in
Namenslisten suchen müssen. Bei meinem System geschieht
das bei der Compilation.
Dennis S. schrieb:> Was bitte anderes als Strom->Wärme kommt dabei heraus ???
Es soll ja Leute geben, die Computer zum Spielen verwenden,
da kommt auch nichts anderes heraus.
Josef G. schrieb:> Es soll ja Leute geben, die Computer zum Spielen verwenden,> da kommt auch nichts anderes heraus.
Ja und, zählst Du Dich etwa NICHT zu diesen Leuten?
@Falk
Ist doch alles eine Frage der gebotenen Bezahlung für die Beschäftigung
mit seiner Kreation. Die momentan in Aussicht gestellten 150 Euro
dürften von einem reellen Angebot aber noch ziemlich weit entfernt sein
:-)
Josef G. schrieb:> Man setze mittels Taste BK die Blockstart-Marke an den Textanfang> und die Blockende-Marke an das Seitenende Zeile ff.
Wem es zu mühsam ist, auf der Seite SYS-doku im unteren Drittel
im Abschnitt KD-Routinen aus Benutzersicht die Verwendung der
BK-Taste nachzulesen, der kann einfach mit den Cursor-Tasten UP/
DOWN und der BK-Taste so lange herumprobieren, bis es passt.
Noch ein Hinweis: Für Cursor-Bewegung über große Distanz
drücke man die Cursor-Tasten zusammen mit Shift (STRG).
Bert schrieb:> Welchen Sinn hat dieses Gerät?Beitrag "Re: 8bit-Computing mit FPGA"
Ernsthafte Anwendungen wird es vermutlich erst geben, wenn jemand
das Gerät als speziell gefertigte Hardware realisiert, bei welcher die
Steckplätze auch physikalisch Steckplätze sind. Dann kann man Steck-
karten mit spezieller Hardware fertigen, insbesondere IO-Hardware.
Beim Altera DE1 Board reicht das Block-RAM des FPGA nicht, um
die gesamte Software bereits bei der Konfiguration aufzuspielen,
und man muss Software nachträglich per RS232 übertragen.
Auf meiner Website habe ich die Beschreibung des dazu erforder-
lichen Ablaufs verbessert. Ausserdem habe ich den Ablauf zum
Sichern der Software auf SD-Karte vereinfacht. Man muss die
Software dann nicht jedesmal neu vom PC übertragen.
Bert schrieb:> Gibts sowas noch nicht? Computer mit Erweiterungssteckplätzen?
Jeder PC ist ein Computer mit Erweiterungs-Steckplätzen.
Mein System ist aber für einen ganz anderen Zweck gedacht. Es soll
für den Anwender ohne große Vorbildung vollständig verstehbar sein,
und er soll selber Assembler-Programme schreiben können, und
vielleicht auch selber eine Steckkarte basteln können.
Der bereits erwähnte Apple2 war so ein System. Gegenwärtig
ist nach meiner Kenntnis so etwas nicht auf dem Markt.
Oder kennst du ein solches System?
Josef G. schrieb:> Mein System ist aber für einen ganz anderen Zweck gedacht. Es soll> für den Anwender ohne große Vorbildung vollständig verstehbar sein,
Du bist so genial, aber außer Dir versteht es niemand.
Und schon gar nicht ohne verständliche Dokumentaion und ohne Vorbildung.
> und er soll selber Assembler-Programme schreiben können, und> vielleicht auch selber eine Steckkarte basteln können.
Wir Leben im Jahr 2013. Da will man nicht mehr mit Assembler arbeiten
müssen.
Viele Grüße
Richard
Josef G. schrieb:> Bert schrieb:>> Gibts sowas noch nicht? Computer mit Erweiterungssteckplätzen?>> Jeder PC ist ein Computer mit Erweiterungs-Steckplätzen.>> Mein System ist aber für einen ganz anderen Zweck gedacht. Es soll> für den Anwender ohne große Vorbildung vollständig verstehbar sein,> und er soll selber Assembler-Programme schreiben können, und> vielleicht auch selber eine Steckkarte basteln können.
Warum soll der Anwender Assembler-Programme schreiben? Das ist für die
meisten Bereiche einfach nicht mehr zeitgemäß. Warum nicht gleich
Lochkarten?
> Der bereits erwähnte Apple2 war so ein System. Gegenwärtig> ist nach meiner Kenntnis so etwas nicht auf dem Markt.> Oder kennst du ein solches System?
Und warum braucht man so ein System? Es gibt dafür heutzutage Dinge wie
Arduino, Rasperry Pi, usw. die genau die Leute ansprechen die früher
einen Apple II gekauft hätten.
@ Tim . (cpldcpu)
>Warum soll der Anwender Assembler-Programme schreiben? Das ist für die>meisten Bereiche einfach nicht mehr zeitgemäß. Warum nicht gleich>Lochkarten?
Ich stimme für Stiftwalzen aus der Drehorgel!
http://de.wikipedia.org/wiki/Stiftwalze
Wikipedia rulez!!!
>Und warum braucht man so ein System? Es gibt dafür heutzutage Dinge wie>Arduino, Rasperry Pi, usw. die genau die Leute ansprechen die früher>einen Apple II gekauft hätten.
Steve Jobs ist auch schon tot, genauso wie der Apple II! Sorry!
Welcome to the real world, Neo!
Tim . schrieb:> Warum soll der Anwender Assembler-Programme schreiben? Das ist für die> meisten Bereiche einfach nicht mehr zeitgemäß.
Och ist ja albern. Mit Assembler ist es so wie mit der guten alten RS232
Schnittstelle oder auch mit 8-Bit MCUs- das stirbt so schnell nicht aus.
Und wisst ihr warum? Weil das durch Einfachheit überzeugt und an vielen
Stellen nach wie vor bestens und am besten die Anforderungen erfüllt.
Was in C(++) vielleicht mit weniger Codezeilen auskommt erfordert ein
Vielfaches an Lernaufwand- die C(++) Lehrbücher sind mit immer weiter
ausufernder Syntax nicht umsonst so dick! Bei ASM lernt man die paar
Dutzend Anweisungen, studiert das Datenblatt seines bevorzugten 8
Bitters und gut ist. Jedenfalls für allen kleinen Projekte = 90% der
hier im Forum...
Was den Markterfolg von Josefs Maschine anbetrifft, da kann man ja
gelinde gesagt geteilter Meinung sein, aber wo er recht hat hat er
recht.
Moby schrieb:> Tim . schrieb:>> Warum soll der Anwender Assembler-Programme schreiben? Das ist für die>> meisten Bereiche einfach nicht mehr zeitgemäß.>> Och ist ja albern. Mit Assembler ist es so wie mit der guten alten RS232> Schnittstelle oder auch mit 8-Bit MCUs- das stirbt so schnell nicht aus.
"ist für die meisten Bereiche einfach nicht mehr zeitgemäß."
Die Analogie zu RS232 passt gut.
> Vielfaches an Lernaufwand- die C(++) Lehrbücher sind mit immer weiter> ausufernder Syntax nicht umsonst so dick! Bei ASM lernt man die paar> Dutzend Anweisungen, studiert das Datenblatt seines bevorzugten 8> Bitters und gut ist. Jedenfalls für allen kleinen Projekte = 90% der> hier im Forum...
Ja, das mag stimmen. Aber mit dem echten Leben hat "blinky.asm" nicht
viel zu tun. Wenn es um Dinge wie Skalierbarkeit, Wartbarkeit,
zusammenarbeit in großen Teams, Review, Komponentenbasierte Entwicklung
und Entwicklungskosten geht sieht ASM gehacke ziemlich alt aus.
Selbst wenn das nicht der Fall wäre: Wenn es um ein Ausbildungsgerät
geht, muss man auch im Auge behalten was der Markt will. Als Entwickler
wird man es sehr schwer haben einen Job zu finden, wenn sich die
Kenntnisse auf "PIC-Assembler" beschränken.
Du hast vermutlich Recht mit :
Moby schrieb:> Mit Assembler ist es so wie mit der guten alten RS232> Schnittstelle oder auch mit 8-Bit MCUs- das stirbt so schnell nicht aus.
aber nicht wegen diesem Argument :
Moby schrieb:> Bei ASM lernt man die paar> Dutzend Anweisungen,
Die meisten dieser "Anweisungen" sind von der CPU abhängig,
du kannst also mit deinem Wissen von 8Bit AVR CPUs
nicht sofort den Zilog Z80 programmieren
(manche Befehle wird es im AVR geben und im Z80 nicht)
du musst die Befehle also für jede CPU u.U. neu lernen
(siehe die ASM Befehle von Josef.G)
Mit "C" kann man weitestgehened von der CPU unabhängig programmieren
(mit Ausnahme der Register und IO-Zugriffe)
und die Anzahl der Befehle für "Ansi C" hält sich auch in Grenzen
(ich glaube noch was ca. 30 zu wissen und da sind die Typendeklarationen
schon dabei)
Ich glaube z.B. auch das wenn Josef in seiner CPU noch einen Basic
Interpreter eingebaut hätte (und wenn auch nur ein Rudimentärer)
sein ganze Projekt auf mehr "Gegenliebe" gestoßen wäre
eine Art Z80 Spectrum "Basic" in einem FPGA-Board
würde mich mehr reizen als Assembler Befehle neu zu lernen
Gruss Uwe
Zur Rolle der Assembler-Programmierung auf meinem System:
Das System hat eine Compiler-Sprache, der Compiler erzeugt einen
Zwischencode, welcher interpretativ abgearbeitet wird. Die Sprache
stellt Variablen und Kontroll-Strukturen (zB. Schleifen) bereit, und
ruft Routinen auf. Selber enthält sie nur ganz wenige Routinen wie zB.
Incrementieren/Dekrementieren. Der Hauptteil der Routinen liegt auf
den Steckkarten (nCOMMAND), andere liegen im RAM als EXE-Routinen.
Die nCOMMAND und EXE-Routinen werden in Assembler programmiert.
Das ganze ist so gedacht, dass man Anwendungs-Programme in der
Compiler-Sprache schreibt. Wenn der Anwender Routinen braucht,
welche nicht als nCOMMAND auf einer Steckkarte zur Verfügung
stehen, schreibt er sie selber als EXE-Routine.
Nochmal zum Software-Konzept:
Die nCOMMAND und EXE-Routinen können auch aus der Kommandozeile
aufgerufen werden, sofern die in der Kommandozeile eingeschränkte
Möglichkeit zur Variablen-Übergabe ausreicht.
Deine Arbeit in ehren Josef. Aber an deiner projektseite ist nur wenig
wirklich verständlich. Du verwendest deine begriffe tA-halbzyklen und
RP-halbzyklen mit einer selbstverständlichkeit die man als
aussenstehender kaum nachvollziehen kann. Auch finde ich fehlt eine
hierarchische Übersicht, oder ein paar blockdiagramme. Den vhdl
Quellcode hab ich nach dem ich gesehen hab welche kryptischen akronyme
du verwendest besser nicht versucht zu verstehen. Die doku ist sry wenn
ich das sage zu chaotisch als das man dein System auch nur im Ansatz
vollständig verstehen kann. Und bei der doku wirds nicht einfacher. Du
schreibst etwas von vollständigen 8 bit-befehlen und mehreren xyz-
adressregistern und schleifenrückkehrregistern. Du solltest deine doku
grundlegend anders aufziehen. Bis auf das man weiß das du einen 16bit
adressbus verwendest und eine 8bit CPU damit gebaut hast die einen
'speziellen' Zeichensatz für die nibbles 0-9 und a-f verwendet und
ansonsten nichts gemein hat mit dem Standard ASCII ist nicht so wirklich
ersichtlich was das wirklich besondere ist. Irgendein xor mit xlst wenn
bestimmte halbzyklen einer Adresse angesprochen werden .... Sry, man
merkt das DU in deinem Projekt drinsteckst. Aber andere werden sich da
nicht wirklich einfinden können.
Es ist einfach zu unübersichtlich und zu unstrukturiert. So interessant
manche Ideen sein mögen (z.b. Spezielles Register für schleifenzähler
und rücksprungadresse usw). Es muss anders verpackt und verständlich
gemacht werden. Wenn ich von meinen Ideen zur Umsetzung das einfach so
Hin schreiben würde, würde man als aussenstehender auch nichts oder nur
wenig verstehen können. Und das sage ich der das Rad auch gerne mal neu
erfindet und andere Ansätze ausprobiert bzw ausprobieren möchte.
Im übrigen finde ich es nicht schlimm die gefühlte 4635763.te CPU zu
designen. Aber wenn du erwartest das sich da jmd einfinden soll denke
ich musst du grundlegend die doku überarbeiten. Und vllt nicht auf so
Eigenheiten wie den selbstgebauten Zeichensatz zurückgreifen. Wobei
nichtmal wirklich ersichtlich ist warum du da mit 'konventionen'
brichst. Und ich denke dem Anspruch ohne 'viel' einarbeitungszeit die
CPU zu verstehen kannst du bei sovielen 'stilbrüchen' nicht gerecht
werden
Du kannst spaßeshalber ja mal versuchen mein audioprojekt zu verstehen,
wobei das noch weit weg von ner echten CPU ist. Oder ich poste mal meine
aktuellen entwürfe meiner Register-cpu-Idee. Ist alles nicht so komplex,
aber es zeigt die grundlegenden tücken wie man was dokumentiert um es
wirklich vollständig verstehen zu können.
Ansonsten find ich die Idee ja wie gesagt toll. Aber das ding ist
einfach nicht so verständlich. Von vollständig verständlich auch noch
recht weit weg wenn ich mir die doku anschaue.
TheMason schrieb:> und eine 8bit CPU damit gebaut hast die einen 'speziellen'> Zeichensatz für die nibbles 0-9 und a-f verwendet
Die CPU hat doch nichts mit dem Zeichensatz zu tun. ??
In dem Artikel im embedded-projects-Journal 14 Seite 19 finden sich
auf der ersten Seite ausführliche Informationen zur CPU und den in ihr
umgesetzten Ideen (die Bildunterschrift "CPU" unter dem Foto ist Mist.)
Dieser Artikel macht Dein konfuses Projekt nicht besser. Da hast Du nur
davon profitiert dass der Herr dieses Journals händeringend Inhalte
gesucht hat.
Interessier Dich mal zuallererst für Dein Projekt und ob das Ganze einen
praktikablen Sinn ergibt. Denn dann würden die Interessenten von allein
kommen und Du musst sie nicht für 150 Euros organisieren...
@Josef
Ich denke uhu will dasselbe sagen wie ich. Um deine CPU einschätzen oder
annähernd verstehen zu können muss deine doku grundlegend überarbeitet
werden. Zähle bei der doku der CPU doch erstmal die adrressierungsarten
auf, beschreibe genau welche Register es gibt und was sie können. Gehe
dann darauf ein welche befehle es gibt, mit welchen adress-Modi diese
möglich sind. Erkläre die Besonderheiten (z.b. Schleifenzähler), gehe
darauf ein. Erkläre Einschränkungen ggü normalen cpus, z.b. Wenn du
keine interrupts hast, oder keinen stack oder so. Lass die
Timing-Erklärung nen anderes Kapitel füllen als das einleitende Kapitel
der CPU. Gehe genauer auf den addressraum ein und warum es da ne
Umschaltung gibt. Oder z.b. Was es mit IZ0-IZ7 auf sich hat.
Inkrementierst zu Z-Register mit unterschiedlichen werten von 0-7 oder
hast du 8 Z-Register. Erkläre genauer was du mit deinen Registern machen
kannst. Gebe ein sinnvolles blockschaltbild deiner CPU indem die
register und bestimmten andere Dinge in der doku dann auftauchen und
ausführlich erwähnt werden. Achte auf die Formatierung der doku. Diese
doku ist nur ein Fließtext ohne richtige Absätze. Erkläre die
Besonderheiten bzw Features ganz zu Anfang damit sich mögliche
Entwickler oder supporter überhaupt ein Bild der Architektur machen
können. Ich hab nach ner halben std lesen erstmal erfahren das das ne
"normale" akku-Maschine ist. Aber warum p,k,q,r Register und was daran
besonders sind müsste ich mir auch erstmal zusammenraten. Aber genau das
rumgerate will keiner. Schon gar niemand der dich im Prinzip supporten
soll, aber nicht in deiner Gedankenwelt steckt. Wie ich schon sagte :
schau dir mal mein audioprojekt an und sag mir ob du es verstehst und du
es supporten würdest. Ob du alles restlos verstanden hast.
Ich schreib gerade vom meinem Smartphone aus und kann Links irgendwie
nicht richtig einfügen. Such in den Artikeln mal nach Audio-DSP mit
Spartan 3-FPGA.
TheMason schrieb:> Audio-DSP mit Spartan 3-FPGA.
In dem Artikel verstehe ich absolut Null. Ist keine Kritik an dem
Artikel, sondern liegt an meinen fehlenden Vorkenntnissen.
Na endlich bekommt der Josef mal ein Gefühl für technisches
Unverständnis. Ob er nun auch von sich auf die Betrachter seines
Projekts schließen kann???
Audio-DSP mit Spartan 3-FPGA
Naja, auch wenn ich die Hoffnung längst aufgegben habe.
Mal zum Vergleich. Der Picoblaze von Xilinx, der am Anfang mal KCPSM
(Ken Chapman's programable state machine) hieß, DER ist genial. Hat mich
damals vor über 10 Jahren spontan begeistert, war super dokumentiert und
in Null Komman nix ANWENDBAR!!! Damit hab ich u.a. ein kommerzielles
Projekt gemacht, dort liefen ZWEI der Dinger, einer für RX, einer für TX
eines 2 Mbit/s Datenstroms (E1 Telkom Zeugs für Insider). Man musst sich
nicht mit krypischem Murks und aus Anwendersicht unwichigen Details der
Maschine rumschlagen, sondern konnte sich NUR auf die Anwendung
konzentrieren.
Das ist ein Maßstab für gutes Design und Dokumentation!
http://www.xilinx.com/support/documentation/application_notes/xapp213.pdf
Das ist nicht ganz die Originalversion, denn hier heit er schon
Picoblaze, ist aber egal. Die Nachfolger für Sparten3 & Co findet man
hier, wenn gleich das für die Kenner sicher nix Neues ist.
http://www.xilinx.com/ipcenter/processor_central/picoblaze/member/
Josef G. schrieb:> Du hast also Interesse an dem Projekt?
An der Technik ehrlich gesagt nur mäßig. Wenn Du damit vor 40 Jahren
gekommen wärst, wäre es echt innovativ gewesen, aber so...
Nein, Josef, interessant an Deinem Projekt bist eigentlich nur Du:
Du bist ein schlauer Kopf und offensichtlich ein stringenter Arbeiter,
aber mindestens ebenso hervorragend sind deine Defizite:
- ausgeprägt schmaler Horizont
- selbst in Randgebieten zu deinem Fachgebiet von entwaffnender Naivität
(z.B. Deine Betrachtungen über Zahlensysteme... ohne den Hauch von
mathematischem Denken. Du verwechselst Mathematik mit Rechnen.)
- kein Sinn für die Realität
Jedes einzelne Defizit alleine reicht schon, Karrieren zu ruinieren - so
eine Anhäufung ist tödlich.
Dein Feind sind nicht die Motzer und Meckerer, dein Feind bist du
selbst. Nutze die Zeit, die Du mit deinem Projekt verheizst lieber dazu,
Dir ein ordentliches Fundament an Wissen zu verschaffen.
Und tu das nicht für Dich allein im stillen Kämmerlein, sonst verrennst
Du Dich wieder in irgend welchen Schnapsideen und verlierst das Ziel aus
den Augen. Mach eine ordentliche Ausbildung und mach die zu Ende. Das
Zeug dazu hast Du.
Falk Brunner schrieb:> Der Picoblaze von Xilinx ...
... ist für einen ganz anderen Einsatzzweck gemacht
als meine CPU, damit könnte man keinen Computer bauen.
Josef G. schrieb:> ... ist für einen ganz anderen Einsatzzweck gemacht> als meine CPU, damit könnte man keinen Computer bauen.
Wurde auch nicht als "Ersatz" für deine CPU genannt, sondern als
Beispiel für eine hervorragende Dokumentation.
Also: Scheuklappen ab zum Nachdenken
Josef G. schrieb:> ... ist für einen ganz anderen Einsatzzweck gemacht> als meine CPU, damit könnte man keinen Computer bauen.
Kommt also aufs selbe hinaus: Mit dem einen kann man nicht, mit dem
anderen will man nicht.
T.B. schrieb:> und Du musst sie nicht für 150 Euros organisieren...
Ich korrigiere: Jetzt sind schon 200 im Spiel. Aber man sollte ruhig
noch ein wenig abwarten, es ist noch viel Spielraum nach oben :-)
selbst bei 1000 EUR , ich verstehe immer noch nicht den SINN der hinter
dem ganzen steckt
Überschrift : "Tester gesucht für FPGA-Projekt"
was bringt es, wenn eine zweite Person mit einer gegebenen Hardware,
gegebene Software und (wenn auch spärlichen) gegebenen Doku ein schon
getestetes System nochmal testet ?
die zweite Person wird zum gleichen Ergebnis kommen wie schon der
Erbauer :
1. Das System funktioniert
2. Die CPU kann irgendwelche berechnungen durchführen
3. Man kann eine Verbindung zum PC und/oder SD-Karte herstellen
Diese 3 Punkte waren aber auch vorher schon bekannt
Der ganze Test war also Sinnlos
das ganze hätte nur dann Sinn, wenn die Fragen und Probleme die während
dem testen auftauchen nicht in diesem Thread, sondern sofort in der Doku
von dem Projekt z.B. als "FAQ" für alle Dokumentiert werden würden
es sieht mir aber nicht so aus, als das die Doku weiter gepflegt wird
vlt. wäre das Geld besser angelegt bei jemand der die Homepage und die
Doku überarbeiten könnte (für 5 * 200 EUR wäre da bestimmt jemand bereit
dazu)
Uwe B. schrieb:> was bringt es,
Das ganze ist halt eine Werbe-Maßnahme. Es sollen Details
des Systems bekannt gemacht werden und Interesse an dem
System geweckt werden. Ich möchte wenigstens ein oder zwei
Mitstreiter für das Projekt finden. Wobei es sich dabei nicht
notwendigerweise um einen der Tester handeln muss.
Es wird nicht jeder gleich bereit sein, mehrere Seiten trockene
Information auf meiner Website durchzuarbeiten, nur um heraus-
zufinden, um was es überhaupt geht. Man ist eher bereit, einen
lockeren Diskussion-Thread zu verfolgen und dabei die
eingestreuten Informationen aufzunehmen.
TimB schrieb:> T.B. schrieb:>> und Du musst sie nicht für 150 Euros organisieren...>> Ich korrigiere: Jetzt sind schon 200 im Spiel. Aber man sollte ruhig> noch ein wenig abwarten, es ist noch viel Spielraum nach oben :-)
Da wirst du noch lange warten müssen, bis das Angebot den Zeitaufwand
deckt, der notwendig ist, sich durch Doku und Code zu beißen, bis man
die Sache so genau durchschaut, daß man einen aussagefähigen Test auf
die Beine bringt.
Josefs eigene Tests durchlaufen zu lassen, ist völlig sinnlos, denn die
laufen und eine eigene FPGA-Platine damit zu testen, ist ähnlich
witzlos.
Uwe B. schrieb:> SINN
Das kennt Josef nicht.
Josef G. schrieb:> Das ganze ist halt eine Werbe-Maßnahme.
Threads mit soviel negativem Echo?
Mein Gott Walter - äh Josef.
Moby schrieb:> Uwe B. schrieb:>> SINN>> Das kennt Josef nicht.
Das ist auch nicht DAS Kriterium bei Hobby-Projekten und
Grundlagenforschung.
Die Haken an dem Projekt: geringer Spaßfaktor, technologische Sackgasse
und das Neuerfinden des Rades kann nicht wirklich als
Grundlagenforschung durchgehen.
Dazu kommen persönliche Defizite, die geeignet sind, den Spaßfaktor in
einer Zusammenarbeit in kurzer Zeit tief in den negativen Bereich
abgleiten zu lassen.
Das alles ist eben wenig einladend. Schade, denn der Kerl hat Potential
- er muß es nur zu nutzen lernen.
Uhu Uhuhu schrieb:> Das ist auch nicht DAS Kriterium bei Hobby-Projekten und> Grundlagenforschung.
Na ja, in Bezug auf
"Sollte es irgendwann einmal das System zu kaufen geben oder
sich auf andere Weise eine kommerzielle Anwendung ergeben,
würde ich aber mitbestimmen und mitverdienen wollen."
-Zitat Josefs Webseite-
wird man schon zuallererst nach dem Sinn fragen dürfen.
Uhu Uhuhu schrieb:> Schade, denn der Kerl hat Potential> - er muß es nur zu nutzen lernen.
Bestimmt. Aber er hat sich nunmal völlig in dieses Projekt verrannt
und wird mit seiner stoischen Ignoranz auch nicht mehr davon ablassen.
Motto: Auch Kritik ist Interesse und hält den Thread oben...
Was bietet der Herr Josef G. hier eigentlich konkret an? Programmcode?
Anleitungen? Irgend etwas zum Thema Codesammlung? Seine fortwährende
Werbelitanei ist hier wohl reichlich deplaziert...
Auf Sachargumente und Hinweise mag er auch nicht wirklich eingehen, eine
echte Diskussion scheint unmöglich.
Würde jeder hier nur eine Werbeplattform sehen dann könnte das Forum als
solches bald einpacken...
Warum die CPU keine OR-Befehle hat sondern NOR-Befehle
Die ALU-Operationen wurden unter dem Gesichtspunkt ausgewählt, dass es
zu jeder Operation auch die entsprechende Operation mit vertauschten
Operanden geben sollte und diese dieselbe Dauer haben sollte.
Es gibt deshalb ausser der Subtraktion auch die reverse Subtraktion.
Bei den logischen Operationen ist die zu (NOT A) AND (X) symmetrische
Operation A AND (NOT (X)) = NOT ((NOT A) OR (X)) = (NOT A) NOR (X).
Die Operationen in Assembler-Schreibweise:
NG.A bzw. NG.A
ANMX NRMX
Josef, merkst du immer noch nicht, daß es nichts nützt, dein System hier
wie sauer Bier anzupreisen?
Das interessiert keinen, weil niemand in einem Museum arbeiten will, in
dem eine 10 cm Staubschicht alles überdeckt - junge Leute schon gar
nicht.
Versuchs doch mal im Hausblättchen eines Altersheims, vielleicht findest
du dort ja einen Opa, der leuchtende Augen bekommt, wenn er dein Werk
sieht...
Josef G. schrieb:> Die ALU-Operationen wurden unter dem Gesichtspunkt ausgewählt, dass es> zu jeder Operation auch die entsprechende Operation mit vertauschten> Operanden geben sollte und diese dieselbe Dauer haben sollte.
Verstehe ich nicht.
Mal generell: Das CPU-Design richtet sich nach den Anforderungen der
Software, die darauf genutzt wird. Bei kleinen Microcontrollern bedeutet
das häufig Determinierbarkeit und Bitmanipulation. Bei größeren Systemen
ist die effiziente Ausführung von Hochsprache relevant. Das war schon in
den 70ern so.
gustl schrieb:> Verstehe ich nicht.
Der Programmierer muss dann halt nicht darauf achten, welcher
Operand zuerst im Akku stehen muss, das erleichtert ihm die Arbeit.
Josef G. schrieb:> Der Programmierer muss dann halt nicht darauf achten, welcher> Operand zuerst im Akku stehen muss, das erleichtert ihm die Arbeit.
Akku? Ach herje. Das ist zwar ein interessantes Konzept, war aber früher
eher dadurch etabliert, dass man mit der geringen Anzahl an verfügbaren
Transistoren noch kein richtiges Registerfile bauen konnte. Seit Ende
der 70er Jahre besteht dazu keine Notwendigkeit mehr. Außer zu evtl.
Forth ist eine Akkumulatorarchitektur auch zu keine Hochsprache
kompatibel.
Josef G. schrieb:> Der Programmierer muss dann halt nicht darauf achten, welcher> Operand zuerst im Akku stehen muss, das erleichtert ihm die Arbeit.
Das fehlende OR wird dem ASM-Programmierer - der, so er noch nicht
gestorben ist, derzeit seine Rente verkonsumiert - viel mehr wehtun, als
irgend welche Laufzeitprobleme, mit denen man sich vor 30 Jahren auch
nur in ganz extremen Schrottprojekten rumplagen mußte.
Timing-Probleme kann man auch anders lösen, als mit einem Befehlssatz,
bei dem alle Befehle exakt die gleiche Zeit benötigen. Und das deutlich
schneller und müheloser.
Josef G. schrieb:> Beitrag "Re: Iban, die Schreckliche">> Für genau diesen Zweck gibt es bei meinem Zeichensatz die Ziffern mit> Überstrich.
Das ist auch so ein Irrwitz, den die Informatik schon vor 40 Jahren
überwunden hatte: Zeichen und Textauszeichnung sind zweierlei Dinge und
haben nichts miteinander zu tun. Wer das 2013 noch immer in einen Topf
wirft, muß sich wirklich nicht wundern, wenn er nicht für voll genommen
wird.
Hallihallo,
ich habe mir gestern/heute mal Josefs Projekt angesehen und getestet.
Zuerst habe ich mir von seiner Seite unter Downloads die zu meinem Board
(Nexys) passenden Dateien heruntergeladen (Liste unter Hawa zu finden).
Diese sind zwar etwas ungünstig einzeln gezippt und mit einer
.txt-Endung
versehen, nachdem man sie ausgepackt hat lässt sich das allerdings
leicht
durch ein
1
rename 's/.txt//'
beheben.
Nachfolgend sind Punkte in code-Tags durch einen Druck auf die
'bi'-Taste
(PC: Rechte Shift) zu ersetzen.
Flugs ein neues Projekt im ISE WebPack (14.1) angelegt, die von Josef
angegebenen Einstellungen
- Synthesis - XST HDL options -priority_extract = force
- Generate Programming File configuration options -g UnusedPin =
PullUP
getroffen und den Prozess angestossen.
Unterdessen habe ich wie in [01] zu sehen eine PS2-Tastatur
(mit Power/Wake/Sleep) mit Josefs Beschriftungen versehen,
sowie den in Bild [02] zu sehenden SD-Adapter gelötet.
(Im MikroSD-Adapter befindet sich eine 2GB-Speicherkarte der Firma
Transcend)
Das nun fertige Bitfile wurde mit Impact in ein .mcs umgewandelt und in
den
Konfigurations-Flash geschrieben (Richtigen Typ auswählen!)
Nach einem Reset drückt man BTN3, dann 2, dann 1, dann springt der
Monitor an
und das System meldet sich [03].
In Bild [04] ist einmal das FPGA-Board mit SD-Adapter an JC (oben
links),
und an der unteren Kante von links nach rechts VGA, RS232
(improvisiert),
der MiniUSB-Programmierverbindung und dem Tastaturstecker zu sehen.
In [05] wurde das Beispielprogramm über die serielle Verbindung
eingespielt
(alternativ Befehl 1.DEMO), so war klar das die Verbindung funktioniert.
Nach Wechsel auf "Seite E" (Taste '-E') sieht man den Code [06].
Nun Taste 'BK' drücken, mit der Pfeil-Unten-Taste in die letzte Zeile
gehen
(Zähler von 80 bis FF in Systemzeile am unteren Bildrand),
Taste BK erneut drücken (Ergebnis siehe [07]) und wieder ganz nach oben.
Dort angekommen erneut '-E' drücken, man findet sich am Promt wieder.
Hier folgenden Code eingeben (An das Tastaturlayout gewöhnt man sich
schnell)
1
=NEW =PGM +1111
2
=NEW =EDI +1111
3
=IN.C +PGM
4
=IN.D +EDI
5
=MPRO
Kurz auf Seite E wechseln (Taste '-E'), dort den Cursor 2-3 Zeilen
unters
Textende setzen und zurückwechseln.
Mit einem
1
=ENDM
wird der Code kompiliert, das Ergebnis ist auf Seite E zu bewundern.
Mit '-PGM' kann das Programm nun aufgerufen werden, nun kann wie in
Bild [08] und [09] gezeigt gerechnet werden (natülich sedezimal).
Nun besogt man sich eine 1GB oder 2GB SD-Karte,
SICHERT ALLE DATEIEN,
und steckt sie in den SD-Adapter (In meinem Fall besagte 2GB-MikroSD).
Man besorgt sich Josefs sendcard.c-Programm, passt gegebenenfalls den
Schnittstellennamen an, lädt sich card.txt runten, benennt diese in
'cards' um. Einmal
gcc -o sendcard sendcard.c
und schon lässt sich das Programm mit ./sendcard starten (das auch tun).
Einmal am FPGA-Board
1
1.SICARD
eingeben und 'EN'. Jetzt am PC einmal j und enter.
Nach kurzer Zeit meldet der PC, dass er 8000 Byte übertragen hätte.
Am FPGA-Board
1
1.SDS /00
-> Damit ist der SD-Code auf der SD gespeichert.
Nachdem man einmal zum Beweis das FPGA-Board resetted und mit der 3-2-1
wieder
zum Prompt gekommen ist
1
1.SDR /00
2
1.CARD4
einmal BTN0 gefolgt von BTN1 (ein CPU-Reset) und man kann sich mit
1
=WARE
seines Erfolges überzeugen [10].
SD initialisieren (nach jedem Start):
1
4SD.I
SD Löschen (einmalig) LÖSCHT ALLE DATEN AUF DER SD!!
1
4SD.E0
danach BTN3 gedrückt halten und noch mal EN drücken.
Partition Öffen (auch nach jedem Start)
1
4SD.O0 //o - null
Wenn man nun wie oben beschrieben DEMO1 erneut kompiliert, kann man es
mit
1
4SD.S +PGM
abspeichern [11]
Nach einem Board-Reset [12] kann man es zurückholen mit
1
1.SDR /00
2
1.CARD4
dann die CPU-Resetsequenz BTN0->BTN1
1
4SD.I
2
4SD.O0
3
=NEW =PGM +1111
4
4SD.RC +PGM
Bild [14].
Nun kann mit
1
-PGM
das Programm wieder ausgeführt werden [14, 15].
Um Programmnamen zu erfahren kann man mit
1
4SD.D
ein Verzeichnislisting [13] bekommen.
Grüße,
Martin
Und? Hat Dir das Erlebnis Spass gebracht? Würdest Du es wieder tun?
Kannst Du uns Deinen Einblick in mögliche Anwendungen des Systems
schildern? Ist die neue Tastaturbelegung besser als die bestehende und
erweitert um sinnvolle Funktionen, oder ist sie einfach nur anders? Was
sind Deine weiteren Pläne mit dem Aufbau?
Also,
-Spass gemacht?
Ja definitiv, ist für mich immer schön mit andersartigen Rechnern zu
spielen.
Hat mich auch Motiviert mal an meinem eigenen Projekt weiterzubasteln.
Mögliche Anwendungen?
- So auf dem FPGA-Board Spass an der Maschine, jeder LPC800 braucht
weniger Strom
- Mal schön andere Blicke auf Systemdesign zu haben. Man lernt viel
über den Designer.
Tastaturlayout
- Passt zum System, viele Kommandos direkt vertreten.
- Nicht schlechter oder besser, nur anders. Gewöhne mich schnell an
Layouts. ( Deutsch, Englisch , DE auf US, US auf DE, Dvorak nativ,
Dvorak auf DE, Dvorak auf EN, Sun-UNIX, Siemens Terminal (Lustig da kein
Backspace) etc etc..
- Hat halt keine F-Tasten. Ich mag F-Tasten.
- Numpad?!
Weitere Pläne
- Evtl ne CF-Karte dran stricken, dabei im gleichen Zuge MMC mitnehmen
- LEDs blinken lasssen
Grüße, Martin
RLM schrieb:> Und? Hat Dir das Erlebnis Spass gebracht?
nö
RLM schrieb:> Würdest Du es wieder tun?
für 300€ bestimmt
RLM schrieb:> Kannst Du uns Deinen Einblick in mögliche Anwendungen des Systems> schildern?
man kann damit 300€ von nem verrückten bekommen
RLM schrieb:> Ist die neue Tastaturbelegung besser als die bestehende und> erweitert um sinnvolle Funktionen, oder ist sie einfach nur anders?
sie ist einfach nur anders, genau so wie josef
RLM schrieb:> Was> sind Deine weiteren Pläne mit dem Aufbau?
verschrotten oder hoffen das ich damit noch mehr geld von josef bekommen
kann
Martin B. schrieb:> ich habe mir gestern/heute mal Josefs Projekt angesehen und getestet.
Glückwunsch Josef, dass jemand schon für 300€ diesen Testerhumbug
mitmacht! Mal sehen ob das Geld nun wirklich beim so gekauften
Unteressenten ankommt!
Hat doch auch sein Gutes. Josef's Schnappsideen gehen ihm nun richtig
ans Geld. Und wir haben ein wenig Entertainment in der trockenen
Codesammlung. WEITER SO :-)
Hi Josef,
habe die Files "flhs3e.ucf, flhs3e.vhd, ks3e.vhd, cpu.vhd, bram32.vhd"
schön brav heruntergeladen und unter ISE WebPACK 14.6 (läuft auf einem
Windows 7 x64 Rechner) in ein Projekt importiert.
- Syntax Check: verlief ohne Probleme
- Translate: verlief ohne Probleme
- Map: Warnings (siehe angehängtes File)
- Place & Rout: Warnings (siehe angehängtes File)
Weil ich bei meinem derzeitigen FPGA-Wissensstand nur ca. 2% von dem
verstehe, was ich da mache, zögere ich etwas, das Ergebnisfile auf mein
Spartan-3E zu spielen.
Mich schrecken dabei folgende Zeilen von Dir (Quelle: "Hawa"
auf Deiner Website):
>Es sei darauf hingewiesen, dass auf dem Board 5V-Spannungen>auftreten, welche bei fehlerhafter Konfiguration das FPGA>zerstören können. Siehe Xilinx-Dokument UG334.>Man stelle sicher, dass die Takte clk133, clk, vclk, cl0, cl1>über Clock-Leitungen/BUFMUX geroutet werden.>Die Konfiguration greift auf den Parallel-Flash-Speicher zu.>(Jumper J46 darf nicht in Stellung "always enabled" sein.)"
Ist wohl ursprünglich für das Spartan-3A-Board geschrieben.
Betrifft das auch mein S3E-Board?
Muß ich auf meinem Spartan-3E Board irgendetwas an der Default-
Jumperung verändern? Und besteht sonst die Gefahr, das Board zu
"himmeln"? J30 steht auf "JTAG" (d.h. nur die mittlere Brücke
ist gesetzt).
Na ja - und dann fehlt mir derzeit noch eine PS2-Tastatur und
ein VGA-Monitor. Ich hoffe, ich kann beides noch organisieren.
Viele Grüße
Igel1
Andreas S. schrieb:>>Es sei darauf hingewiesen, dass auf dem Board 5V-Spannungen
Im UG230 für das S3E Starter habe ich keine solche Warnung gefunden.
>>Man stelle sicher, dass die Takte
Clock Report anschauen, dort muss stehen BUFMUX
oder BUFG bei clk, vclk, cl0, cl1, dckp_OBUF
> Default-Jumperung verändern?
Auf meinem S3E Starter sehe ich 6 gesetzte Jumper:
JP6, JP7 in der Nähe der 5V-Einspeisung
JP9 in Stellung rechts 3.3V
J11 zwei Jumper nebeneinander gesetzt
J30 der mittlere gesetzt
Hi Josef,
also: Jumper waren bei mir so gesetzt wie bei Dir - das ist schon mal
gut.
>>>Man stelle sicher, dass die Takte>Clock Report anschauen, dort muss stehen BUFMUX>oder BUFG bei clk, vclk, cl0, cl1, dckp_OBUF
Das sind für mich als FPGA-Anfänger noch alles böhmische Dörfer.
Mit Müh und Not habe ich überhaupt den Clock Report gefunden,
kann ihn aber überhaupt nicht bewerten.
Daher meine Bitte:
Bitte schau Du einmal in den Report rein (ist im Anhang meines letzten
Postings enthalten) und bewerte, ob das Ergebnis des enthaltenen
Clock-Reports gut oder schlecht ist (einfach nach "Generating Clock
Report") suchen.
Auch sind im besagten Logfile ein paar Warnings aufgeführt (z.B. im
Abschnitt "Low Level Synthesis") - ich hatte dies im letzten Posting
schon erwähnt. Für mich sind's wiederum "böhmische Dörfer" - Dir könnten
diese Zeilen aber ggf. Hinweise auf mögliche Verbesserungspotentiale
geben.
Sind diese Warnings wichtig für mich oder kann ich sie ignorieren?
Viele Grüße
Igel1
Andreas S. schrieb:> Bitte schau Du einmal in den Report rein
Vorab dies: Ich bin kein Fachmann für ISE, verwende ISE11.1
und kenne mich mit anderen Versionen gar nicht aus.
Informationen über Clocks habe ich in deinem Report an zwei
Stellen gefunden. Die erste Stelle hat die Überschrift Clock-
Information, die zweite Stelle hat die Überschrift Generating
Clock Report. An der zweiten Stelle steht BUFMUX bei cl1, cl0, clk,
dckp_OBUF, in der Zeile mit cl0 steht noch ein zweites BUFMUX, die
Zeile sieht so aus, als hätte da mit dem Ausdrucken etwas nicht
geklappt, vielleicht gehört das zu vclk. An der ersten Stelle
steht nur viermal BUFG, es ist hier aber vclk aufgeführt.
Sieht also so aus, als ob alles passt.
Die Warnungen, die ich in deinem Report sehe, hatte ich auch alle,
die sind ok. Hauptsächlich geht es um Latches, die habe ich aber
absichtlich eingebaut, oder um vermeintlich ungünstige Init-Werte,
die sind aber ebenfalls absichtlich so wie sie sind.
PS: In dem Ausgabe-Fenster, wo oben summary steht,
kann man clock report anklicken.
Hi Josef,
das hört sich dann ja doch gar nicht sooo schlecht an.
Ich habe also den Schritt "Generate Programming File" erfolgreich
durchlaufen und habe somit ein flhtest.bit-File generiert.
Nun starte ich aus dem ISE Project Navigator heraus iMPACT via:
"Configure Target Device > Manage Configuration Project (iMPACT)"
In iMPACT mache ich
- einen "Boundary-Scan" und dann
- ein "File > Initialize Chain".
Tja - und dann kommen leider ein paar Dialoge, bei denen ich verloren
gehe, da ich die Zusammenhänge zwischen FPGA und den unterschiedlichen
Speichern noch nicht verstehe.
Könntest Du mich daher netterweise ab dieser Stelle "durchwinken"
(=Schritt für Schritt beschreiben, was Du in Deiner ISE 11.1 so alles
machst) und mir ggf. sogar das Ergebnis in Form des Chain-Bildchens
zusenden? Meine Chain (siehe Bild im Anhang) ist nur erraten und
sicherlich falsch.
Ich brauche wirklich eine Schritt-für-Schritt Anleitung, wie ich ab dem
Punkt "Initialize Chain" weitermarschieren muß, damit ich die Bits an
die richtige Stelle im FPGA geschubst bekomme.
Ach ja - und noch 'ne Frage:
Wenn ich die Startsequenz drücke "West > Nord > Ost" - Du weißt schon -
kann ich dann auch am LCD-Display erkennen, daß alles halbwegs glatt
gelaufen ist? Ich bin mir derzeit nämlich nicht Sicher, ob der
VGA-Monitor (ist ein LCD-Monitor) die geforderte Tief-Auflösung schafft.
Viele Grüße
Igel1
Andreas S. schrieb:> Könntest Du mich daher netterweise ab dieser Stelle "durchwinken"
Die Klickerei bei Impact ist bei deiner ISE-Version vermutlich anders
als bei mir. Du musst halt, wenn von den drei Devices das FPGA als aktiv
angezeigt wird, irgendetwas bestätigen, und wenn die anderen ausgewählt
sind, irgendwo cancel oder so klicken. Bei mir wird dann irgendwann
keine Klick-Aufforderung mehr angezeigt, ich drücke rechte Maustaste
und wähle im aufgehenden Menü den Punkt Programm. Dann erscheint ein
grünes Feld mit Aufschrift programm succeed, und man ist fertig.
Wenn du den letzten der drei Taster PB_east drückst, muss auf dem
Display eine 8stellige Zahl erscheinen, die letzten vier Stellen
sind e440. Wenn das der Fall ist, funktioniert alles.
PS: Irgendwo wird man nach einem File gefragt,
da muss man flhtest.bit auswählen.
Hi Josef,
bitte schreibe mir möglichst genau, wie der Ablauf in Deinem iMPACT bei
der ISE 11.1 ist - so sehr unterscheiden die sich nicht. (Ich habe
einige alte Versionen ausprobieren müssen, bis mein Board lief ....)
Viele Grüße
Igel1
Wow - mich laust der Affe:
Im zweiten Anlauf scheint's zu funktionieren (keine Ahnung, warum's beim
ersten Mal nicht ging):
Eine lange Zahl erscheint im LCD und auf dem (inzwischen organisierten)
VGA-Monitor erscheint ebenfalls ein blau-gelbes Konsolen-Bild, das ich
mit meiner (inzwischen ebenfalls ausgeliehenen) PS2-Tastatur bearbeiten
kann.
Leider muß ich justamente jetzt in die Heia, aber das Erfolgserlebnis
ist groß! Und dies, obwohl ich mehr oder weniger Null Plan von der
Materie habe.
Hoffentlich komme ich bald dazu, weiterzumachen. Jetzt ist erst einmal
Schlafen angesagt (Deine Doku hatte einen guten Teil der letzten Nacht
verspeist - dieser Teil fehlt mir jetzt ein wenig ...).
Viele Grüße
Igel1
Hi Josef,
Du hast eine eher seltene Tastatur mit Power/Sleep/Wakeup-Tasten
verwendet.
Ich konnte solch einen Dinosaurier nirgendwo auftreiben und habe auf
meiner Tastatur keine Power/Sleep/Wakeup-Tasten.
Watt nu?
Viele Grüße
Igel1
Andreas S. schrieb:> Watt nu?
In der Datei ks3e.vhd gibt es ganz am Anfang in der entity keybd
eine Tabelle, die rechte Hälfte der vorletzten Zeile lautet
,x"31",x"33",x"38",x"3a",x"2c",x"2e",x"77",x"77",
Wenn du die letzten zwei Einträge 77 ersetzt durch 7f, dann liegt
die -E Taste auf der NUM-Taste des Ziffernblocks. Die Tasten
-D und -C brauchst du nicht unbedingt.
Habe mir das Problem nochmal angeschaut und möchte nun allgemein Nutzern
einer PS2-Tastatur ohne power/sleep/wakeup folgendes empfehlen:
Man lege die Tasten -C/-D/-E auf shift.xC/shift.xD/shift.xE, wobei
mit xC/xD/xE die neu beschrifteten Hex-Ziffern gemeint sind. Zu diesem
Zweck nehme man in der erwähnten Tabelle folgende Ersetzungen vor:
In der ersten Zeile steht 6c 6c - man ersetze das zweite 6c durch 7d
In der zweiten Zeile steht 6d 6d - man ersetze das zweite 6d durch 7e
In der ersten Zeile steht 6e 6e - man ersetze das zweite 6e durch 7f
Hi Josef,
das Verlegen von "-E" auf die "NUM"-Taste hat funktioniert.
Ich hatte auch schon ein Auge auf die besagten VHDL-Zeilen
geworfen, war dann aber zu faul gewesen, mich mit Tastatur-
codes & Co herumzuschlagen - Danke daher für die Hilfe.
Ich bin jetzt einen Schritt weiter.
Nun muß ich das Demo-Programm irgendwie kompiliert bekommen
und dafür erst einmal Dein Maschinchen ein bißchen verstehen.
Ist schon eine eigene Welt, die Du Dir da geschaffen hast.
Bin heute leider etwas knapp an Zeit. Vermutlich geht's erst
morgen weiter.
Viele Grüße
Igel1
Hallo Josef,
Danke für den Hinweis mit der Block- und Cursor-Positionierung.
Ohne diesen Tipp wär's schwierig geworden.
So aber habe ich's tatsachlich hinbekommen - Potzblitz
Dein Taschenrechner tickt auch korrekt auf meinem Schirm (wenn man denn
erst einmal verstanden bzw. zufällig gelesen hat, daß bei MUL und DIV
der 2.Operator vor der eigentlichen Rechnung um 1 inkrementiert wird).
Ich kann jetzt also zufrieden in die Heia und werde die nächsten Tage
meinen Bericht und das Bild einstellen.
Viele Grüße
Igel1
>Um einen wirklich modernen Prozessor zu>entwickeln, sollte nicht die händische Programmierbarkeit in Assembler>im Vordergrund stehen, sondern die Eignung als Zielsystem für Compiler.
Nur Marketinggequatsche.
Jeder stinknormale ASM-Befehlssatz (sofern nicht zu kleiner
Adressbereich, und es noch ein paar Indexregister und n Stack gibt) kann
das.
Sicher meint der das ernst mit seiner Selbstüberschätzung. Aus diesem
Traum konnte ihn hier noch keiner reißen. Aber solange sein Business
darin besteht, für sein Hirngespinst Geld aus- statt einzunehmen ist es
ja nicht weiter schlimm :-)
MCUA schrieb:>>Um einen wirklich modernen Prozessor zu>>entwickeln, sollte nicht die händische Programmierbarkeit in Assembler>>im Vordergrund stehen, sondern die Eignung als Zielsystem für Compiler.> Nur Marketinggequatsche.> Jeder stinknormale ASM-Befehlssatz (sofern nicht zu kleiner Adressbereich,> und es noch ein paar Indexregister und n Stack gibt) kann das.
Wer den Thread nur teilweise verfolgt hat, könnte auf die Idee
kommen, das Zitat sei von mir und die Kritik gelte mir.
Deshalb hier die Quelle des Zitats:
Beitrag "Re: 8bit-Computing mit FPGA"
Josef G. schrieb:> könnte auf die Idee> kommen, das Zitat sei von mir und die Kritik gelte mir.
Danke für diese wertvolle Richtigstellung, auf die hier jeder
dringlichst gewartet hat. Josef G. selbst ist natürlich über jede Kritik
erhaben (bzw die würde ja sowieso an ihm abperlen :-)
Also ich muss schon sagen, die Boessartigkeit einiger Poster hier ist
wirklich unuebertroffen.
Ich wuerd ja nix sagen, wenn er (josef) alle Threads zumuellen wuerde,
aber nein, sie muellen ihm den Thraed zu.
Ich finde sein Projekt recht interessant wenn auch ein bischen
kryptisch. Ist aber immer eine Konventionssache.
Und die Protzerei mancher Kritiker ueber ihre irgendwann mal gemachten
"Superprojekte" ist teilweise ja nur mehr peinlich.
Das schlimme dabei ist, dass genau die Protzer fast jeden Thread mit
ihrem Geprotze begluecken.
Leider sind da sehr viele Pseudoprofis unterwegs die die ganze Zeit
ueber zeigen muessen wie professionell sie sind.
Also ein echter Profi liest sich den Thread wahrscheinlich durch, und
hat seine Freude daran.
Aber er muss nicht zeigen dass er besser, toller und was weiss ich was
alles ist.
Es gab ja gottseidank auch konstruktive Kritik aber leider war sehr viel
unter der Guertellinie.
Und das schlimmste ist in einem Forum, wo haupsaechlich Hobbisten
unterwegs sind, immer die Frage "Was bringt es denn?".
Also bitte erklaert mir was es bringt in einem Thread zigmal die Frage
zu stellen "was bringt es denn?".
Jungs, bleibt am Boden und lasst die Leute spielen.
Es tut keinem weh, aber Denunzierung schon.
Gruss!
MCUA schrieb:> Jeder stinknormale ASM-Befehlssatz (sofern nicht zu kleiner> Adressbereich, und es noch ein paar Indexregister und n Stack gibt) kann> das.
Die Turing-Maschine auch. Aber trotzdem würde sie wohl niemand gerne
dafür verwenden. Es gibt als Zielplattform für Compiler sehr wohl besser
und schlechter geeignete Architekturen. Ein hardwareseitig unterstützter
Stack ist freilich kein solches Kriterium.
Walter M. schrieb:> Boessartigkeit einiger Poster
Wohl eher Realismus.
Walter M. schrieb:> Ich finde sein Projekt recht interessant
Warum bist Du noch noch kein "Tester" ?
Walter M. schrieb:> ein echter Profi liest sich den Thread wahrscheinlich durch, und> hat seine Freude daran.
Wendet sich eher mit Kopfschütteln ab und das bringt dem Josef nichts.
Walter M. schrieb:> immer die Frage "Was bringt es denn?"
Muss man schon fragen dürfen wenn geschäftliche Ziele verfolgt werden.
Walter M. schrieb:> lasst die Leute spielen
Das wird hier keiner verhindern wollen oder gar können.
Dein Gutmenschentum in allen Ehren. Das hilft dem Josef aber tausendmal
weniger als alles das was Du "unter der Gürtellinie" bezeichnest.
M.Bär schrieb:> Dein Gutmenschentum in allen Ehren. Das hilft dem Josef aber tausendmal> weniger als alles das was Du "unter der Gürtellinie" bezeichnest.
jaja, mit voller hose ist leicht stinken.
Also ich geh wetten, dass du der erste bist der zur polizei rennt wennst
eine gerechtfertigt aufs maul kriegst.
der jenige der hier gutmensch spielt bist du, weil du willst ihm ja
"helfen".
bei so einer hilfe, da hofft man ja dann, dass einem mal wieder jemand
richtig reinsch....t.
also versuchs mal in deiner direkten umgebung mit deiner hilfe.
schick uns dann aber ein foto (vorher/nachher) von dir.
:P
Walter M. schrieb:> Also ich muss schon sagen, die Boessartigkeit einiger Poster hier ist> wirklich unuebertroffen.
Zustimmung, man sollte hier wirklich nur an der sache diskutieren und
nicht über die leute herziehen. Echt, zuweilen geht es hier ab wie bei
Monty Python. Da sagt einer Jehova und schon fliegen die Steine.
Und einen Computer from the scratch auf einen FPGA hochziehen ist so
oder so eine Leistung die auch unter den ET-Ingenieure nur wenige
vorweisen können.
MFG,
Andreas S. schrieb:> Geht so etwas hier:
Der hat eine andere Pin-Belegung, aber die kann man anpassen im
UCF-File. Und ich habe keine Informationen gefunden, ob Pullup-
Widerstände eingebaut sind. Da müsste man evtl. am MISO-Pin den
Pullup im FPGA aktivieren. Vielleicht liest hier jemand mit, der
etwas dazu weiss. Ob es funktioniert, kann ich nicht garantieren.
Den Adapter von Trioflex gibt es auch bei Trenz. Bei den
Kosten werden wohl die Versandkosten relevant sein.
Zu der Ansicht, dass an MISO ein Pullup erforderlich sei, bin ich durch
Aussagen aus zweiter Hand gelangt, zuletzt hatte ich dies gefunden:
Beitrag "Re: SD-SPI keine Antwort auf CMD0"
Habe jetzt mal auf der Startseite von mikrocontroller.net im Suchfeld
eingegeben sd pullup und viele widersprüchliche Ergebnisse zur
Notwendigkeit oder Nicht-Notwendigkeit von Pullups gefunden.
Ich weiß nicht, was jetzt wirklich stimmt. Der von mir verwendete
Pmod-SD-Adapter von Digilent hat jedenfalls Pullups an allen Pins.
http://www.digilentinc.com/Data/Products/PMOD-SD/PmodSD_sch.pdf
Hi,
der Schaltplan des Original PMOD-SD sieht ja doch arg übersichtlich aus.
Da sind mehr als 28,- EUR (ohne Versandkosten) schon ein stolzer Preis
für so eine chice PMOD-SD Karte.
Spricht etwas dagegen, sich für 2,- EUR einen SD Speicherkarten-Sockel
zu besorgen (z.B. hier:
http://www.pollin.de/shop/dt/Mjc0ODQ1OTk-/Computer_und_Zubehoer/Hardware/Speicherkarten/SD_Speicherkarten_Sockel_ATOM_SD01_AP20324.html)
und den Rest auf einer Lochkartenplatine selbst zu löten?
Widerstände, Lochkartenplatine, Kondensator und doppelte Stiftpolleiste
- fliegt alles bei mir rum.
Ich kapiert nur noch nicht, wie eine 2x6-polige Stiftleiste in eine
1x6-polige Buchse (vermutlich J1?) an mein Spartan 3E Board passen soll?
Oder liegen die SPI-Pins alle auf der oberen oder unteren
Stiftpfostenreihe und man steckt dann nur die obere/untere
Stiftpfostenreihe ins Board?
Viele Grüße
Igel1
Andreas S. schrieb:> vermutlich J1?
Richtig. Belegung ist dieselbe wie hier:
Beitrag "Re: Tester gesucht für FPGA-Projekt"> Oder liegen die SPI-Pins alle auf der oberen
Würdest du den von mir verwendeten Adapter von Digilent verwenden,
müsstest du die obere Stiftreihe anstecken, so steht es auch auf meiner
Webseite (beim S3A-Board). Der Adapter von Trioflex hat, glaube ich,
nur eine Stiftreihe, mit anderer Pin-Reihenfolge. Aber wenn du selber
etwas bastelst, ist das ja ohnehin alles hinfällig.
> Spricht etwas dagegen,
Darüber weiß ich nichts.
> Da sind mehr als 28,- EUR
Sind allerdings auch Kabel dabei.
Zitat:
Uwe B. schrieb:
> um auf Kleinbuchstaben umzuschalten muss man "STRG" zusätzlich drücken
Zum dauerhaften Negieren der Wirkung der Shift-Taste (STRG)
setzt man den Sh-Modus mittels Taste SM.
------------------
Was ist eine SM Taste????? Sado Maso oder was????
pöserpursche schrieb:> Was ist eine SM Taste?????
Die drei Tasten für den von mir so genannten "Zeichenmodus"
habe ich AM, SM, UM (Alt-Mode, Shift-Mode, Unterstrich-Mode)
genannt, siehe Website Seite Hawa ganz unten.
Hallo Josef,
hier also die angekündigte Dokumentation der
Inbetriebnahme Deines 8-bit Rechners:
Nach der Konfiguration meines Spartan 3E FPGA
Boards habe ich den Taschenrechner wie folgt
ans Laufen gebracht:
- Nach dem Laden der Konfiguration leuchtet
LED 2 auf
- Um den 8-bit Computer zu starten werden nun
nacheinander 3 Tasten bedient.
Zunächst Taste "BTN West" auf dem Board drücken:
LED 7 leuchtet auf
- Dann Taste "BTN Nord" drücken:
LED 6 leuchtet auf und ein Pixelmuster
(= VGA-Testbild) erscheint auf dem Monitor
- Dann Taste "BTN Ost" drücken
LED 5 leuchtet auf, kurz darauf auch LED 4
Das LCD zeigt eine längere HEX-Ziffer an.
Der 8-bit Computer startet und die Konsole
(blau/gelb) erweckt zum Leben.
- Eingabe "1.DEMO" über die Tastatur lädt ein
Beispielprogramm in "Seite E" (diese "Seite E"
samt Programm ist zunächst "unsichtbar").
Hinweis: "." in "1.DEMO" steht für einen
Druck auf die rechte "Shift"-Taste [bi].
- Mit der Power-Taste [-E] gelangt man zur "Seite E"
und findet dort das eingeladene Demo-Programm vor.
Wer eine Tastatur ohne Power-Taste [-E] besitzt (das
dürfte die Mehrzahl sein) der paßt den VHDL-Code
gemäß Josef's Hinweisen in diesem Thread an und
kann anschließend z.B. die NUM-Taste als Power-
Tasten-Ersatz verwenden.
- Das angezeigte Programm gilt es nun zu kompilieren.
Dafür zunächst mit der "Win"-Taste [BK] eine horizontale,
gestrichelte Markierungen am obersten (80) und am untersten
Ende (ff) der Seite setzen (scrollen geht über die Pfeiltasten)
und abschließend wieder ganz nach oben scrollen,
um den Cursor auf den ersten Buchstaben der
ersten Zeile zu setzen.
- Jetzt mit der Power-Taste [-E] zurück zur Konsole
und folgende Kommandos eingeben:
1
=NEW =PGM +1111
2
=NEW =EDI +1111
3
=IN.C +PGM
4
=IN.D +EDI
5
=MPRO
Hinweis: "." sind wieder durch ein Druck auf die rechte
Shift - Taste [bi] zu ersetzen.
- Nun nochmals per Power-Taste [-E] in "Seite E"
wechseln und dort den Cursor 1 Zeile unter
die letzte Codezeile setzen.
- Wiederum per Power-Taste [-E] zur Konsole wechseln
und folgende Befehle eingeben
1
=ENDM
2
-PGM
Der erste Befehl kompiliert das Programm in "Seite E"
und erzeugt einen Zwischencode.
Der zweite Befehl startet einen Interpreter, um den
soeben erzeugten Zwischencode auszuführen.
- Wenn alles gut gelaufen ist, erscheint die
Oberfläche eines rudimentären Kommandozeilen-Rechners.
Dort kann man nun wilde HEX-Rechnungen veranstalten:
Dazu Tipps:
Operator mit 03 ... 00 auswählen (2-stellig)
Ersten Operand mit Vorzeichen und 8 HEX-Zeichen eingeben
Zweiten Operand ohne Vorzeichen eingeben (max. 4 HEX-Zeichen)
Hinweis 1:
Bei der Multiplikation und bei der Division
wird der Operator 2 zunächst im Hintergrund
um 1 inkrementiert, bevor die eigentliche
Operation ausgeführt wird.
Hinweis 2:
Bei der Division wird neben dem ganzzahligen
Quotienten auch der Rest angezeigt
Erfahrungen und Gedanken bei der Durchführung:
- Ich mußte viel darüber nachdenken, was im Leben
eigentlich sinnvoll ist und was nicht. Ich glaube
letztendlich muß das jeder für sich entscheiden
und wenn Josef sich entschieden hat, eine 8-bit
CPU zu bauen, die ihm gefällt und er Sinn darin
sieht, so ist das zu akzeptieren.
- Die oft verletzenden Kommentare anonymer User
sind elend. Sie zeugen Kleingeistigkeit und sehr
wenig Toleranz.
Da war selbst der alte Fritz schon weiter:
Jeder soll nach seiner Facon selig (hier: eher
glücklich) werden - und sei es mit einem FPGA-
Rechner.
- Nun aber zur Sache:
Ich gestehe, daß ich mit der Doku echte Probleme
hatte. Ich habe große Teile schlichtweg nicht
verstanden.
Sie ist leider derjenige Part, der mir die größten
Schmerzen bereitet hat.
Hier würde ich an Deiner Stelle, Josef, ein paar
Tage investieren, um alles von Grund auf zu
überarbeiten. Ich weiß: das macht wenig Spaß,
würde Deinem Projekt in der Außensicht aber
sicherlich gut tun. Evtl. solltest Du andere
dokumentieren lassen - Du bist vermutlich zu tief
drin, um Dich noch einmal in Neueinsteiger wie mich
hineinzuversetzen.
Dabei hätte ich wirklich gerne auch einmal selbst
ein Programm für Deine CPU geschrieben. Aber die
Doku - na ja - ich sagte es oben ja schon ...
- Die hier oft geschmähte Tastatur-Umbelegung machte
mir keinerlei Probleme (bis auf das Power-Tasten-
Problem, das Josef inzwischen aber gelöst hat).
- Ansonsten finde ich als absoluter FPGA-Neuling
Josefs Projekt sehr beeindruckend. Ich sehe mich
selbst in weiter Ferne, so etwas selbst auf die
Beine zu bringen.
- Für eine konstruktive Kritik an der CPU-Architektur
und am Gesamtkonzept gibt es sicherlich berufenere
Köpfe.
Viele Grüße
Igel1
Fpga Kuechle schrieb:> so> oder so eine Leistung die auch unter den ET-Ingenieure nur wenige> vorweisen können
Um was gehts hier eigentlich- (offensichlich) nur ums Beeindrucken und
Zurschaustellen oder doch darum, dass hinterher wie permanent suggeriert
ein sinnvolles, nützliches Produkt Anwender findet?
Man kann durchaus viel Energie und Können in einer Sackgasse versenken:
In Josef G.s Werbethreadmeer fand sich bislang NIEMAND, der je von Sinn
und Zweck seiner FPGA-CPU überzeugt worden wäre. Ernsthafte positive
Resonanz (siehe oben) erkauft er sich mit Geldgeschenken. Ist das jetzt
mehr peinlich als lächerlich, mehr dumm oder dreist?
Soll er doch mit seinem Spielzeug spielen. Aber wer (damit) die
Öffentlichkeit sucht muss mit den Reaktionen leben. Allen, selbst
solchen die tatsächlich unter der Gürtellinie sind:
Walter M. schrieb:> eine gerechtfertigt aufs maul kriegst.Walter M. schrieb:> da hofft man ja dann, dass einem mal wieder jemand> richtig reinsch....t.
Soviel hohlköpfige Aggressivität disqualifiziert natürlich für den Titel
"Gutmensch".
Hi "M. Bär",
> @Igel1: Zu einem ehrlichen Bericht hätte gehört, was dafür bezahlt wurde!
Zunächst:
Zu einer ehrlichen Kritik hätte gehört, sich im Forum anzumelden und zu
seinen Äußerungen mit seinem Namen und seiner Person zu stehen.
Sodann:
Bislang habe ich nichts bekommen - ich hoffe jedoch auf Josefs
ausgelobten Betrag von 150,- EUR. Dieser Betrag war sicherlich ein Teil
meiner Motivation, die Tests durchzuführen.
Der andere Teil der Motivation war, daß ich gerne dem einen oder anderen
Schüler die Grundlagen eines Computers zeige (und nein, ich bin kein
Lehrer).
Dafür benutzte ich in der Vergangenheit oftmals "DemoComp":
http://www.randelshofer.ch/fhw/gri/holzi.html und unter genau diesem
Aspekt hatte mich auch Josefs Computer interessiert.
Jetzt kannst Du mir natürlich vorwerfen "wes Brot ich fress, des Lied
ich sing" - stimmt, allerdings singe ich hier kein Loblied auf die
designte CPU und ich weise klar auf die von mir ausgemachten Defizite
(Doku, Doku und nochmals Doku) hin.
Auch hat Josef sein Angebot nicht an eine positive Bewertung gekoppelt
und sogar explizit verweigert meinen Forenbeitrag vorab auf Fehler
gegenzulesen (ich hatte ihn darum gebeten) - er wollte ganz
offensichtlich jegliche inhaltliche Einflußnahme vermeiden.
Von daher sehe ich mich nicht als "gekauften Claqueur". Ich habe
definitiv Respekt und Anerkennung vor und für Josefs Leistung und
bestätige das hier und jetzt in diesem Forum als angemeldeter User unter
meinen Credentials.
Viele Grüße
Igel1
@Igel1,
ich sehe das ganze genauso wie du,
bei einem Hobby soll man nicht nach Sinn oder Unsinn fragen...
es soll Spass machen
aber wenn man sein Hobby mit jemandem anderen teilen möchte,
dann muss man aufeinander zugehen und Fragen, Kritik usw
austauschen um sich so gegenseitig weiterzubringen
ich bin auch an der Doku von Josef gescheitert und habe nicht
das Projekt an sich angeprangert
deine Beschreibung im Post oben, die Schritt für Schritt erklärt
was man, wann (und wie) machen muss, ist 10mal besser
als alles was auf der Homepage zu finden ist
wenn es so eine Beschreibung (für Dummys wie mich) geben würde
(und vlt noch ein ZIP mit allen notwendigen Files, damit man nur ein
Link anklicken muss für sein Board) dann würden sich sicher mehr Leute
finden die das ganze mal ausprobieren...auch ganz ohne Bezahlung
Gruss Uwe
Andreas S. schrieb:> Zu einer ehrlichen Kritik hätte gehört, sich im Forum anzumelden und zu> seinen Äußerungen mit seinem Namen und seiner Person zu stehen.
Unsinn, wenn die Kritik berechtigt ist, kann's egal sein, wer da steht.
Andreas S. kann ja auch in Wirklichkeit Michael M. sein.
Ob Du gekauft wurdest oder nicht, lässt sich ganz einfach feststellen:
Wenn Du die Sache ohne Bezahlung ausprobiert hättest, wärst Du nicht
gekauft, in jedem anderen Fall schon. Dir war erklärtermaßen das Geld
wichtig, also wurdest Du gekauft. Ist doch nicht so kompliziert.
Die ganze Sache ist doch nichts anderes als das manisch gepflegte
Hirngespinst des Josef G., wobei er seinem erklärtem Ziel einen
"einfachen Computer für jedermann" herzustellen so weit entfernt ist,
dass er's in seinem Nebel selbst nicht mehr erfassen kann.
Seine Hartnäckigkeit ist beachtenswert, wird aber dennoch ein Scheitern
der Sache nicht verhindern, da sein Hirngespinst nicht mal das ist, was
es seiner Meinung nach sein soll. Wie sollen dann andere dann den Nutzen
dahinter sehen?
Noch 'ne ganz einfache Regel: ist etwas wirklich interessant, finden
sich von selbst Menschen dafür, die's ausprobieren und benutzen. Dann
müssen nicht erst ein paar Scheine dran gebunden werden, damit das
jemand anfasst.
Übertragen gesprochen hat Josef G. mit hohem Arbeitseinsatz ein
fürchterlich kompliziertes Medikament hergestellt und sucht nun nach der
Krankheit dafür. Die passende Krankheit findet sich nur nicht so recht,
aber wenigstens hat er ein paar bezahlte Testpatienten gehabt, Du warst
einer davon.
MWS schrieb:> Dir war erklärtermaßen das Geld wichtig, also wurdest Du gekauft. Ist> doch nicht so kompliziert.
Ganz so einfach ist es in der richtigen Welt doch nicht: Jeder Gutachter
wird für seine Leistung bezahlt und trotzdem kann man nicht davon
ausgehen, er sei bösen Sinn des Wortes "gekauft", hätte also ein
Gefälligkeitsgutachten abgeliefert.
Allerdings war das, was Andreas S. gemacht hat, lediglich eine
Demonstration, daß man Josefs Werk - wenn auch mit einiger Mühe - so zum
Laufen bekommen kann, wie er es bereitgestellt hat. Ein Test für einen
Prozessor im eigentliche Sinn war das nicht und unter dem Strich kam
auch nur das heraus, was man eh schon weiß.
Aber sich ewig im Kreis zu drehen gehört halt bei manchen Projekten
einfach dazu ;-)
M.Bär schrieb:> Um was gehts hier eigentlich- (offensichlich) nur ums Beeindrucken und> Zurschaustellen oder doch darum, dass hinterher wie permanent suggeriert> ein sinnvolles, nützliches Produkt Anwender findet?
Wei bei 99% der Themen und Projekte hier, mein Lieber
> In Josef G.s Werbethreadmeer fand sich bislang NIEMAND, der je von Sinn> und Zweck seiner FPGA-CPU überzeugt worden wäre.
Wer wie ich an den vordersten Designs im Bereich FPGA mitwirkt, wird
niemals von etwas überzeugt sein, dass ein Bastler baut. Dennoch erlaube
ich mir, meinen Kommentar zurückzuhalten und nicht Leute für ihre
Bastelprojekte zu schimpfen.
Ich verwende absichtlich nicht das Wort kritisieren, denn was hier läuft
ist zu 90% keine Kritik sondern nur Frust ablassen, dass man für eigene
Sachen nicht die Aufmerksamkeit bekommt.
Wenn Dich der thread nicht interessiert, bleib einfach weg!
> Soll er doch mit seinem Spielzeug spielen. Aber wer (damit) die> Öffentlichkeit sucht muss mit den Reaktionen leben. Allen, selbst> solchen die tatsächlich unter der Gürtellinie sind:
Nein, muss man nicht. Man kann erwarten, dass man respektvoll behandlet
wird.
Dieses Projekt ist ja schließlich kein unsinniger Quatsch, sondern nur
unnütze, weil er zu spät kommt. Vor 20 Jahren war das DER Bringer
gewesen.
> Soviel hohlköpfige Aggressivität disqualifiziert natürlich für den Titel> "Gutmensch".
Lies Dir mal die Bedeutung des Begriffes Gutmensch durch und überlege,
od Dein Satz einen logischen Sinn ergibt oder Du nicht etwas ganz
anderes gemeint hast.
Uhu Uhuhu schrieb:> Ganz so einfach ist es in der richtigen Welt doch nicht: Jeder Gutachter> wird für seine Leistung bezahlt und trotzdem kann man nicht davon> ausgehen, er sei bösen Sinn des Wortes "gekauft", hätte also ein> Gefälligkeitsgutachten abgeliefert.
Richtig, für den Sachverständigen trifft das zu, denn a) verdient er
seine Brötchen damit und b) kann ein Gefälligkeitsgutachen mit
Sanktionen enden.
Für die Geschichte hier ist die Zielgruppe weder gewerblich, noch sind
für den Geldnehmer irgendwelche Folgen zu erwarten, falls da was
geschönt wäre.
Allerdings gehe auch ich davon aus, dass die Bastelei von Josef G., so
absurd oder lebensfremd sie heute auch sein mag, prinzipiell im Rahmen
seiner Vorstellung funktioniert. Nur wurde dies, soweit ich erkennen
kann, nie in Frage gestellt und musste demgemäß nie bewiesen werden.
Der Beweis dagegen fehlt, dass dieses Ding eine breitere Masse
interessieren könnte. Im Gegenteil, die doch sehr überschaubare Zahl an
Teilnehmern, die sich's trotz Geldandrohung angetan haben, ist Beweis
dafür, dass es eben keinen so recht interessiert.
> Ein Test für einen> Prozessor im eigentliche Sinn war das nicht und unter dem Strich kam> auch nur das heraus, was man eh schon weiß.
So isses.
Boah!
Kann mal bitte ein Moderator diese ganzen Nörgler-, Miesepeter- und
Neider-Beiträge löschen?!
Haltet euch einfach raus, wenn ihr nichts technisches zum Thema
beitragen wollt / könnt!
Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach
kaputt zu machen!
Ihr seid zum Kotzen!!!
P.S.
Ich fordere Adminrechte für angemeldete User in eigenen Threads.
Thomas schrieb:> Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach> kaputt zu machen!
Der Thread gehört dem Forum und steht zur Diskussion frei.
> Ich fordere Adminrechte für angemeldete User in eigenen Threads.
Dann gäb's hunderte kleiner Diktatoren.
Thomas schrieb:> Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach> kaputt zu machen!
Übersetzt: Ihr habt kein Recht ihn und sein Projekt zu kritisieren, mit
der Wirklichkeit zu konfrontieren und ihn aus seinen Wunschträumen zu
reißen!
Soll er seine Werbetexte doch in irgendeine Textdatei auf seinem PC
schreiben- dort erreicht er genausoviele Interessenten und ist vor
"bösartigen" Reaktionen geschützt.
Mops Fidibus schrieb:> Thomas schrieb:>> Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach>> kaputt zu machen!>>> Übersetzt: Ihr habt kein Recht ihn und sein Projekt zu kritisieren, mit> der Wirklichkeit zu konfrontieren und ihn aus seinen Wunschträumen zu> reißen!
Nein, deine "Übersetzung" ist falsch. Sachkritik ist erwünscht,
Runtermachen von Personen nicht.
Woraus schliessen Sie, das:
- das ein recht gäbe die Personen an sich zu kritisieren?
-das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst"
abzutun?
-man jemand aus seinen Wunschtraum reissen MUSS? Mir wurde mitgegeben,
das man seine Träume leben sollte, resp. versuchen sie zu realisieren?
-das die betreffende Person nur durch Ihre Beiträge (m.E. keine Beiträge
sondern im Kern persönliche Angriffe bis zu Beschimpfungen) mit der
Realität konfrontiert wird?
-das die "Realitätswahrnehmung" mit der Sie geprägt wurden, Real ist
bzw. es wünschenswert wäre die Wahrnehmung zu erhalten und auf andere zu
übertragen?
Persönlich glaube ich, das Sie mit Ihren Projekten eine ernüchternde
Erfahrung gemacht haben und zu Wahrung Ihres Selbstwertgefühls dem
Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle
Versager sind, belastet mich mein eigenes Versagen weniger".
Der Fehler in einer solchen Argumentation ist, anzunehmen, es gäbe sowas
wie "Versagen" oder "Versager".
Hochachtungsvoll,
Was wollt Ihr denn von solchen Trollen denn erwarten, die alleine nichts
im Stande sind irgend ein Projekt von selbst auf die beinen zu stellen.
Das sind die Trolle, die vermutlich von Anderen etwas nehmen und
behaupten dann es wäre ihre Arbeit. Mein Gott müssen die trolle neidisch
sein nichts zu können ausser zu Stänckern und dann noch NULL NULL NUll
Ahnung von ihren geblubere.
Diese beiden Aussagen von ein und der selben Person muss man sich mal
auf der Zunge zergehen lassen. Irgendwie macht sich der Herr Professor
da nicht gerade glaubwürdig.
Prof. Xilinx schrieb:> Woraus schliessen Sie, das:>> - das ein recht gäbe die Personen an sich zu kritisieren?>> -das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst"> abzutun?Prof. Xilinx schrieb:> Persönlich glaube ich, das Sie mit Ihren Projekten eine ernüchternde> Erfahrung gemacht haben und zu Wahrung Ihres Selbstwertgefühls dem> Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle> Versager sind, belastet mich mein eigenes Versagen weniger".
Olga schrieb:> Diese beiden Aussagen von ein und der selben Person muss man sich mal> auf der Zunge zergehen lassen. Irgendwie macht sich der Herr Professor> da nicht gerade glaubwürdig.>>> Prof. Xilinx schrieb:>> Woraus schliessen Sie, das:>>>> - das ein recht gäbe die Personen an sich zu kritisieren?>>>> -das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst">> abzutun?>> Prof. Xilinx schrieb:>> Persönlich glaube ich, das Sie mit Ihren Projekten eine ernüchternde>> Erfahrung gemacht haben und zu Wahrung Ihres Selbstwertgefühls dem>> Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle>> Versager sind, belastet mich mein eigenes Versagen weniger".
Ich kann Ihnen nicht folgen, bitte erläutern Sie Ihre Zweifel an
"Glaubwürdigkeit".
Hochachtungsvoll,
Hi Jungs,
sorry, wenn ich mal kurz die Sinn-Philosophischen Beiträge mit etwas
Irdischem unterbreche:
Ich will mir in den nächsten 2 Stunden einen PMOD-SD-Adapter
zusammenlöten, um ihn an mein Spartan 3E Board zu klemmen.
Hat jemand von Euch eine Idee, wie man anschließend testen kann, ob der
Adapter auch wirklich funktioniert? Sprich: gibt's irgendwelche
Beispiel-Programme, die ich in das FPGA einladen kann, um den Adapter zu
testen?
Sodann noch eine Fragen an Josef:
@Josef:
Ich hoffe, eine 512 MB SD-uralt-Karte tut's genauso?
Oder müssen es 1GByte oder 2GByte SD-Karten sein?
Viele Grüße
Igel1
Andreas S. schrieb:> Ich hoffe, eine 512 MB SD-uralt-Karte tut's genauso?
Ja. Für einen ersten schnellen Test 1.SDR /00 eingeben.
Wenn kein Hänger oder Error-Meldung auftritt ist alles ok.
Hi Josef,
So, SD-Card ist angeschlossen:
Nix löten, nix Pullups, alles nur mit Clips und Jumpwires verdrahtet.
Habe nur Pin 1 ... 6 von J1 auf die entsprechenden Pins des SD Card
Slots geführt.
Und - ich kann's kaum glauben:
"1.SDR /00" hat keinen Hänger fabriziert!
Watt nu?
Bitte sage nicht, ich muß jetzt per Linux (was ich nicht installiert
habe) via RS232 (was mein Laptop nicht hat) eine Datei auf das Board
spielen?!
Viele Grüße
Igel1
Andreas S. schrieb:> Bitte sage nicht, ich muß jetzt per Linux
Anders gehts nicht. Das Programm sendcard für Windows umzuschreiben,
dazu fehlen mir die Kenntnisse. Habe aber bereits bei Unterbreitung
des Angebots zur SD-Karte darauf hingewiesen.
Beitrag "Re: Tester gesucht für FPGA-Projekt"
@ Prof. Xilinx (Gast)
>Nein, deine "Übersetzung" ist falsch. Sachkritik ist erwünscht,>Runtermachen von Personen nicht.
Die gab es reichlich, wurde aber oft als Personenkritik gemünzt.
Indirekt ist sie es ja auch, weil die PERSON sachliche Defizite
aufweist.
>- das ein recht gäbe die Personen an sich zu kritisieren?
Gibt es immer. Und selbst wenn es das nicht geben sollte, wird es getan.
Im gesamten Alltag.
>-das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst">abzutun?
Sachliche Schlußfolgerung nach Analyse der Threads und deren Inhalt.
>-man jemand aus seinen Wunschtraum reissen MUSS?
Muss man nicht. Ist aber unvermeidlich, wenn man sich in einem
öffentlichen Forum einer Diskussion stellt.
> Mir wurde mitgegeben,>das man seine Träume leben sollte, resp. versuchen sie zu realisieren?
Sicher, aber dann bitte nicht dem Rest der Welt diese als Segnung
verkaufen wollen, wenn diese es schlicht nicht sind.
>-das die "Realitätswahrnehmung" mit der Sie geprägt wurden, Real ist>bzw. es wünschenswert wäre die Wahrnehmung zu erhalten und auf andere zu>übertragen?
Jetzt wird's arg philosophisch. Fakt ist
- Josef G. hat ein Mikrorechnersystem erschaffen
- er möchte es einem breiten Publikum zugänglich machen
- das Publikum verweigert sich dem, u.a. wegen der kryptischen Doku
- Josef G. hat sich das "Interesse" der Tester mit Geld erkauft
>Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle>Versager sind, belastet mich mein eigenes Versagen weniger".
Ach herje. Es ist doch "ganz einfach". Bau ein Produkt, das wie eine
Bombe einschlägt. Vorbilder gibt es genügend. Iphone, Arduino etc. DAS
waren Produkte, welche die Massen spontan begeistert haben, vor allem
durch den INTUITIVEN Zugang! Diesem Prblem verschließt sich Josef G.
vehement. Das hat seine Gründe, die jenseits von Logik und Technik
liegen.
>Der Fehler in einer solchen Argumentation ist, anzunehmen, es gäbe sowas>wie "Versagen" oder "Versager".
Der Fehler solcher Argumentation ist, alles schön zu reden und jedem
Regenwurm die göttliche Absolution zu erteilen. Olympischer Gedanke
schön und gut (Dabeisein ist alles), aber das Leben mit der bösen
Realität funktioniert anders, auch wenn das oft unschön ist.
@Josef:
Ufff - das war ein Stückchen Arbeit:
Habe jetzt eine debian-Distribution unter einer VMWARE laufen.
gcc habe ich nachinstalliert und Dein "sendcard.c"
kompiliert - ohne Probleme.
Leider hat sich das Programm dann zunächst mit einem Segmentation Fault
verabschiedet - ohne einen weiteren Mucks zu sagen.
Nach einem Blick in den Quellcode habe ich dann geschnackelt, daß man
die Datei "cards" zwingend benötigt, sonst öffnet sendcard eine Datei,
die es nicht gibt und stürzt dann halt ab.
Evtl. möchtest Du Dein Programm an dieser Stelle etwas "idiotensicherer"
machen, damit man zumindest einen Hinweis erhält, was da gerade schief
läuft.
Kaum war Deine Datei "card.txt" in "cards" umbenannt, da kam ich bis zu
der ersehnten Abfrage "start ?".
So - nun wartet die nächste Herausforderung: wie bekomme ich aus meinem
Compi ohne serielle Schnittstelle die Daten via RS232 in mein Spartan 3E
gepumpt ...
Immerhin habe ich einen mySmartUSB MK2-Adapter, mit dem ich zumindest
unter Windows schon serielle Kommunikation gemacht habe:
http://shop.myavr.de/Programmer%20und%20Bridges/mySmartUSB%20MK2%20%28Programmer%20und%20Bridge%29.htm?sp=article.sp.php&artID=42
Bleibt zu hoffen, daß ich das Tierchen jetzt auch unter Linux ans
Fliegen bekomme.
Gruß
Igel1
Hallo Josef,
heureka - es funktioniert:
Ich habe dann doch noch einen Computer mit serieller Schnittstelle
auftreiben können und konnte nach dem Einspielen des Codes "card"
tatsächlich meine 512 MB SD-Card ansteuern.
Die SD-Card ist - wie auf dem letzten Bild ersichtlich - übrigens ohne
jegliche Pullup-Widerstände in einem mehr als fliegenden Aufbau an das
Board angeschlossen - funktioniert trotzdem und ich habe >30 EUR
gespart.
Anschließend habe ich die von Dir beschriebenen Prozeduren durchgeführt:
Beitrag "Re: Tester gesucht für FPGA-Projekt"
Hat alles gut geklappt.
Der spannendste Moment war natürlich der Moment nach dem kompletten
Reset des Boards: Würde sich das Rechen-Programm tatsächlich auf der
SD-Card befinden und wieder einlesen lassen? Jawohl, das tat es - die
Bilder zeigen den Vorgang.
Detailliert möchte ich die Schritte nicht mehr beschreiben - ich würde
mehr oder weniger die Beiträge aus den einzelnen Threads hier nochmals
wiederholen. Sollte das trotzdem gewünscht sein, so laß es mich wissen.
Manöverkritik:
Es gilt das bereits in meinem ersten Teil Gesagte: die Doku solltest Du
runderneuern - sie verleidet einem wirklich den Spaß.
Ansonsten: wirklich erstaunlich, daß Du ganz offensichtlich eine voll
funktionierende CPU samt Mini-Betriebssystem von Null an auf die Beine
gestellt hat.
Viele Grüße
Igel1
Josef G. schrieb:> Andreas S. schrieb:>> die Bilder zeigen den Vorgang.> Schön, dass die Schrift lesbar ist.
Ja - und leider ist mein ziemlich unaufgeräumter Schreibtisch genauso
gut sichtbar ...
Viele Grüße
Igel1
Habe die Konfiguration für das Spartan-3A Starter Kit geändert. Der
133MHz-Oszillator wird nun nicht mehr verwendet. Die Konfiguration
sollte nun auch auf dem älteren Revision-C Board funktionieren.
Dies wurde aber noch nicht getestet.
Josef G. schrieb:> Positive Eigenschaften der historischen 8bit-Heimcomputer sind:> Man kann sie auch ohne langes Studium vollständig verstehen.
Hm, leider scheint sich Josef diese Eigenschaften nicht zum Vorbild
genommen zu haben. Prinzipiell bin ich schon an der Thematik
interessiert aber von einfachem Verständnis kann hier keine Rede sein.
Weltbester FPGA-Pongo schrieb im Beitrag #3307028:
> M.Bär schrieb:>> Um was gehts hier eigentlich- (offensichlich) nur ums Beeindrucken und>> Zurschaustellen oder doch darum, dass hinterher wie permanent suggeriert>> ein sinnvolles, nützliches Produkt Anwender findet?> Wei bei 99% der Themen und Projekte hier, mein Lieber
Du meine Güte. Wie einfältig. Sicher gehört der Josef in diese
Kategorie, ansonsten gibt es aber viel mehr Motive, hier eine
Entwicklung/ein Projekt zu veröffentlichen! Sei es um qualifizierte
(Fehler-)Rückmeldungen und Anregungen aller Art zu erhalten, sei es um
dem Forum, von dem man anderweitig profitiert, etwas zurückzugeben.
Davon abgesehen ist es natürlich immer ein gutes Gefühl, wenn das eigene
Produkt auch für andere Sinn macht. Der lässt sich allerdings weder
er-werben noch erkaufen.
Habe die Konfiguration der vier FPGA-Boards geändert.
Die Start-Prozedur nach dem Konfigurieren erfordert nun nur
noch das Drücken eines einzigen Tasters (CPU-Reset aufheben).
Man kann nun (selbstgebaute) Zusatzhardware anschließen. Diese
fungiert als Teil der Steckkarte in Slot7. Schnittstelle siehe
Seite Hawa der Projekt-Website ganz unten. Die Steckkarte ent-
spricht damit weitgehend dem letztlich angestrebten Konzept,
mit dem Haupt-Unterschied, dass die zugehörige Software nicht
auf der Karten-Hardware liegt, sondern auf dem FPGA-Board.