Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Z1013 auf FPGA - weiter gehts » Themenansicht

Autor Thread - Seiten: -1-
000
22.02.2013, 00:52 Uhr
ad fontes



Inzwischen siehts so aus:



-Als Moni wurde jetzt der riesa 2.02 gewählt
-das Bild ist auf VGA zentriert
-die doppelte Spalte links ist korrigiert -dafür fehlt Nummer 32 am linken Rand
-der Moni hat Akne (xEC statt 0x20)

Laut Simulationen wird der Bildwiederholspeicher erst mit den "Pickel" gefühlt und sollte dann aber ordentlich mit 0x20 (space) gelöscht werden. Eventuell klemmt die CPU in einer IRQ-routine?

Unter der Haube sind erste Anpassungen für eine PC-Tastatur zu finden. Einfacher wäre sicher eine Anpassung des Monitorprogramms an eine PS/2 Tastatur (8? bit Scancode bei Drücken und loslassen der Taste(n)) aber für einen Softwarekompatible Hardware folgt jetzt ein interne Nachbildung der 4x8 Matrix (kleine (dual-port) ram-matrix 8x4bit.Vorher wird die PIO nachgestellt.

MfG,

Dieser Beitrag wurde am 22.02.2013 um 00:58 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
18.03.2013, 22:17 Uhr
ad fontes



Es werden Fortschritte sichtbar:



Wie zu sehen ist das Problem der fehlenden/doppelten Spalten/Zeilen gelöst. Auch die "Masern" sind weg. Letztere rühren daraus, das der Bildspeicher auf writeonly für die CPU gesetzt war, das Monitorprogramm aber zum Leeren des Monitors Daten aus dem Bildspeicher in den Bildspeicher kopierte.

Tastatureingaben funktionieren inzwischen lt. Simulation weitgehend, es kann also nicht mehr lang dauern, bis der erste Hexdump des Monitors über den Schirm flimmert.

Die Tastaturumsetzung ist mit Einschränkungen konzipiert:
-S1, S2 und S3 werden umgesetzt S4 (noch) nicht.
-Es kann höchstens eine Taste (plus ggf. S1 oder S2 oder S3) gedrückt sein.

Die Simulation offenbarte einige neue Erkenntnisse:
-Die PIO arbeitet im Einzelbitbetrieb, und wird von der Tastatur "gepollt", keine Nutzung eines Interrupts.

Weitere Beschreibung und Quelltexte wie immer da:
http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA

MfG,

Dieser Beitrag wurde am 18.03.2013 um 22:18 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
22.03.2013, 20:02 Uhr
waldheinz



Respekt, das ist wirklich großartig. Ich hatte mal angefangen, einen MPC auf FPGA nach zu bauen. Aber das war ehrlich gesagt bissel viel auf einmal. Die VHDL Kenntnisse aus der Uni doch arg eingerostet, und von der nach zu bauenden Maschine auch wenig bis keine Ahnung. :-) Bin dann erst mal auf ne Software-Emulation umgeschwenkt. Aber werde am WE sicher Dein Projekt mal genauestens anschauen, das wird ein Spass! :-)

Viel Erfolg weiterhin,
-Matthias
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
23.03.2013, 08:33 Uhr
ad fontes




Zitat:
waldheinz schrieb
Respekt, das ist wirklich großartig. Ich hatte mal angefangen, einen MPC auf FPGA nach zu bauen. Aber das war ehrlich gesagt bissel viel auf einmal. Die VHDL Kenntnisse aus der Uni doch arg eingerostet, und von der nach zu bauenden Maschine auch wenig bis keine Ahnung. :-) Bin dann erst mal auf ne Software-Emulation umgeschwenkt. Aber werde am WE sicher Dein Projekt mal genauestens anschauen, das wird ein Spass! :-)

Viel Erfolg weiterhin,
-Matthias

Danke, danke. Ich hoffe das Project/Sourcen/Beschreibung ist erhellend und inspierend. Source Code auf dem Server ist aktuell. ROM-Files auf dem server sind ohne ROM-Image; wie man selbst ROM-Images zu VHDL konvertiert ist aber im Artikel beschrieben (Derzeit Handarbeit, vielleicht mag jemand ein kleines script/programm dafür schreiben).

Übers Wochenende werd ich beschreiben wie man (*.z80) -Programme zu "RAM konvertiert" und schauen wie ich die SHIFT-Taste der PC-Tastatur umsetze.

Ach ja, gestern abend wurde mit Tiny-Basic das erste Programm gestartet und es läuft :-) . PC-Tastatur funktioniert seit Donnerstag abend weitgehend.

Schönes Wochenend,
Volker
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
24.03.2013, 16:59 Uhr
funkheld



Hallo, guten Tag.
Ist ja sehr interessant.

Kannst du bitte mal deine Platinen und alles hier zeigen ?
Aus was besteht das ganze , damit man Text eingeben kann und den Monitor anschliessen kann ?

Danke.

Gruss
peter

Dieser Beitrag wurde am 24.03.2013 um 16:59 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
24.03.2013, 22:18 Uhr
ad fontes




Zitat:
funkheld schrieb
Kannst du bitte mal deine Platinen und alles hier zeigen ?
Aus was besteht das ganze , damit man Text eingeben kann und den Monitor anschliessen kann ?

Hallo Peter,

ich verwende ein "handelsübliche" FPGA-Testboard und zwar das Xilinx Spartan3 Starterkit, das ich vor ca. 6-7 Jahren bei Segor electronics in Berlin erwarb.
Beschreibung (Manual/Schaltplan/Beispiele) hier:

http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD

Gebraucht kostet sowas um 80 -100 €, aber es lohnt sich naue neueren Boards (Spartan-3E, Spartan3AN, Spartan-6) zu schauen, die haben den auch FLASH-Chips mit denen sich eine Diskette nachahmen lässt und 8 bit VGA.
Persönlich liebäugle ich mit einem China-Altera Board für weitere Versuche:

[url]http://www.ebay.de/itm/Neu-Altera-Cyclone-NIOS-II-FPGA-Development-Board-EP2C8Q208-mit-LCD1602-/111024643371?pt=Wissenschaftliche_Ger%C3%A4te&hash=item19d9959d2b [/url]

Von dem Board nutze ich den VGA-Anschluß, die PS2 Tastaturbuchse und den FPGA. Für einen Z1013.16 ist das genug, aber schon für den KC 85 muß man neben dem FPGA einige hundert kbyte externen Speicher (SRAM ist am einfachsten ansteuerbar) . Für die Monitoransteuerung genügen hier 3 FPGA-Pins mit Widerständen (sind schon passend auf dem Board) und 2 weitere Pins für den Hor. und verticalen Sync. Damit sind 8 Farben darstellbar, für mehr brauchst ein paar Pins + widerstände mehr. Auch der PS2-Anschluß sind im wesentlichen widerstände und zwei FPGA-Pins.

Foto vom Board + Anschlüße:
http://www.mikrocontroller.net/articles/Datei:FirstSignOfLife.jpg

Foto aktueller Stand (Tiny-Basic, Monitorprogramm, Tastatur):
http://www.mikrocontroller.net/articles/Datei:TinyDUMP.JPG

Foto Board + genutzte Hauptkomponenten:
http://www.mikrocontroller.net/articles/Datei:20130218_Starterkit_oben0001_kmark_txt.jpg


Ein bißchen mehr zum Board habe ich dort hinterlassen:
http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA

MfG,
Volker

Dieser Beitrag wurde am 24.03.2013 um 22:19 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
25.03.2013, 15:30 Uhr
funkheld



Das sieht ja gut aus , was du schon erreicht hast.
Das würde ich nicht schaffen.

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
30.03.2013, 19:07 Uhr
Micha

Avatar von Micha

ich hab mal spontan die Anregung in 005 aufgegriffen und mir so ein Testboard mit Altera FPGA auf ebay gekauft. Lieferung erfolgte sehr flott, über den Preis kann man nicht meckern, die Hardware macht einen guten Eindruck.

Die beiden Datenträger: Software, Doku sind allerdings selbstgebrannte Scheiben. Wär ja auch nicht weiter schlimm. Ein Freund hatte mir allerdings mal eindringlich geraten, Datenträger vom China-Versand vor irgendwelchen Installierereien unbedingt auf Viren & Co. zu untersuchen. Hab ich dann auch prompt gemacht (Avira), mit folgendem Ergebnis:

Quellcode:
Beginne mit der Suche in 'D:\' <manual>
D:\FPGA EP2C8Q208\Development tools\Crack\Crack_DSP_Builder_90.rar
  [0] Archivtyp: RAR
  --> DSP_Builder_9.0破解器.exe
      [FUND]      Ist das Trojanische Pferd TR/Xema.FQ
D:\FPGA EP2C8Q208\Development tools\Crack\Crack_DSP_Builder_90_SP1.rar
  [0] Archivtyp: RAR
  --> DSP_Builder_9.0_SP1破解器.exe
      [FUND]      Ist das Trojanische Pferd TR/Xema.FQ
D:\FPGA EP2C8Q208\Development tools\Crack\Crack_ModelSim_SE_6.3d.rar
  [0] Archivtyp: RAR
  --> Crack_ModelSim_SE_6.3d\MentorKG.exe
      [FUND]      Enthält Erkennungsmuster des Wurmes WORM/Guap.bo
D:\FPGA EP2C8Q208\Development tools\Crack\Crack_ModelSim_SE_6.4a.rar
  [0] Archivtyp: RAR
  --> Crack\MentorKG.exe
      [FUND]      Enthält Erkennungsmuster des Wurmes WORM/Guap.br
D:\FPGA EP2C8Q208\Development tools\Crack\Crack_QII90.rar
  [0] Archivtyp: RAR
  --> Quartus_II_9.0破解器.exe
      [FUND]      Ist das Trojanische Pferd TR/Gendal.41472.BO
D:\FPGA EP2C8Q208\Development tools\Crack\Crack_QII90_SP2.rar
  [0] Archivtyp: RAR
  --> Quartus_II_9.0_SP2破解器.exe
      [FUND]      Ist das Trojanische Pferd TR/Spy.45056.622

ad fontes: bitte nicht krumm nehmen wenn ich hier in deinem Thread etwas off-topic schreibe. Dachte nur das wär eine Warnung wert.
Eventuell sind die meisten Inhalte der beiden CDs ja sauber, ich hab noch nicht raus ob jenes Zeugs automatisch vom Setup installiert wird. Natürlich hänge ich da gerade in einem Konflikt - ich möchte das Testboard gern ausprobieren. Der einzige Weg den ich derzeit sehe ist, ein Windows XP in einer virtuellen Box mit dem Zeugs zu installieren - gute Idee oder Sch****-Idee?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
31.03.2013, 10:58 Uhr
ad fontes



Dem Pfadnamen nach ist auf den CDs eine Kopie der FPGA-Entwicklungstools von Altera resp Mentor (modelsim). Von der Altera-Website kannst du dergleichen kostenlos runterladen. Einige Spezialtools werden wohl nicht in der kostenlos Variante dabei ein und einige High_End FPGA#s werden mglw. nicht unterstützt, aber für dein Board dürfte es ausreichen. Es kann also gut sein, das die CD's zu nichts anderen brauchst als eine den Kaffee/Tee draufzustellen.

Auch bei den Programmiertools würde ich erst mal mit den Standardtools von Altera versuchen und die CD's nicht anfassen. Meist ist die FPGA-Standard Programmierschnittstelle rausgeführt, damit kommt dann auch ein normaler (JTAG/Byteblaster) Programmierer zurecht.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
01.04.2013, 15:14 Uhr
ad fontes





An der PS/2 Tastatur kann der Clone jetzt auch die per gedrückten SHIFT-Taste erkennen und wie auf der Z1013 Tastatur nachstellen. Damit sind Kleinbuchstaben eingebbar, ebenso "=" ">" etc. und damit dürfte der volle BASIC-Syntax unterstützt sein. Wie oben zu sehen, reichts für Schleifen. Der Basic-Interpreter ist in den FPGA "einkompiliert" und dadurch startbar ("J 100") ohne von Kasette zu laden.
Dazu musste das Tastaturinterface umgestrickt werden, dem Tastaturumsetzer PS2 - 8x4 Matrix widme ich einen eigenen Beitrag, da wohl vom allgemeinen Interesse.


Damit sollte das Kassetteninterface der nächste Punkt auf der Agenda sein. Ich habe mich aber noch nicht für eine Lösungsvariante entschieden.

Load ist kein Problem, in dem PROM für den FPGA habe ich ca. 128Kbyte frei.
Leider gibt es auf dem Board keinen Nichtflüchtigen Speicher (FLASH, SD-Card) den ich vom FPGA aus beschreiben kann. Also muß wohl eine PC-Verbindung. Da hätten wir RS-232 über die man zusammen mit einem Terminal-Prog auf dem PC Daten schieben könnte. Oder über die Soundkarte, dann funktionieren auch die Routinen im Original-ROM. Der J1013 als Emulator scheint dergleichen zu unterstützen: http://www.jens-mueller.org/j1013/cassette.html. Dann brauchts noch einen OPV o.ä. um von den 3V3 Pegel am FPGA auf brauchbares für den Mikrofoneingang zu kommen.

Schauen wir mal. Da alles bis auf sichern vom Clone funktioniert, lasse ich es jetzt langsamer angehen. Vielleicht wechsele ich vorher auf ein anderes FPGA Board mit Nichtflüchtigen Speicher (bspw Spartan 3AN-Starterkit).

Zu guter letzt der Hinweis auf die ausführlichere Beschreibung unter:
http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA

und ein Schreibtischfoto des "Entwicklungssystems" (Schaltplan, Foto Z1013 Tastatur, programmer, Editor,..). Ach ja, ich kam nicht umhin die Gummitastatur des Z1013 durch eine zeitgenössische "Gummi-Tastatur" zu ersetzen - das nennt sich wohl Genre-Gerecht ;-).



MfG, Volker

Dieser Beitrag wurde am 01.04.2013 um 15:29 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
01.04.2013, 15:32 Uhr
funkheld




Zitat:
Vielleicht wechsele ich vorher auf ein anderes FPGA Board mit Nichtflüchtigen Speicher

Vielleicht auf ein Board was noch lange Zukunft hat und überschaubar programmiert werden kann und vom Hersteller ein hilfreiches Support stattfindet. Vielleicht könnte man da die ganze KC-Reihe mit betreiben.

Die Käuferschicht dafür wäre nicht gering. Ein neues Standbein in eine Entwicklung FPGA.

Gruss
peter

Dieser Beitrag wurde am 01.04.2013 um 15:35 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
01.04.2013, 17:11 Uhr
Enrico
Default Group and Edit


Da kannst Du den C-One kaufen, und reinhäckeln.
Gibts schon.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
01.04.2013, 17:36 Uhr
funkheld



Da sollte das KC-System schon drauf laufen.

Der C-ONE ist schon abgedroschen.
Den hatte ich mir vor 4 Jahren gekauft für das C64-System.
Es kamen dann zuviele Änderungen und das C64-System wurde in Deutschland ca nur 30x Verkauft mit dem C64-System. Habe es wieder verkauft , weil es keine Weiterentwicklungen dafür gab in Deutschland. Ansprechpartner waren nur über den grossen Teich zu erreichen und so etwas hatte ich nicht angestrebt. Das System war auch in Deutschland für einen Normalverdiener um nur mal mit einem C64-System zu spielen zu teuer.

Ein System sollte schon in höheren Stückzahlen laufen.
Vielleicht steigt das interesse mal mit eine m KC-System.

Gruss
peter

Dieser Beitrag wurde am 01.04.2013 um 17:38 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
01.04.2013, 18:33 Uhr
Mobby5




Zitat:
funkheld schrieb
Vielleicht auf ein Board was noch lange Zukunft hat...
Gruss
peter

1. Welches soll das sein?
2. Woher willst Du das wissen?

In dieser schnelllebigen Zeit ist sowas bestimmt nicht vorherzusagen.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
01.04.2013, 18:54 Uhr
funkheld



Das ist die Frage.

Sonst ist ein Kauf rausgeschmissene Geld.
Viele Bastler haben das Geld bestimmt nicht lose sitzen.
Und sagen mit recht "Waaaas soviel Geld für ein Board und du baust dein System jetzt schon wieder um auf eine anderes Board...."

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
01.04.2013, 19:25 Uhr
Enrico
Default Group and Edit


Sowas macht man ja auch nicht.
Auf ein Entwicklungsboard kann man nicht fest als HW-Grundlage für eigene Entwicklungen vorraussetzen.
--
MFG
Enrico

Dieser Beitrag wurde am 01.04.2013 um 19:26 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
03.04.2013, 08:42 Uhr
ad fontes



Eigenes Board ist angedacht, aber bis dahin ist Spass ohne größeres Invest gewollt - eine CP/M Machine bspw. PC1715. Und bis die Boards kommen kann man sich an die Pixelgrafik für den KC machen.

C-One kenne ich, ist mir persönlich zu groß (3 FPGA's, wiele Stecker) und zu teuer (333€).
Angedacht ist eine Platine die alle 8 bit Computer kann, transportabel ist (Pass-Größe) und wenn vertretbar auch mit Batterie läuft. 16bit unterstützung für Amiga und Co scheint mir zu teuer.

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
03.04.2013, 12:04 Uhr
abnoname



Ich verwende ja wie gesagt ein Altera DE1 VGA, PS2, Sound, SRAM, DRAM, Flash und SD Karte

Darauf laufen schon:
- 8086 PC (ZET Prozessor)
- Amiga 500 (Minimig)
- C64 (FPGA64)
- Apple II

etc. und vielleicht schon heute dein Z1013

VG

Dieser Beitrag wurde am 03.04.2013 um 12:04 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
03.04.2013, 14:13 Uhr
funkheld



....etc. und vielleicht schon heute dein Z1013 ....

Da da bin ich gespannt auf die Info.


Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
03.04.2013, 17:26 Uhr
abnoname



So mit ein paar Stolpersteinen bin ich heute zu einer Alpha Version des Ports gelangt

Randbedingungen:
- Altera DE1 Board
- Cyclone II FPGA
- Systemspeicher (16kx8) auf externem SRAM

Änderungen:
- Prozessorregister waren abhängig von Xilinx RAM Zellen (T80_Reg), done
- VGA brauchte invertierte Sync Signale, done
- SRAM war FPGA intern realisiert, Umbau auf externen 512kB SRAM, done
- vorher konnte der interne SRAM vorbelegt werden, so dass beim Boot ein JUMP auf den ROM Anfang durchgeführt wurde
- dadurch wurde im Original die ROM Suche durch NOPs übersprungen
- Umbau auf eine Bootlogik, welche vor dem ersten Romzugriff den Datenbus auf Null hält, bis der Adressdecoder ein ROM Select verlangt. Dann schaltet der Controller den Zugriff frei
- Mit einem Systemreset wird wieder in den Bootzustand geschaltet




Mein Dank gilt hiermit "ad fontes" für die tolle Arbeit. Ich hoffe, dass ich hiermit weiter meinen Teil beitrage, dass Projekt auf Altera Boards verfügbar zu machen

Sollte jemand ein DE1 Board besitzen und testen wollen, dann bitte PN

VG
Franz

... jetzt gehts weiter mit den Details es wird einen RAM Zugriff über RS232 geben.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
03.04.2013, 18:15 Uhr
Enrico
Default Group and Edit



Zitat:
ad fontes schrieb
16bit unterstützung für Amiga und Co scheint mir zu teuer.

MfG

Das würde dann ja auch nicht reichen.
Amiga war nie 16 Bit.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
03.04.2013, 18:16 Uhr
abnoname



Klar ist der Amiga nen 16bit Rechner.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
03.04.2013, 18:30 Uhr
funkheld



Jup, das sieht ja wunderbar aus wie das funktioniert.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
03.04.2013, 18:52 Uhr
Enrico
Default Group and Edit



Zitat:
abnoname schrieb
Klar ist der Amiga nen 16bit Rechner.

Falsch. Wars noch nie.
Die waren schon immer 32 Bit.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
03.04.2013, 19:16 Uhr
Micha

Avatar von Micha

Ich hab mir ja das in 005 erwähnt Billig-Chinaboard zugelegt. Mit nem Altera Cyclon II FPGA, genauer einem EP2C8Q208. Start mit Null Ahnung in die Materie, auf nen passenden Programmer warte ich derzeit. In der Zwischenzeit hab ich schon mal paar Online-Trainings auf altera.com absolviert. Hab mich nach etwas Recherche bezüglich Programmieren mit VHDL oder Verilog dafür entschieden, letzteres zu erlernen.

Der Beitrag 019 von abnoname macht mir gerade Hoffnung: im besten Fall ist mein Board eine Art Clone, im schlimmsten Fall sind paar Pins anders sortiert. Falls die Sourcen zufällig in Verilog sind und ich die bekommen kann, wär ich sehr interessiert. Ist sicher ne gute Gelegenheit durch Code angucken was zu lernen?

Beim Amiga ham sicher beide Parteien recht - 68000er haben 32 Bit breite Register, aber die ganze Kiste mit Peripherie und hastenichgesehen ist sicherlich keine reinrassige 32 Bit Architektur.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
03.04.2013, 19:21 Uhr
abnoname




Zitat:
Enrico schrieb

Zitat:
abnoname schrieb
Klar ist der Amiga nen 16bit Rechner.

Falsch. Wars noch nie.
Die waren schon immer 32 Bit.

...und nur nen 16bit BUS. Aber eigentlich gehts hier um Z1013 und FPGA. Also zurück zum Thema!

@Micha, wenn du das übliche China Board meinst, dann sollte das gehen Die Grundarbeit für Altera ist ja nun erledigt.

Die Sourcen sind in VHDL. VHDL und Verilog unterschieden sich aber nur in der Syntax. Die Arbeitsmethoden dagegen sind völlig gleich.

Hast PN.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
03.04.2013, 19:22 Uhr
Enrico
Default Group and Edit


Jup, so kann mans genau ausdrücken.

Oder anders: Ein 486iger, der nur ISA hat, ist auch nur ein 16 Bit Rechner. LOL
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
03.04.2013, 19:32 Uhr
funkheld



Ist dieses Board einfacher zu händeln für dein Produkt KC ?

www.ebay.de/itm/Neu-Altera-Cyclone-NIOS-II-FPGA-Development-Board-EP2C8Q208-mit-LCD1602-/111024643371?pt=Wissenschaftliche_Ger%C3%A4te&hash=item19d9959d2b

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
03.04.2013, 19:36 Uhr
abnoname



Das ist so ein typisches China Board. Der FPGA ist aber kleiner als der im DE1.

DE1: EP2C20
China: EP2C8

Wichtig! In dem Board ist kein Programmer drin. Der schlägt dann nochmal extra zu.

Ich empfehle einfach noch paar Taler mehr in die Hand zu nehmen und in den Genuss von dutzenden für dieses Board portierten Projekte zu kommen (Versand ist frei): http://www.digikey.de/product-search/de?x=-921&y=-76&lang=de&site=de&KeyWords=altera+de1

VG

EDIT: Im DE1 ist auch der Altera Byteblaster mit drin. Also mehr als das Board ist nicht nötig.

Dieser Beitrag wurde am 03.04.2013 um 19:40 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
03.04.2013, 19:46 Uhr
Micha

Avatar von Micha

Das ja mal interessant! - ich hatte sowieso noch paar Pfennigartikel für meinen 1702 (U552) Brenner bei digikey zu bestellen die es nur dort gibt, wo ich bisher gezögert habe, wegen des extrem blöden Verhältnisses von Teilekosten zu Versandkosten (weia, jetzt bin ich schon wieder kurz davor mich von jeglicher Vernunft zu verabschieden...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
03.04.2013, 20:13 Uhr
funkheld



Was ist das für ein Gerät und viewiel kostet es :

Zitat:
Wichtig! In dem Board ist kein Programmer drin. Der schlägt dann nochmal extra zu.

Danke.

Gruss
peter

Dieser Beitrag wurde am 03.04.2013 um 21:52 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
03.04.2013, 22:07 Uhr
Micha

Avatar von Micha

@Funkheld: ist bissl schwer Dein Posting zu deuten, bzw. was Du eigentlich fragen möchtest. ich versuch's mal nach bestem Wissen und Gewissen:

hier war ein China-Board ins Gespräch gekommen, das ca 70 Euro kostet, mit dem man eine handgefertigte virenverseuchte Installations-CD bekommt, und bei dem man dan feststellt, dass man ja noch extra ein Byteblaster Programmiergerät für ca. 20 Euro braucht, um was damit anfangen zu können.

Alternative ist das DE1 Board, direkt und offiziell vom Hersteller Altera. Kostet mehr (ca. 135 Euro), der Programmer ist schon mit auf dem Board - man benötigt also nur ein ordinäres USB Kabel zum Programmieren, der verbaute FPGA hat mehr Ressourcen, und vor allem - das Board ist ein Quasi-Standard! Also es gibt einiges Zeugs was ohne Friemelei direkt darauf läuft.

Hoffe ich konnte helfen.


Zitat:
funkheld schrieb
Was ist das für ein Gerät und viewiel kostet es :

Zitat:
Wichtig! In dem Board ist kein Programmer drin. Der schlägt dann nochmal extra zu.

Danke.

Gruss
peter

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
03.04.2013, 22:13 Uhr
ad fontes



Super, die Bootlogic werde ich übernehmen, externer RAM steht ja auch auf meiner Agenda. Zusätzlich hast du noch den Bildschirmausschnitt horizontal zentriert, Ich hab rechts Platz für eine Werbebanner gelassen ;-)



Zitat:
abnoname schrieb
So mit ein paar Stolpersteinen bin ich heute zu einer Alpha Version des Ports gelangt

Randbedingungen:
- Altera DE1 Board
- Cyclone II FPGA
- Systemspeicher (16kx8) auf externem SRAM

Änderungen:
- Prozessorregister waren abhängig von Xilinx RAM Zellen (T80_Reg), done
- VGA brauchte invertierte Sync Signale, done
- SRAM war FPGA intern realisiert, Umbau auf externen 512kB SRAM, done
- vorher konnte der interne SRAM vorbelegt werden, so dass beim Boot ein JUMP auf den ROM Anfang durchgeführt wurde
- dadurch wurde im Original die ROM Suche durch NOPs übersprungen
- Umbau auf eine Bootlogik, welche vor dem ersten Romzugriff den Datenbus auf Null hält, bis der Adressdecoder ein ROM Select verlangt. Dann schaltet der Controller den Zugriff frei
- Mit einem Systemreset wird wieder in den Bootzustand geschaltet


Dieser Beitrag wurde am 03.04.2013 um 22:13 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
04.04.2013, 10:30 Uhr
funkheld



Hallo, guten Tag.

Habt ihr schon das megarom-modul :
http://hc-ddr.hucki.net/wiki/doku.php/z1013:module:megamodul
den Binärcode von der SD-Karte getestet auf euren Board ?

Danke.

Gruss
peter

Dieser Beitrag wurde am 04.04.2013 um 10:33 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
04.04.2013, 10:59 Uhr
abnoname



Ich sehe gerade, dass das MegaROM 2,5MByte benötigt. Das wird wohl ohne die Einbindung des (vorhandenen) Flash Speicher nichts.

Ich wollte aber abgesehen davon sowieso einen Zugriff auf den Z1013 RAM über die serielle Schnittstelle realisieren, so dass man dann einfach vom PC aus die Z80 Files in den Rechner laden kann. Das geht zumindest fürs erste einfacher.

VG

EDIT: SD Karte ist nochmal ne Sache für sich

Dieser Beitrag wurde am 04.04.2013 um 11:00 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
04.04.2013, 12:54 Uhr
funkheld



Jup, danke.

Auch das speichern über die serielle Schittstelle zum PC ?

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
04.04.2013, 12:57 Uhr
abnoname



Wenn du einen memory dump meinst, ja das fällt dann mit ab.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
04.04.2013, 14:23 Uhr
funkheld



Das Board DE1 hat doch einen Soundeingang/Ausgang.
Kann man da kein Signal ausgeben zum PC und auch ein Signal vom PC einlesen ?

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
06.04.2013, 15:26 Uhr
Micha

Avatar von Micha

Hatte mir ja spontan das in 005 zuerst erwähnte Billig-China-Board zugelegt. Irgendwo muss man ja mal anfangen (ich wollte schon ewig mal mit FPGAs anfangen).
Erste Erkenntnis nachdem ich das Board hatte: hübsch, aber ohne Programmer ist es nur ein nutzloses Stück Elektronik.
Zweite Erkenntnis: die CDs waren mit Viren, Trojanern, Würmern verseucht. Wenigstens ein brauchbarer Stromlaufplan war auch noch drauf... den braucht man, wegen Pin-Zuordnung.
Inzwischen hab ich die Software vom FPGA-Hersteller Altera geladen und auf deren Seite schon eine Menge der (sehr gut gemachten!) Online-Kurse absolviert. So konnte ich inzwischen schon ein wenig vorbereiten...
Heute war dann endlich auch der Byte-Blaster Programmer da. Also gleich losgelegt, ging auch soweit alles reibungslos. Allerdings hat der Upload meines Projekts das Board nicht initialisiert, Reste des Demo-Projekts liefen weiter. U.A. alle LEDs und alle 7-Segment-Anzeigen hell erleuchtet. Obwohl mein Code wie erwartet funktionierte (bestimmte LEDs im Takt blinken lassen) hat sich nach ca. 1 Minute das originale Netzteil verabschiedet. Ausgangsseitig spezifiziert mit 5V/1A. Ich hatte noch ein gleichartig spezifiziertes NT in der Bastelkiste, das tut es jetzt schon seit etlichen Minuten.

Die Moral von der Geschicht': auch wenn heutzutage fast alles aus China ist, kauf nie das billigste von deren Zeugs nicht
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
06.04.2013, 15:37 Uhr
abnoname



Werden die LEDs mit open drain geschaltet? Vielleicht sind dann alle per default an?

Oder lief dein Projekt dann?

"Allerdings hat der Upload meines Projekts das Board nicht initialisiert"
vs.
"wie erwartet funktionierte (bestimmte LEDs im Takt blinken lassen)"

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
06.04.2013, 15:47 Uhr
Micha

Avatar von Micha

naja ich hatte vier LEDs gezielt angesteuert in einem binären Count-Up Muster zu blinken. Das funktioniert auch wie erwartet, mein Projekt enthält allerdings keine Vorkehrungen um alles andere initial auszuschalten. Ich glaub das muss ich dringend "erforschen" wie man das macht.

Bei Neustart lädt das FPGA Board wieder sein Original-Demo-Programm. Hatte ich auch schon irgendwo gelesen dass sich ein FPGA seine Schaltung nicht merken kann sondern bei Power-Up neu lädt. Aber wie? Sooo viel zu lernen ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
06.04.2013, 16:22 Uhr
abnoname



achso! Na dann leg einfach in deinem Projekt an alle entsprechenden (LED)Steuerpins Low oder High als Konstante.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
08.04.2013, 15:24 Uhr
funkheld



So , vor drei Tagen habe ich mir das Altera DE1 Board bestellt und auch schon bezahlt bei Digi-Key, kostet mit Mehrwertsteuer insgesamt 159 Euro. Die Bestellung lief Reibungslos und nach einem Tag hatte ich schon eine 2-Seitige Bestellungsbestätigung mit den vorgesehenen Verschiffungsdaten wenn das Geld für das Board überwiesen wurde. Es gibt für Digi-Key hier in Deutschland eine Vertretung und auch die Überweisung wird einfach über eine Kontoüberweisung in Deutschland abgewickelt. Der telefonische Support in Deutschland ist frei und habe damit heute ein wunderbares technisches Gespräch über den DE1 geführt.

Nun werde ich mich hier mit 64 Jahren mit so einem Board beschäftigen und einen Z1013-Clone , natürlich nur dank eurer Hilfe wird mein Wissensstand erweitert.

Wie ich gelesen habe, kann man mit so einem FPGA-Board recht interessante elektronische Experiemente machen ohne zu Löten, klasse.

Der Kommentar meiner Frau : "Du spinnst, das du dir noch in diesem Alter so etwas antust".

Fazit : Man wird im Alter nicht weiser , sondern verrückter.
Mit dieser Verrücktheit kann ich aber wunderbar leben.

Nachdem ich mich für KC-Serie (Z1013) hier entschieden habe , mit dem Emu von Jens , bin ich von diesem einfachen Aufbau des Z1013 und der Handhabung begeistert. Der Emu von Jens ist unübertrefflich Real damit , das ich nur staunen kann. Die wunderbare offene Präsenz der gesamten Daten in Papierformat und Software ist auch im hohen Maße super.

Ich wollte mir erst in nächster Zukunft 2x Z1013 vollbestückt 64KB anschaffen, einen als Reserve. Da habe ich aber festgestellt, das ich keine Kenntnisse habe um daran weiterzubasteln mit Lötkolben, geschweige dann die noch nicht vorhandene rerserve Bastelkiste für den Z1013, die ja die alten User hier schon Jahrelang als Sammlesorium angelegt haben, falls mal...

Ich habe mich jetzt neben dem Jkcemu(Z1013) für den Altera DE1 entschieden.

Gruss
peter

Dieser Beitrag wurde am 08.04.2013 um 17:44 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
09.04.2013, 08:40 Uhr
ad fontes



So ich antworte mal am Block:
Das MegaROM passt auf den Parallel-Flash auf dem Spartan-3AN Board, das auch auf der ToDo-Liste für dieses Jahr steht. Das werde ich dann auf diesen antesten.

Audio auf dem DE1 als Datenlink klingt interessant, ist aber letzlich etwas zu langsam. RS-232 Interface ist jetzt meine Wahl um den Speicher zu füllen bzw auszulesen.

Bis Mitte Mai bin ich stark in einem anderen Projekt gebunden ("Urlaub" resp. Urlaubsvorbereitung), ich hab mir also kleiner Themen auferlegt. So wird es ein extra-Verzeichniss für alle RAM-Images geben, damit lassen sich verschiedene Monitore-ROM's antesten. So suche ich noch einen der IO-Zugriffe (IN/OUT) gestattet, mit Speicher schreiben/lesen ist eben nur ein Teil der Hardware ansprechbar. - Brosig?!

Dann schau ich mir die Altera-Portierung an. Übrigens da der cyclone wohl so um die 24kByte RAM Hand muesste auch dieses Board einen Z1013.16 ohne exterenen RAM gestatten.

Viel Spass noch,
Volker
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
09.04.2013, 15:20 Uhr
funkheld



Hallo ad fontes, am besten wäre es , wenn du das Mega-Rom warten lässt bis eine Lösung für die SD-Karte gefunden ist, die man ja irgendwann mal braucht. Es ist zwar eine schöne Sache aber man kann da im Z1013-Betrieb keine Daten abspeichern auf dem MegaRom. Ich habe es jetzt als Neuling mal ausprobiert , habe aber festgestellt , es ist eigentlich garnicht so vorrangig , spannend fand ich das es in einem Z1013 funktionierte.
Ich fände es besser , wenn die Verbindungen zur Aussenwelt bestehen würden zum Laden und Speichern, das bringt mehr flexibilität am Z1013 und natürlich die umschaltbaren Monitore.

Danke.

Gruss
peter

Dieser Beitrag wurde am 09.04.2013 um 17:09 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
09.04.2013, 17:12 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Hallo Peter,

Du kannst den Kassettenrekorder nutzen, per V24 Daten direkt mit dem PC tauschen, auf USB mit dem USB-Modul speichern,
oder auch selbst die Kingstener-Lösung auf den Z1013 umsetzen ...

Du siehst, es gibt viele Möglichkeiten und auch noch Aufgaben.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
09.04.2013, 19:02 Uhr
funkheld



Jup, danke.

Meinst du jetzt im Emu-Z1013 ?

Zitat:
Du kannst den Kassettenrekorder nutzen, per V24 Daten direkt mit dem PC tauschen, auf USB mit dem USB-Modul speichern,

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
11.04.2013, 09:05 Uhr
funkheld



Hallo, guten Tag.
Das Paket mit dem DE1 ist jetzt schon in Amerika unterwegs, gemäss Verfolgungsinfo im Internet.

Das wird ja richtig spannend, das zu Proggren mit Schaltkreisen usw.


Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
048
14.04.2013, 14:47 Uhr
funkheld



DE1-Board ist angekommen.

Alle Testprogramme funktionieren.
Das USB-Driverprogramm vom Quartus II 12.1SP1 wird nicht auf dem neuen Notebook erkannt ( nur das DE1-Board wird erkannt). Auf den Notebook Baujahr 2006 funktioniert das USB-Driverprogramm , nur der hat zuwenig Speicher. Aufrüsten lohtn sich nicht mehr.

Es soll am "JTAGserver" liegen , der von Quartus II beim installieren draufgesetzt wird.

Vielleicht kenn noch ein anderer das Problem.

Danke.

Gruss
peter

Dieser Beitrag wurde am 14.04.2013 um 14:49 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
049
15.04.2013, 19:44 Uhr
funkheld



Jup, der Z1013-DE1-Code von abnoname funktioniert auch bei mir nach dem selbstcompilieren mit Quartus 12.1sp1 auf den 32Bit-Notebook(mein alter Notebook) im DE1. Habe auch noch eine PS2-Tastatur, die wunderbar damit funktioniert.

Klasse , ein schönes Bild, den Z1013 auf dem DE1 laufen zu sehen.

Danke alle FPGA-Progger.

Gruss
peter

Dieser Beitrag wurde am 15.04.2013 um 20:39 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
050
15.04.2013, 23:42 Uhr
ad fontes




Zitat:
funkheld schrieb
Klasse , ein schönes Bild, den Z1013 auf dem DE1 laufen zu sehen.

Danke alle FPGA-Progger.

Gruss
peter

Glückwunsch, du bist der dritte dem dieser Anblick vergönnt ist ;-)

Wie vorhergesagt, meinerseits nur kleine Änderungen bis heute. Die Takterzeugung als boardspezif. Hardware habe ich "nach oben" verlagert. Hinzugekommen ist ein RS232 mit fix 1920Baud, ein Stop und 0 Parity. Die empfangenen Bytes werden auf den beiden linken Siebensegmentern dargestellt. In der Testbench starterkit/sk_top_tb.vhd werden Signale wie von der PS2 Tastatur und von RS232 generiert, damit man in der Simu dem Z1013 bei der Tastatureingabe "zusehen" kann.

Die RS232 soll später an den dma controller angeschlossen werden. Dann kann per PC freigewählte Speicherbereiche (RAM, VideoRAM) beschrieben und gelesen werden. Angedacht ist 16 Wörter a 8bit zu sammeln, dann den BUS per BUSRQ_leitung anzufordern, die 16 Wörter auf einem Rutsch zu schreiben und dann der CPU wieder den Bus zu überlassen. Damit sollte es möglich sein im laufenden betrieb Programme zu schreiben und umgekehrt Speicherbereiche zum PC auszulesen.

Im Artikel wurde der Abschnitt zum Tastaturemulator erweitert, siehe http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA#Tastatur_3

Viel Spass,
Volker
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
051
16.04.2013, 09:32 Uhr
funkheld



Jup, danke.
Das sind ja gute aussichten um Kontakt zur Aussenwelt aufzunehmen, klasse.
Ich finde diese gegenseitige kontaktaufnahme Zukunftsweisend und damit wird der Z1013-FPGA ein wunderbares Experimentierprodukt , was man ja auch haben möchte : Unendliche möglichkeiten.

Ich wünsche mir , den Z1013 Programmmäßig als nächstes auf 64KB aufzustocken.

Danke.

Gruss
peter

Dieser Beitrag wurde am 16.04.2013 um 17:09 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
052
16.04.2013, 23:03 Uhr
ad fontes




Zitat:
funkheld schrieb
Ich wünsche mir , den Z1013 Programmmäßig als nächstes auf 64KB aufzustocken.
Danke.

Gruss
peter

Die 16k, die ich derzeit im FPGA als Arbeitsspeicher benutze, kann ich im Unterschied zu externen Speicher quasi nebenher (beim FPGA Laden) beschreiben, für den externen Speicher ist eine PC-Verbindung (bspw. RS232) unabdingbar. Daher plane ich die Speichererweiterung nach Inbetriebnahme des RS232 - DMA.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
053
17.04.2013, 12:18 Uhr
funkheld



Jup, danke für die Info.

Du hast doch ein anderes FPGA-Board ?
Kann man die 64KB auf dem DE1-Board verwirklichen ?

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
054
17.04.2013, 13:17 Uhr
abnoname



Klar, sind doch nur 2 Adressleitungen mehr. Der SRAM hat 512kx8bit
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
055
17.04.2013, 18:19 Uhr
Micha

Avatar von Micha

Soweit die Zeit gereicht hat, hat mir auf dem Treffen in Garitz ein Teilnehmer mit FPGA-Erfahrung geholfen, die ersten Schritte der Konvertierung von der DE1 Variante auf mein ebenfalls Cyclone II basiertes Chinaboard (siehe oben) zu gehen. Vielen Dank noch mal unbekannterweise dafür!

Allerdings hänge ich jetzt an der Anpassung der 3 Takte fest, die durch die PLL zu erzeugen sind. Soweit ich es verstehe, wird die PLL im Originalprojekt mit 24 MHz gespeist, die drei erzeugten Ausgänge sind:

c0: 24 * 5/2 = 60 MHz
c1: 24 * 5/3 = 40 MHz
c2: 24 * 1/2 = 12 MHz

Auf meinem Board liegen aber 50 MHz an, mit den erlaubten Multipliern und Dividern bekomme ich die Ausgabetakte nicht so hin. Wäre dankbar für einen Tip von den Profis.

Dieser Beitrag wurde am 17.04.2013 um 18:20 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
056
17.04.2013, 20:17 Uhr
ad fontes




Zitat:
Micha schrieb
Allerdings hänge ich jetzt an der Anpassung der 3 Takte fest, die durch die PLL zu erzeugen sind. Soweit ich es verstehe, wird die PLL im Originalprojekt mit 24 MHz gespeist, die drei erzeugten Ausgänge sind:

c0: 24 * 5/2 = 60 MHz
c1: 24 * 5/3 = 40 MHz
c2: 24 * 1/2 = 12 MHz

Auf meinem Board liegen aber 50 MHz an, mit den erlaubten Multipliern und Dividern bekomme ich die Ausgabetakte nicht so hin. Wäre dankbar für einen Tip von den Profis.

Keine Panik, das Orginalprojekt läuft auch mit 50 MHz Primärtakt, Du kannst also die Teiler übernehmen.
(siehe Beschreibung: http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA#Takt)



Handsärmlig drüber nachgedacht, sind allein die 40 MHz video_clk wichtig. Wenn nicht dann muss man in dem vga -Modul ein bißchen was anders. cpu_clk hat eher zufällig 3,125 MHz bekommen, da ich die 50 maximal mit 16 teilen konnte, mit ein paar MHz mehr oder weniger sollte es auch laufen. Der sys_clk misst 50 MHz, den hast du ja an board. Knifflig wird es erst bei dem RS232-UART mit 19200 Baud.

Bei Xilinx konnte ich die DCM/PLL settings mit dem architecture wizard bequem einstellen und das tool hatmir den passenden VHDL-code generiert. Sicher hat Quartus ähnliches zu bieten, vielleicht beim Mega-Wizard? -> Schau mal da: http://www.altera.com/literature/ug/altera_pll.pdf

MfG,

Dieser Beitrag wurde am 17.04.2013 um 20:22 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
057
17.04.2013, 21:07 Uhr
abnoname



Hallo,

die Xilinx DCM und die Altera PLL unterscheiden sich gravierend. Die DCM (ist imho keine echte PLL) kann quasi kräftig nach unten teilen und die Konstellation für die Takte liegt günstig, wie ad fontes das gemacht hat. DCM multipliziert den Takt, kann gleichzeitig den Quelltakt durchreichen und kann einen geteilten Ausgang ausgeben.

Die Altera PLL kann egal bei welchem Eingangstakt nur mindestens 10MHz ausspucken, noch dazu hänge alle Ausgangsfrequenzen voneinander ab (c0, c1, c2).

Mit viel Spielen hab ich die 40MHz aus 24MHz gewonnen (das DE1 bietet 24MHz, 27MHz und 50MHz), so dass gerade Takte von zusätzlich 60MHz und 12MHz entstehen. Weniger als 12MHz war dann nicht möglich.

Da hilft bei 50MHz rein nur viel spielerei oder KGV gerechne

Alternativ müsste man den Takt nachträglich teilen, was jedoch mangels Clock Enable im T80 nicht ohne weiteres sinnvoll geht. Oder man bindet mehr als eine PLL ein und synchronisiert diese.


@Micha, wieso haben wir uns auf dem Treffen nicht gesehen? Wir waren da eine zweiteile FPGA Fraktion in der hinteren Ecke Haben da mit KC85 und Z1013 auf FPGA experimentiert. Der andere Kollege war dann wohl bei dir

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
058
17.04.2013, 21:28 Uhr
Micha

Avatar von Micha

verblüffenderweise läuft der Z1013 jetzt auch auf meinem Cyclone II Chinaboard. Zunächst sah ich eine graue Fläche auf dem Monitor, dort wo der Bereich des Z1013 Bildschirms ist. Durch mehr oder weniger planloses rumschalten an den Ein/Aus-Schaltern auf dem Board bekam der überraschend Farbe, irgendwann ging dann sogar 'ne Eingabe per Tastatur. Muss das morgen unbedingt genauer erforschen wieso weshalb und warum.


Dieser Beitrag wurde am 17.04.2013 um 21:32 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
059
17.04.2013, 22:02 Uhr
ad fontes




Zitat:
Micha schrieb
verblüffenderweise läuft der Z1013 jetzt auch auf meinem Cyclone II Chinaboard. Zunächst sah ich eine graue Fläche auf dem Monitor, dort wo der Bereich des Z1013 Bildschirms ist. Durch mehr oder weniger planloses rumschalten an den Ein/Aus-Schaltern auf dem Board bekam der überraschend Farbe, irgendwann ging dann sogar 'ne Eingabe per Tastatur. Muss das morgen unbedingt genauer erforschen wieso weshalb und warum.


Oh, ich weiss da was. Ich habe hier auf dem Xilinx Starterkit 8 Schalter, von denen jeweils die drei äußeren die Vordergrund-, resp Hintergrundfarbe einstellen (3 bit). Da stand wohl graue Schrift auf grauen Grund....

Codeschnipsel aus SK-wrapper.vhd
:
redz0mb1e_1 : redz0mb1e
port map (
cpu_clk => cpu_clk,
video_clk => video_clk,
clk_50m => clk_50m,
-- ...
vsync_o => vga_vsynch_n,
hsync_o => vga_hsynch_n,
col_fg => DIP_Switches_8Bit_GPIO_in(7 downto 5), --vordergrundfarbe
col_bg => DIP_Switches_8Bit_GPIO_in(2 downto 0)); --hintergrundfarbe



Jedenfalls ist das wohl jetzt die vierte Z1013 auf FPGA Wiederauferstehung - freude, freude.

Dieser Beitrag wurde am 17.04.2013 um 22:15 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
060
17.04.2013, 22:08 Uhr
ad fontes




Zitat:
abnoname schrieb

@Micha, wieso haben wir uns auf dem Treffen nicht gesehen? Wir waren da eine zweiteile FPGA Fraktion in der hinteren Ecke Haben da mit KC85 und Z1013 auf FPGA experimentiert.

KC85 auf FPGA? das klingt interessant, ich wollt schon eine Top-Entity dafür schreiben...

Dieser Beitrag wurde am 17.04.2013 um 22:09 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
061
17.04.2013, 23:48 Uhr
funkheld



Hallo, guten Abend.
Wie kann man hier Bilder ins Forum setzen ?

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
062
18.04.2013, 07:10 Uhr
Micha

Avatar von Micha

leider nur, indem man sie woanders anlegt und hier mit dem image-tag verlinkt, siehe Formatierungsmöglichkeiten.

Auf meinem Wunschzettel an die Betreiber des RT Forums steht das auch gaaanz weit oben, dass man hier endlich mal Bilder direkt hochladen kann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
063
18.04.2013, 09:45 Uhr
PIC18F2550

Avatar von PIC18F2550

Hi Micha,

das mit den Bildern ist bei Foren immer so eine sache.

Meistens sind die Serverkosten endscheident was so ein Forum verursacht.

Wenn er nicht gerade kostenlos ist.

Ansonnsten spielen Speicherplatz Serverleistung Trafic ... alles eine Rolle.

Bilder sind dabei die Teile die am meisten Kosten verursachen.

Daher werden bei einigen Foren in den Beiträgen nur Vorschaubilder angezeigt und erst beim daraufklicken das original heruntergeladen (meist von einem anderen Server).
Müsste digger im in unserem Forum noch umbauen.

Vieleicht verät Dir jemand die Betriebskosten die das Forum verursacht.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
064
18.04.2013, 10:11 Uhr
felge1966



Vor einiger Zeit gab es dazu schon einmal eine Diskussion. Resultat war, daß an der Foren-Software nichts mehr geändert werden kann.

http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=6141

Da wird sich vermutlich auch an der Software nichts mehr tun....

Gruß Jörg
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
065
18.04.2013, 10:44 Uhr
PIC18F2550

Avatar von PIC18F2550

Das Forum reagiert schnell keine Frage.

Leider verschwinden dann irgend wann mal die Bilder aus den Beiträgen aber das ist kein wirkliches Problem.

Da das Thema bei irgend jemand abgehandelt wurde und wenn es sich um eine grundlegende Sache handelt in den anderen Webseiten wieder findet.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
066
18.04.2013, 17:16 Uhr
Micha

Avatar von Micha

@PIC: habe nebenbei auch noch die Ehre ein Forum zu betreiben, daher kenne ich die Problematik mit den Bildern bestens. Fast alle User laden die Bilder direkt so hoch wie sie aus der Digicam kommen, typischerweise mit Monsterauflösung und Dateigröße um 2 bis 5 MB.

Mit imagemagick kann man diese Bilder allerdings Server-seitig entweder vollautomatisch (direkt beim Upload) oder halbautomatisch (script regelmäßig ausführen) auf Web-gerechte Auflösung und Dateigröße zurechtsägen. Bei jpeg liefert ne Auflösung von 1024 x (passender Höhe) und ne Kompression die auf Dateigrößen zwischen ca. 100 bis 200 KB hinausläuft eigentlich fast immer einen sehr brauchbaren Kompromiss zwischen dem Wunsch nach Bildern, annehmbarer Qualität und dem verbrauchten Platz auf dem Server.

Was mich hier immer nervt: wenn Leute aus Mangel an Alternativen Bilder bei Trixum & Co ablegen. Dort gibts dann eben haufenweise "klick mich an" Fallen, wo z.B. ein getürktes Fenster-Schliess-Icon in Wirklichkeit irgend ein Applet oder sonstigen Mist startet.

Zurück zum Thema Z1013 auf FPGA: genau wie abnoname sagte ist die PLL beim altera cyclone II ziemlich restriktiv. Hab die Kiste jetzt mit ähnlichen Parametern am laufen. Bedeutet dass, die Z80 CPU läuft in dem Fall mit ca. 12 MHz? Mir war schon aufgefallen dass das Hexdump für 80er-Jahre-Verhältnisse affenschnell durschrauscht...

Ansonsten hab ich gerade festgestellt, dass bei meiner Quick-and-dirty Implementierung offenbar einer der Farb-Umschalter nebenbei Reset-Funktion hat. In einer der beiden Schalter-stellungen hängt der Z1013 im Dauer-Reset. Gibt es nen triftigen Grund das Z1013 reset auf einem Umschalter zu haben oder kann ich das auf einen Taster umlegen?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
067
18.04.2013, 17:24 Uhr
abnoname



Der Reset ist auf einem Schiebeschalter, weil der noch frei war Die "Buttons" waren zumindest vom Redzombie Core bereits benötigt. Also hat keinen wirklichen Grund und ist okay so


So hab heute erstmal nen echten Z1013 bekommen zum tiefer einarbeiten
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
068
18.04.2013, 17:48 Uhr
PIC18F2550

Avatar von PIC18F2550


Zitat:
Micha schrieb
Bedeutet dass, die Z80 CPU läuft in dem Fall mit ca. 12 MHz? Mir war schon aufgefallen dass das Hexdump für 80er-Jahre-Verhältnisse affenschnell durschrauscht...

Oh 12 Mhz die hätte ich auch damals gern gehabt.

Die originale lief mit 1Mhz viele verwendeten die 2Mhz und nur wehnige die 4Mhz Einstellung am z1013.

Da wirst du wohl eine Bremse einbauen müssen.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
069
18.04.2013, 19:57 Uhr
Micha

Avatar von Micha

weitere Fragen von meiner Seite:

* welche Systemkomponente stellt der Redzombie dar - ist das der Z80?
* ich konnte in dem vorhandenen Altera-Projekt keine Datei für Timing constraints *.sdc finden. Hab von dem Part noch wenig Ahnung und versucht, eine Datei mit dem entsprechenden Wizard zu erzeugen - im wesentlichen nur mit der Info dass 50 MHz auf Pin 23 liegen und das Ding gefälligst seine Clock-Constraints vollautomatisch erzeugen soll. Allerdings mault mich der TimeQuest Timing Analyzer ziemlich mit Warnungen voll...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
070
18.04.2013, 21:43 Uhr
ad fontes



Taktung: Wenn es für Altera einfacher ist, kann man den VGA-Core auch umstricken auf den selben takt wie für den Systemtakt also 50 MHz. Zwei taktdomainen sind auch einfacher zu händeln als drei.

Eventuell gibt es doch einen Weg, die CPU langsamer zu takten. Lt. Handbuch http://www.altera.com/literature/hb/cyc2/cyc2_cii5v1.pdf S. 2-22 kann man den Takt im User-MODE ein aus schalten. bei Xilinx gib es dafür den BUFGMUX der glitchfrei umschaltet. Liegt nun ein Eingang des Muxers auf '0' und er andere auf einen Takt und der selctro schaltet in jedem takt um, wird jeder zweiter clk-impuls ausgeblendet was effektiv einer takthalbierung entspricht. Falls aber die Synthese mit der CPU auf 10 MHz kein Problem hat, könnte man es auch so lassen und ich würden die Xilinx Variante bei gelgenheit auf den selben CPU-Takt hochziehen.

Die Taktconstraints können meines wissens auch in einem Tcl-file stehen und ganz früher gabs wohl mal das .acf - file. Große Trickserein sind meines Wissens nicht im Design die Warnings dürften also nicht besonders schwerwiegend sein. Unsicher bin ich mir bezüglich des asynchronen Resets bei Altera. Bei Xilinx ist es besser alles synchron zu beschreiben und wenn sinnvoll auf das Rücksetzen der FF zu verzichten (bspw schieberegs). Bei mir liegt der reset auf einen Taster, wird aber nie benutzt. Falls sich der FPGA wirklich mal verrannt hat, wird der FPGA no konfiguriert und alles ist auf Anfang.

Die Namensgebung redz0mb1E sollte ursprünglichen für die gesamte codebasis stehen, Wunsch war nur über generics etc mit einem top-file einen Z1013/KC85-2/3/4 oder PC1715 zu generieren.
Der CPU-Core wurde von seinen Schöpfer auf T80 getauft.

Im vidoeo Modul (video.vhd) habe ich jetzt eine Sicherung eingebaut, die den Fall von vordergrundfarbe = hintergrundfarbe abfängt.

Am Wochenende gehts auf die Insel, Computer kommt natürlich mit, aber geprüfte Erweiterungen sind bis Himmelfahrt nicht zu erwarten.

Schönen Frühling wünscht,
Volker
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
071
19.04.2013, 08:03 Uhr
ad fontes



Oh, der Z1013 - Nachbau hat einen Preis gewonnen
http://www.mikrocontroller.net/
:-)


Dank an alle hier im Forum. Die Erklärungen zu den Firmware-Versionen haben weitergeholfen und die Nachbauer sind ein zusätzlicher Motivationsschub!

Und es ist noch nicht zu Ende, es geht weiter!

MfG,
Volker
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
072
19.04.2013, 08:12 Uhr
abnoname



Na meinen herzlichen Glückwunsch! Hast ja auch genug Arbeit reingesteckt.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
073
19.04.2013, 11:50 Uhr
funkheld



Hallo, da hat sich ja deine Arbeit gelohnt, Glückwunsch für den Preis.

In welche Datei muss ich die Binärdaten reinpacken vom Tiny-Basic 3.01 damit ich es dann anschließend starten kann im FPGA?

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
074
19.04.2013, 11:56 Uhr
abnoname



Ist im DE1 Projekt noch nicht möglich, da das Tinybasic im externen SRAM liegen muss und dafür fehlt der Speicherzugriff per RS232. Siehe oben.

Ad fontest benutzt im Xilinx Projekt den internen RAM, welcher sich zur compilezeit vorbelegen lässt.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
075
19.04.2013, 18:01 Uhr
Micha

Avatar von Micha

Der Artikel auf mikrocontroller.net ist wirklich sehr informativ - gefällt mir!
Vollkommen OT bin ich in dem Artikel über die Angabe gestolpert, dass die 68000er CPU 68000 Transistoren enthält. Frage mich seitdem, ob das ein Abschreibefehler ist oder wirklich wahr?

Ansonsten suche ich als bisheriger "nicht-Z1013-User" eine Kommandoübersicht für den verwendeten Riesa-Monitor, da bin ich in der umfangreichen Linksammlung noch nicht fündig geworden.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
076
19.04.2013, 18:33 Uhr
holm

Avatar von holm

..egal, aber der 68000 ist eine geile CPU, zumal wenn man berücksichtigt das er aus der selben Zeit stammt wie der 8086 und mal vergleicht was da drin ist.

Ich konnte Intel Prozessoren noch nie leiden, logisch das die sich durchgesetzt haben..
Alle Intel CPUs sehen von Innen wie eine Krankheit aus.
Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
077
19.04.2013, 18:54 Uhr
kaiOr

Avatar von kaiOr

Yeah, MC68000, SEGA Mega Drive RuleZ!
*duckundflücht*

Baut aber recht groß die CPU....
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
078
19.04.2013, 19:38 Uhr
TTL-Grab



Ich glaube nicht, dass das mit den 68000 Transistoren stimmt. Ich bin mir ziemlich sicher, damals was von 40000 gelesen zu haben. Der Name 68000 ist einfach eine Zehnerpotenz mehr als Motorolas 8Bit-CPU, der 6800.
Ansonsten muss ich Holm voll zustimmen: 68000: absolut geile CPU. Leider hat Motorola den Anschluss verloren. Und die Nachfolgearchitektur, der 88k ist dann dem PowerPC zum Opfer gefallen, so dass es vom dem auch nur den 88100 und 88110 gab.
Gruss Micha
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
079
19.04.2013, 19:39 Uhr
Lötspitze




Zitat:
Ansonsten suche ich als bisheriger "nicht-Z1013-User" eine Kommandoübersicht für den verwendeten Riesa-Monitor, da bin ich in der umfangreichen Linksammlung noch nicht fündig geworden.

Schau mal bei Robbi auf die Webseiten unter: Z1013-Dokumentation-Bedienungsanleitung.

Matthias
--
___________________
...geboren, um zu löten.

Wer rennen soll, muß auch mal stolpern dürfen.

Dieser Beitrag wurde am 19.04.2013 um 19:39 Uhr von Lötspitze editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
080
19.04.2013, 19:40 Uhr
Enrico
Default Group and Edit


Hab das auch schon mal gelesen, dass da 68000 Transistoren drin stecken.
8086, 16 Bit und 68000 32 Bit muss ja ein Unterschied sein.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
081
19.04.2013, 21:22 Uhr
funkheld



Hallo, guten Abend.

Kann man dieses "Xilinx Spartan-3AN FPGA Starter Kit" http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_47&products_id=168 nehmen für den Z1013-Code von ad fontes ? Braucht man für dieses Board noch ein Programmiergerät ? Kann man damit den Z1013 mit 64Kb verwirklichen ?

Danke.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
082
19.04.2013, 21:47 Uhr
ad fontes




Zitat:
Micha schrieb
Der Artikel auf mikrocontroller.net ist wirklich sehr informativ - gefällt mir!
Vollkommen OT bin ich in dem Artikel über die Angabe gestolpert, dass die 68000er CPU 68000 Transistoren enthält. Frage mich seitdem, ob das ein Abschreibefehler ist oder wirklich wahr?

Ansonsten suche ich als bisheriger "nicht-Z1013-User" eine Kommandoübersicht für den verwendeten Riesa-Monitor, da bin ich in der umfangreichen Linksammlung noch nicht fündig geworden.

das die 68k in der typbezeichnung für die anzahl der Transistoren steht habe ich schon vor jahrzehnten gehört und wird daher so ungefähr stimmen.

Befehlsübersicht findet sich dort:
http://www.z1013.mrboot.de/DE/bedienungsanleitung.html#1.3.%20Monitorkommandos%20des%20Z

resp
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
083
19.04.2013, 21:51 Uhr
ad fontes




Zitat:
funkheld schrieb
Hallo, guten Abend.

Kann man dieses "Xilinx Spartan-3AN FPGA Starter Kit" http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_47&products_id=168 nehmen für den Z1013-Code von ad fontes ? Braucht man für dieses Board noch ein Programmiergerät ? Kann man damit den Z1013 mit 64Kb verwirklichen ?

Danke.

Gruss
peter

Ja, der z1013 sollte darauf laufen, das ist auch das board auf das ich bei gelegenheit wechseln werde. Ob man dazu ein extra programmiergerät braucht habe ich noch nicht getestet.

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
084
19.04.2013, 22:06 Uhr
Micha

Avatar von Micha


Zitat:
funkheld schrieb
Kann man damit den Z1013 mit 64Kb verwirklichen?

Falls der Punkt mit den 64 KB deine Priorität #1 ist, bist Du mit dem Altera DE1 schon optimal ausgerüstet, das hat externen SRAM in ausreichender Menge, abnoname hat dafür ja auch schon die Ansteuerung geschrieben. Müssten noch zwei weitere Adressleitungen definiert werden.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
085
20.04.2013, 01:49 Uhr
abnoname



dito! nur gedult. Ich habe erstmal meinen echten z1013 repariert und jetzt werde ich mich etwas einarbeiten. Dann gehts weiter am FPGA.

VG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
086
20.04.2013, 11:31 Uhr
Micha

Avatar von Micha

Hab mir heute schon mal prophylaktisch rausgesucht, wie ich den Z1013 in mein Altera-basiertes Chinaboard permanent reinladen kann. Für das DE1 Board gibt es ein Video auf der Tube, wo das gut nachvollziehbar erklärt wird:

http://www.youtube.com/watch?v=ZrMe8JS7Ktk

Bin dann nur erst mal ins Schleudern gekommen, da mein Board nicht so einen Run/Progr. Umschalter hat. Auf den zweiten Blick erklärlich - der Byteblaster ist hier nicht onboard, es gibt zwei Wannenstecker zum anstöpseln, einer AS, der andere JTAG.

Weitere Erkenntnis: der Bedarf nach einem eigenen Z1013 Reset enfällt, da das Board-Reset dann auch den Z1013 neu startet.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
087
20.04.2013, 11:53 Uhr
abnoname



Üblicherweise gibt es ein Design, welches man in den FPGA lädt, dass dann über den Byte Blaster den Zugriff auf den EEPROM gestattet. Die DE1 Lösung ist halt schick (Run/Prog), aber selten.

War da kein HowTo dabei?

VG

Dieser Beitrag wurde am 20.04.2013 um 11:54 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
088
20.04.2013, 12:21 Uhr
Micha

Avatar von Micha

Leider nicht. Handbuch = Fehlanzeige in dem Fall.
Dabei waren ein Verzeichnis mit den Datasheets der verbauten Elemente, der Schaltplan des Boards sowie eine Handvoll Beispiele mit chinesischen Kommentartexten
Allerdings muss ich zugeben dass der Schaltplan sehr ordentlich und übersichtlich gemacht ist, das ist immerhin schon was.

Mit dem Z1013 Emu auf dem Boot EEPROM gibts übrigens einen kleinen (reproduzierbaren) Bug:
Nach Einschalten des Boards steht im Z1013 Monitor am Prompt ein Buchstabe V. Nach drücken des Reset-Tasters ist dagegen alles in Ordnung.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
089
20.04.2013, 15:05 Uhr
ad fontes




Zitat:
Micha schrieb
Nach Einschalten des Boards steht im Z1013 Monitor am Prompt ein Buchstabe V. Nach drücken des Reset-Tasters ist dagegen alles in Ordnung.

Interessant, habe ich noch nie beobachtet (spartan3-starterkit), ich tippe ganz spontan auf Probleme mit dem Tastaturemulator, vielleicht im Bereich initialisierung des Dual-ports rams.
Hat noch jemenad anders gleiches beobachtet? und welches board (FPGA) wurde benutzt?

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
090
20.04.2013, 16:28 Uhr
Micha

Avatar von Micha

ja, dass der Tastatur-Emu da initial was liefert wo er eigentlich noch nix haben sollte macht Sinn.
Board is vom Typ "Alzheimer", siehe 005:


Zitat:
Persönlich liebäugle ich mit einem China-Altera Board für weitere Versuche:

http://www.ebay.de/itm/Neu-Altera-Cyclone-NIOS-II-FPGA-Development-Board-EP2C8Q208-mit-LCD1602-/111024643371?pt=Wissenschaftliche_Ger%C3%A4te&hash=item19d9959d2b


Dieser Beitrag wurde am 20.04.2013 um 16:30 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
091
24.04.2013, 08:25 Uhr
Bert



So erstmal ein großes Hallo an Alle!

Ich bin der zweite, der auf dem Treffen den Z1013 auf dem FPGA gezeigt hat.
Aus Resetbeständen habe ich noch ein Altium-Livedesign-Board, bestückt mit einem Spartan3-1000. Der hat für's erste genügend Luft nach oben zum Spielen (das Z1013-Design belegt ca. 1/5 vom FPGA).

Vielen Dank an adfontes für das hübsche Projekt!

Schön zu sehen, das es bei Micha jetzt auch läuft.


Mein eigentliches Ziel sind aber auch die KC85/3-5 mehr oder weniger komplett auf's FPGA zu bringen und dort mal mit ordentlich Dampf zu betreiben :-)

Für's erste hab ich die Schaltpläne vom 85/3 in VHDL eingegeben um zu schauen, wie das Ding grundsätzlich funktioniert. Und ja, im Simulator tut sich schon eine Menge. Der Code kommt demnächst (noch ein bissel aufräumen).

Bis dahin, Happy designing.

Grüße
Bert

P.S.: Danke auch an Jörg, für die Pläne zum KC85/5!

Dieser Beitrag wurde am 24.04.2013 um 08:28 Uhr von Bert editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
092
24.04.2013, 10:00 Uhr
funkheld




Zitat:
Mein eigentliches Ziel sind aber auch die KC85/3-5 mehr oder weniger komplett auf's FPGA zu bringen und dort mal mit ordentlich Dampf zu betreiben :-)

Hmm.., iat ja eine Menge was du vorhast.
In diesem KC-System 3-5 ist ja eine Menge drin.
Gerade mit den vielen Modulen die es dazu gibt , USB-Stick, SD-Karte, Grafik und Nerzwerkverbindung.

Ich wäre froh , wenn der kleine Z1013 mit den ganzen Sachen die es in der Vergangenheit gab läuft. Jetz spiele ich gerade mit dem Grafikmodul für den Z1013.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
093
29.04.2013, 08:02 Uhr
Bert




Zitat:
abnoname schrieb
... dafür fehlt der Speicherzugriff per RS232. Siehe oben.

Jetzt nicht mehr :-)
Ich hab mich jetzt endlich mal hingesetzt und einen UART-Loader geschrieben.
Der funktioniert folgendermaßen: Auf PC-Seite wird die Z1013-Datei (mit Header!) zur UART umgeleitet. Unter Linux sieht das so aus:

Quellcode:
cat C.OHIO > /dev/ttyS0

Mit dem ersten Zeichen geht der Z1013 in den Resetzustand. Die ersten 32 Bytes werden als Header nach 0xE0-0xFF gespeichert. Die Startadresse des Headers wird ausgewertet und alle Bytes nach dem Header fortlaufend in den Speicher geschrieben.
Wenn nix mehr kommt, wird nach einem kurzen Timeout der Resetzustand des Z1013 beendet. Dann kann man sich mit

Quellcode:
D E0 F0

den Header anschauen und das Programm mit 'J xxx' entsprechend starten. Die Einsprungadresse ist das 3. 16-Bit-Wort im Header (Bytes 5 und 4).

Mit den Monitorkommandos 'K' und 'I' kann man den Speicher wieder löschen.


Zitat:
ad fontes schrieb
[Tastaturprobleme]
Interessant, habe ich noch nie beobachtet (spartan3-starterkit), ich tippe ganz spontan auf Probleme mit dem Tastaturemulator, vielleicht im Bereich initialisierung des Dual-ports rams.
Hat noch jemenad anders gleiches beobachtet? und welches board (FPGA) wurde benutzt?
MfG,

Ja, auch bei mir hakelt die Tastatur manchmal. Die kommt dann völlig außer Tritt gibt falsche Testen aus, schaltet auf Kleinbuchstaben um oder reagiert gar nicht mehr. Reset hilft nicht, offenbar liegt das Problem nicht im Reset-Pfad. Am PS2-Modul scheint es auch nicht zu liegen, das arbeitet laut logic-analyzer noch. Ich vermute nicht einsynchronisierte Steuersignale am dual-port-ram. Hab ich mir aber noch nicht genau angeschaut.

Auch im Zeichengenerator scheint es noch ein paar Glitches zu geben. Aber seht selbst:


Hier gibt es noch mehr Beispielbilder:
https://www.dropbox.com/sh/2rdjs716fp3fm5m/jFMpDO_4Qp/Z1013

Der Quellcode ist hier:
https://www.dropbox.com/s/klyr4tc6xwdzxvn/rs232.vhd
https://www.dropbox.com/s/q7uhs739qlkntmo/uart_loader.vhd

Grüße
Bert

P.S.: Irgendwie muß ich mir das mit dem Bilder freigeben/einbinden nochmal erklären lassen. Hat evtl. jemand einen Link dazu?
PPS: Links überarbeitet, jetzt hoffentlich mit Bildern.

Dieser Beitrag wurde am 29.04.2013 um 21:58 Uhr von Bert editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
094
29.04.2013, 20:30 Uhr
abnoname



Wunderbar

schieb ich die tage gleich ins de1 projekt.

vg
franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
095
30.04.2013, 12:09 Uhr
ad fontes




Zitat:
Bert schrieb

Zitat:
abnoname schrieb
... dafür fehlt der Speicherzugriff per RS232. Siehe oben.

Jetzt nicht mehr :-)
Ich hab mich jetzt endlich mal hingesetzt und einen UART-Loader geschrieben.
Der funktioniert folgendermaßen: Auf PC-Seite wird die Z1013-Datei (mit Header!) zur UART umgeleitet. Unter Linux sieht das so aus:

Quellcode:
cat C.OHIO > /dev/ttyS0

Mit dem ersten Zeichen geht der Z1013 in den Resetzustand. Die ersten 32 Bytes werden als Header nach 0xE0-0xFF gespeichert. Die Startadresse des Headers wird ausgewertet und alle Bytes nach dem Header fortlaufend in den Speicher geschrieben.
Wenn nix mehr kommt, wird nach einem kurzen Timeout der Resetzustand des Z1013 beendet. Dann kann man sich mit

Quellcode:
D E0 F0

den Header anschauen und das Programm mit 'J xxx' entsprechend starten. Die Einsprungadresse ist das 3. 16-Bit-Wort im Header (Bytes 5 und 4).

Mit den Monitorkommandos 'K' und 'I' kann man den Speicher wieder löschen.


Zitat:
ad fontes schrieb
[Tastaturprobleme]
Interessant, habe ich noch nie beobachtet (spartan3-starterkit), ich tippe ganz spontan auf Probleme mit dem Tastaturemulator, vielleicht im Bereich initialisierung des Dual-ports rams.
Hat noch jemenad anders gleiches beobachtet? und welches board (FPGA) wurde benutzt?
MfG,

Ja, auch bei mir hakelt die Tastatur manchmal. Die kommt dann völlig außer Tritt gibt falsche Testen aus, schaltet auf Kleinbuchstaben um oder reagiert gar nicht mehr. Reset hilft nicht, offenbar liegt das Problem nicht im Reset-Pfad. Am PS2-Modul scheint es auch nicht zu liegen, das arbeitet laut logic-analyzer noch. Ich vermute nicht einsynchronisierte Steuersignale am dual-port-ram. Hab ich mir aber noch nicht genau angeschaut.

Auch im Zeichengenerator scheint es noch ein paar Glitches zu geben. Aber seht selbst:


Hier gibt es noch mehr Beispielbilder:
https://www.dropbox.com/sh/2rdjs716fp3fm5m/jFMpDO_4Qp/Z1013

.

Super, ich schau mal das ich das nach dem Urlaub in den Quellcode nachpflege.

Der Tastaturemulator legt eine Wartepause für die Firmware ein, die ein paar ms für die Auswertung braucht, möglicherweise ist diese für Altera und 10MHz CPU nicht passend. Auch gibt es in diesem Modul ein paar Takt-domainübergänge, die ich auf 50MHz (System)/3.125 (CPU) ausgelegt habe. Falls nichts dagegen spricht, könnte man auch das Xilinx-design auf 10 MHz cpu auslegen.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
096
30.04.2013, 23:18 Uhr
abnoname



Hallo,

wie versprochen eine aktualisierte Version vom DE1 - Port mit der UART Speicherladefunktion Hier mal ein geladenes Basic:



Unter Windows kann man auch prima mit Realterm ein .z80 File über RS232 laden. Geht bei mir am DE1 auch mit nem billig USB Serial Wandler (Profilic):


Änderungen:
- PLL in den Top Wrapper verlagert
- Bidir SRAM Data des redzombie in output / input getrennt
- Datenbusmultiplexing (read / write / uart dma) jetzt auch im Top
- Einbindung von Berts Speicherloader

Danke Bert, jetzt gehts ja richtig voran

Download des Projektes: http://dl.dropboxusercontent.com/u/9187841/Vintage/FPGA_Z1013/Z1013_de1_uart_30042013.zip

VG
Franz

Dieser Beitrag wurde am 01.05.2013 um 14:38 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
097
01.05.2013, 18:36 Uhr
abnoname



Hinweis: das ZIP hinter dem Link hab ich nochmal aktualisiert.

VG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
098
01.05.2013, 18:42 Uhr
Micha

Avatar von Micha

Bert hatte mir ja freundlicherweise in Garitz schnell noch vor Torschluss Deine Version auf das Billig-Cyclone II Board angepasst. Im Augenblick steh ich allerdings grade etwas im Regen, wie ich diese Anpassung mit Deinen Aktualisierungen synchronisieren kann. Zum einen bin ich neu in dem Thema FPGA, zum anderen hab ich mich (in diesem Fall) unglücklicherweise auf das Erlernen von Verilog entschieden.
Eventuell werd ich mir wohl doch erst mal ein DE1 bestellen - dafür gibts bestimmt später auch weitere Verwendung. Denn das ist ja das schöne an diesen Dingern, dass sie so vielseitig sind...

Dieser Beitrag wurde am 01.05.2013 um 18:49 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
099
01.05.2013, 20:25 Uhr
funkheld




Zitat:
Eventuell werd ich mir wohl doch erst mal ein DE1 bestellen - dafür gibts bestimmt später auch weitere Verwendung.

Wenn du das DE1 von einem 64-Bitsystem mit Quartus II laden möchtest , dann funktioniert das nicht. Ich habe 2x 64-Bitsysteme (Notebook) , bei beiden funktioniert das Webpack nicht mit dem Laden. Der Programmer wird nicht erkannt. Man hat mir geschrieben, das ich die Vollversion für 900 Euro kaufen kann, die dann auf ein 64-Bitsystem läuft.
Habe dann das Webpack auf einem Notebook 32-Bitsystem probiert , ist aber sehr sehr langsam. Da die Computer-Systeme immer schneller und besser werden , habe ich mich entschlossen nicht auf einem alten Krümel wegen einem ALTERA-Board mit Quartus II zu wuseln. Man hat mir dann angeboten das Board zurückzugeben. Habe dann von DigiKey ein Rückversandschein bekommen für UPS , Rücksendung war kostenlos. Jetzt sitze ich wieder auf meinen 159 Euro und warte ab.

Gruss
peter

Dieser Beitrag wurde am 01.05.2013 um 20:38 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
100
01.05.2013, 21:18 Uhr
Micha

Avatar von Micha

ich meine das DE1 ist für Hobbyisten eine sehr gute Wahl, was das Verhältnis von Preis zu Komplexität angeht. Das Board selber ist ja unabhängig vom verwendeten Computersystem. Ich selber hab nur ein 32 Bit Windows XP System. Aber dass es für 64 Bit Systeme keine Treiber für den Byteblaster geben soll würde mich sehr wundern. Kann Deine Entscheidung, das DE1 zurückzusenden rational nicht nachvollziehen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
101
01.05.2013, 21:24 Uhr
abnoname



Hallo,

ich leider auch nicht Der Byte Blaster ist ein Standardgerät, was Altera FPGAs angeht. Auf dem DE1 ist er halt integriert. Nunja schade drum. Wenn alle Stricke reisen, dann hätte es ja auch eine XP32bit virtuelle Maschine getan. So arbeite ich übrigens auch: FPGA Entwicklung unter VirtualBox mit nem XP unter Linux.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
102
01.05.2013, 21:41 Uhr
funkheld




Zitat:
Der Byte Blaster ist ein Standardgerät, was Altera FPGAs angeht.

Nur schade das sie den funktionierende 64-Bitsystem-Loader wieder aus dem Webpack rausgenommen haben aus allen zu ladenden Quartus II versionen.
Herr Drost von DigiKey hat mir , nachdem er diese Info aus Amerika bekommen hat , sofort das Angebot gemacht, das Board zurückzugeben. Fang ich sehr entgegenkommend.

Jetzt suche ich ein gutes board Board wo es einen externen "Byte Blaster " gibt und nicht mehr Boardgebunden. Das DE1-Board ist garnicht so übel...aber...


Gruss
peter

Dieser Beitrag wurde am 01.05.2013 um 21:43 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
103
08.05.2013, 08:30 Uhr
Bert



Zum Thema ROM:

Beim Altera-DE1 (abnomane) und beim Altera-China-Cyclone-II (Micha) ist ja die SD-Kartenhalterung schon onboard. Auf dem Xilinx-Spartan3E Board vom Originalautor (ad fontes) ist Flash-ROM verbaut.

Bei mir gibt es leider gar keinen onboard-ROM. Sogar den Configrom hat sich Altium damals gespart :-(

Daher hab ich mir mal in China/Hongkong einen SD-Karten-Modul (ursprünglich für den Arduino) geordert, um dem Z1013-FPGA etwas mehr 'ROM' zu verpassen. Mal sehen ob die Lieferzeit auch wieder 2 Monate ist, oder ob das Ding etwas schneller da ist.


Zum Thema PIO:
@abnomane: Kannst Du mir bitte nochmal den Titel des Heftchens mitteilen, welches Du in Garitz dabeihattest?
Evtl. gibt es ja auch Scans von den wichtigsten Seiten...

Grüße
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
104
08.05.2013, 13:39 Uhr
funkheld



Diese unten ist sauber aufgebaut und funktioniert bei mir an der C-Control-M128-Pro wunderbar. Wenn ich damit ärger habe schicke ich es zügig zurück nach Conrad und brauch mich nicht mit den Chinesen rumärgern.

C-Control Pro SD-Card Interface
Conrad Artikelnummer: 19 72 20

Eine SD-Karte ist kein ROM, zu langsam. Dann steuer lieber ein SRAM an , welches extern am FPGA ist. Software dafür gibt es bei Microcontroller.net für den FPGA.

Gruss
peter

Dieser Beitrag wurde am 08.05.2013 um 13:44 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
105
11.05.2013, 18:15 Uhr
Micha

Avatar von Micha

@funkheld: bist Du sicher dass Deine Entscheidung, das DE1 Board zurückzugeben auf einer korrekten Schlussfolgerung beruhte? 64 Bit Software oder 64 Bit USB Treiber sind schon zwei unterschiedliche paar Schuhe. Da ist es auch egal, ob das Byteblaster mitten in der Strippe zwischen Computer und FPGA Testboard hängt, oder ob es schon auf letzterem fest eingebaut ist.

Hatte die Tage die Ehre, die Quarkus II Software neu zu installieren: Tatsächlich bekommt man als Freeware Version "Web Edition" nur die 32 Bit Version, die läuft allerdings auch auf einem 64 Bit Windows - meistens immer noch zu flott für 'nen Kaffee zwischendurch

Allerdings sind Treiber für das Byteblaster-Programmiergerät sowohl in der Win32 als auch in der Win64 Variante definitiv mit dabei. Installation des Byteblaster-Treibers ist allerdings nicht ganz so idiotensicher wie bei vielen anderen USB-Treibern: man muss schon selber zu dem Treiber "browsen" um dem Windoof anzuzeigen was es machen soll...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
106
11.05.2013, 18:47 Uhr
funkheld



Ist ein Unterschied ob der Byteblaster fest auf dem FPGA-Board ist oder extern.

Wenn der Byteblaster/Software nicht in Ordnung ist, dann bekommt der Händler nur den Byteblaster/Software um die Ohren.


Zitat:
Allerdings sind Treiber für das Byteblaster-Programmiergerät sowohl in der Win32 als auch in der Win64 Variante definitiv mit dabei. Installation des Byteblaster-Treibers ist allerdings nicht ganz so idiotensicher wie bei vielen anderen USB-Treibern: man muss schon selber zu dem Treiber "browsen" um dem Windoof anzuzeigen was es machen soll...

Alles mehrere Tage mit den Kundendienst von Digikey durchgespielt.
Ich habe ein Gerät 64Bit, WIN7-64Bit und keinen 32/64Bit.

Ich werde mir erst wieder ein FPGA-Board holen, wenn alles Wasserdicht ist.

PS: Wie weit seit ihr jetzt schon mit dem Z1013 ? Schon auf 64KB..?
Geht schon das Speichern zum PC über die serielle Schnittstelle, oder soll ein SD-Karte genommen werden?

Gruss
peter

Dieser Beitrag wurde am 11.05.2013 um 18:52 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
107
11.05.2013, 19:24 Uhr
Micha

Avatar von Micha


Zitat:
Alles mehrere Tage mit den Kundendienst von Digikey durchgespielt.

Digikey ist nicht die Kompetenz Nummer 1 was FPGA-Boards angeht. Die sind ein Elektronik-Versand, verkaufen tausende andere Produkte. Mir tun die armen (unterbezahlten) Leute an der Hotline leid, die von rechthaberischen Kunden mit technisch wirren Anliegen bedrängt und belabert werden. Naja, ich sag jetzt nüscht mehr dazu.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
108
11.05.2013, 19:45 Uhr
funkheld



Wer ist heute bei solchen ähnlichen Unternehmen nicht unterbezahlt.
Viele Hotlines in Deutschland sind unterqualifiziert mit den Auskünften und Gehalt. Ich kennen wenige Geschäfte die qualifiziert sind , aber für viele zu teuer. Es ist ein gutes Beispiel hier weiter oben mit den billigen FPGA-Boards aus China, wo diese Sachen sogar mit Kinderarbeit gefertigt werden.

Dann lieber noch Digikey als Kinderarbeit aus China,wo es ein Board für 60 Euro gibt, ist ja nicht normal.

Aber darüber kann man sich lange unterhalten.

Dann lieber darüber, wie weit ihr mit dem Z1013-FPGA seit.

Gruss
peter

Dieser Beitrag wurde am 11.05.2013 um 19:48 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
109
11.05.2013, 20:18 Uhr
Micha

Avatar von Micha

bitte woher hast Du konkret die Information dass das China-Board in Kinderarbeit gefertigt wird?

SMD Zeugs wird typischerweise von Fertigungsrobotern zusammengebaut, das bekommen Menschen garnicht mehr so genau hin.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
110
11.05.2013, 23:33 Uhr
funkheld



So kann man es auch sehen, es beruhigt ein dann.
Nichts ist heute biilig wenn es ehrlich gefertigt wird.

Wie weit seit ihr mit dem Z1013-FPGA ?

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
111
12.05.2013, 23:57 Uhr
ad fontes




Zitat:
funkheld schrieb

Wie weit seit ihr mit dem Z1013-FPGA ?

Gruss
peter

Ich habe heute das FPGA-board aus seiner Urlaubs-Pause geholt, so dass es demnächst mit der Portierung des RS232-IF von abnoname nach Xilinx losgehen kann.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
112
13.05.2013, 23:25 Uhr
Bert




Zitat:
funkheld schrieb
Diese unten ist sauber aufgebaut und funktioniert bei mir an der C-Control-M128-Pro wunderbar. Wenn ich damit ärger habe schicke ich es zügig zurück nach Conrad und brauch mich nicht mit den Chinesen rumärgern.

C-Control Pro SD-Card Interface
Conrad Artikelnummer: 19 72 20

Und kostet das 15fache...
Solange wie Conrad für das bischen Hühnerfutter Mondpreise verlangt, werde ich dort nicht kaufen.


Zitat:
funkheld schrieb
Eine SD-Karte ist kein ROM, zu langsam. Dann steuer lieber ein SRAM an , welches extern am FPGA ist.

Wenn der Z1013 mit Originalgeschwindigkeit läuft, geht wahrscheinlich auch eine SD-Karte als ROM. Wenn nicht, kann man - wie vorgeschlagen - auch eine Datei von der SD-Karte in den SRAM kopieren und diesen als ROM zur Verfügung stellen.


Zitat:
funkheld schrieb
Wie weit seit ihr mit dem Z1013-FPGA ?

Was willst Du hören? Er funktioniert. Und wenn Du die SRAM-Ansteuerung modifizierst, sicher auch mit 64k.

Grüße
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
113
13.05.2013, 23:54 Uhr
ad fontes



Auf meiner Agenda steht neben Anpassung des Source-depots an andere Boards als das meinige:

-Laden/Speichern RAM über RS232 zu PC
-RAM mit externen Speicher (SRAM) statt FPGA-internen Speicherblöcken
-64k RAM
-Interruptsystem einbauen
-PIO vervollständigen
-Tastaturemulator stabilisieren
-Steuerregister für Vorder und Hintergrunfarbe als IO-devices (so nicht im Original)
-Taktsystem vereinfachen (VGA auch mit Systakt 50 MHz)

Weniger gravierend finde ich die Pixelfehler in der letzten Zeile, so dass dies wohl als letztes korriegiert wird. Eventuell wird dabei au8ch die Grundauflösung von 800x600 auf 1024x768 erhöht.

Unzufrieden bin ich noch mit dem Handling der ROM-Files, aus Copyrightgründen sind diese nicht im Source-depot. Über eine Firmware (Monitor) die explizit open source ist, würde ich mich sehr freuen.
Für spätere Erweiterungen in Richtung KC soll auch für den ROM externer Speicher SRAM benutzt werden. Das sollte auch die Konvertierung der ROM-Images zu "FPGA-Code" erübrigen.

Ein wenig habe ich am Konzept für ein eigenes, auf Retrocomputing optimiertes
Board gearbeitet. Für ein solches ist eine SD-Card an einem AVR-USB angedacht, auf der sich die FPGA-Dateien und Programme befinden. Die SDCard fungiert dann auch als Tape/Disc-Ersatz um den RAM/ROM zu laden resp zu sichern.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
114
14.05.2013, 16:31 Uhr
Micha

Avatar von Micha


Zitat:
ad fontes schrieb
Ein wenig habe ich am Konzept für ein eigenes, auf Retrocomputing optimiertes
Board gearbeitet. Für ein solches ist eine SD-Card an einem AVR-USB angedacht, auf der sich die FPGA-Dateien und Programme befinden. Die SDCard fungiert dann auch als Tape/Disc-Ersatz um den RAM/ROM zu laden resp zu sichern.
MfG,

Das liest sich sehr interessant! Wie kann man sich das technologisch vorstellen - stöpselst Du ein FPGA-Minimalboard mit Steckerleisten auf ein konventionelles selbst designetes Board - und ist letzteres für Normal-Löter selber bestückbar, also ohne SMD Fuzzelkram?

Könnte mir sehr gut vorstellen, irgendwann auch mal so einen FPGA Zusatz mit massgeschneiderter Peripherie zu stricken, z.B. um ein PDP11-artiges Frontpanel anzuschliessen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
115
15.05.2013, 06:18 Uhr
ad fontes



1) Für die Diskussion über ein FPGA-basiertes Computer-Nachbau -Board eröffne ich einen neuen Thread. Der hier wird langsam zu lang und soll Z1013 spezifisch bleiben.

2)Tastaturprobleme: In der Datei kyb_emu.vhd gibt es jetzt ein Korrektur die einige Schnelltipp Probleme löst. (wie immer im Source-Depot http://www.mikrocontroller.net/svnbrowser/redz0mb1e/src/vhdl/).

Das Verhalten wenn zwei Tasten auf dem PC gleichzeitig betätigt werden (wie bei der PC-SHIFT nötig) werde ich überdenken müssen. Bis dahin sollte es reichen möglichst keine zwei Tasten gleichzeitig zu drücken oder loszulassen und die Shifttaste ist immer als erstes zu drücken resp. loszulassen. Ein paar milisekunden zwischen Tastenaktionen sollten reichen. ;-)

Bitte Fehlerreports zur Tastatur und anderes weiterhin hier melden.

3) Ih habe begonnen das Source-depot auf mehrere boards umzustellen. Das makefile, ucf, Arbeitsverzeichnisse, logdateien und top-vhdl-file für "mein board" sind aus dem Verzeichniss /starterkit (wird demnächst gelöscht) in das Verzeichniss /board_specific/Xilinx/Spartan-3_StarterKit/ (http://www.mikrocontroller.net/svnbrowser/redz0mb1e/board_specific/Xilinx/Spartan-3_StarterKit/ ) gerutscht.

MfG,

Dieser Beitrag wurde am 15.05.2013 um 06:25 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
116
15.05.2013, 14:56 Uhr
Micha

Avatar von Micha

Ich hab mal bisschen in dem code gestöbert. Auch wenn ich nicht VHDL lerne, ist meistens doch ziemlich gut zu erahnen um was es geht. Was mich verblüfft ist die Tatsache wie einfach der SRAM controller aussieht. Ist das wirklich alles oder gibts da noch irgendwo anders versteckten Zusatzcode?


Quellcode:
--RAM

SRAMController: process(sel_ram_n, wr_n, data4cpu, addr)
begin
    if wr_n = '0' then
        --write to SRAM
        ramWe_N <= '0';        
        ramOe_N <= '1';
        ramData <= data4cpu;
    else
        -- read
        ramWe_N <= '1';
        ramOe_N <= '0';
        ramData <= (others => 'Z');
        data4ram <= ramData;
    end if;

    ramCe_N <= sel_ram_n;        
    ramAddr <= addr(13 downto 0);
end process;

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
117
15.05.2013, 15:08 Uhr
abnoname



Nö das wars :-)

Der Code ist sogar noch sehr redundant und wäre noch kleiner zu bauen. Geht eigentlich sogar ohne Prozess als rein kombinatorischer Part.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
118
15.05.2013, 17:52 Uhr
funkheld



Na, dann kann man ja die 512KB-SRAM auf dem FPGA-Board ansprechen ....
Jetzt fehlt nur noch die SD-karte auf dem FPGA-Board....



Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
119
15.05.2013, 21:01 Uhr
abnoname



Das geht schon lange?!

Hab ich doch gleich beim Port auf den Cyclone II im Altera DE1 implementiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
120
15.05.2013, 21:59 Uhr
Micha

Avatar von Micha

Das wirklich beeindruckende an dem Code ist dessen Einfachheit! Nachdem ich die letzten Tage zum Thema SRAM am FPGA gegoogelt hatte, hab ich die spärlichen Ergebnisse (gibt wenig konkrete Informationen, die meisten verweisen auf die vorgefertigten Mega-Funktionen der jeweiligen FPGA Hersteller) genutzt um einen ziemlich umständlichen Zustandsautomaten zu modellieren - der am Ende nicht richtig funktionierte und aus viel mehr Code bestand - muss eben noch einiges lernen ;(

Etwas suspekt ist mir die Belegung des Adressbusses:

Quellcode:
ramAddr <= addr(13 downto 0);

Kann man sich drauf verlassen, dass die oberen Adressleitungen zum SRAM konstant bleiben und nicht floaten? Ich hatte sowas in der Art (Verilog Syntax, sorry) gemacht, also die oberen Adressleitungen definiert gesetzt:

Quellcode:
assign ramAddr = {4'b0000, addr};

Hab allerdings keine Ahnung ob man das zwingend machen muss. Ist so die eingebrannte Denkweise dass unzugewiesene Eingänge floaten können.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
121
16.05.2013, 07:40 Uhr
abnoname



Man muss dazu sagen, dass der Code von mir natürlich kein Handling der Signale zur rechten Zeit übernimmt. Da verlässt er sich ganz auf ad fontes Core mit dem T80.

Wenn du jetzt stand alone mit dem SRAM arbeiten möchtest, dann sollte man schon mit einer state machine dafür sorgen, dass die Addresse zeitlich stabil anliegt und danach erst gelesen / geschrieben wird. Man stelle sich nur vor, write ist auf enable und die Addresse ändert sich (was natürlich nie 100% zeitgleich auf allen Leitungen erfolgt)...

Mit den MSBs auf der RAM Addresse hast du Recht. Das ist unschön :-)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
122
16.05.2013, 12:38 Uhr
funkheld




Zitat:
Hab ich doch gleich beim Port auf den Cyclone II im Altera DE1 implementiert.

Ich meinte jetzt die Programme vom Z1013 auf die SD-Karte speichern und wieder in den Speicher vom Z1013 laden. Ohne das man jetzt den PC bemühen muss.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
123
16.05.2013, 14:35 Uhr
abnoname



Hehe, ne das ist ein beträchtlicher Aufwand, wenn man es richtig macht.

Ich denke, da führt kein Weg an einem zweiten Softcore (der parallel zum Z1013 im FPGA arbeitet) vorbei, wenn mit Dateisystem (FAT) von der SD Karte gelesen/geschrieben werden soll. Sowas in VHDL zu bauen, halte ich nicht für sinnvoll.

...wenn ich nur etwas mehr Zeit hätte.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
124
16.05.2013, 23:11 Uhr
ad fontes




Zitat:
abnoname schrieb
Hehe, ne das ist ein beträchtlicher Aufwand, wenn man es richtig macht.

Ich denke, da führt kein Weg an einem zweiten Softcore (der parallel zum Z1013 im FPGA arbeitet) vorbei, wenn mit Dateisystem (FAT) von der SD Karte gelesen/geschrieben werden soll. Sowas in VHDL zu bauen, halte ich nicht für sinnvoll.

Die ct' hat es hier: http://www.heise.de/ct/artikel/Loetfreies-Basteln-291660.html
gezeigt das man besser einen Mikrocontroller dazwischenschaltet um eine SDCard am FPGA zu betreiben. Dann kann man den FPGA auch von der SD-Karte konfigurieren. Die SDCard ist eben nicht nur ein Flash, den ab einer beliebeigen Speicheradresse berschreiben/lesen kann. http://www.maximintegrated.com/app-notes/index.mvp/id/3969

Dazu kommt noch die Implementierung eines Filesystems (FAT16) resp eines Treibers für dieses. Lt. heise artikel ist das auch für einen AT-Mega kein Papenstiel, vielleicht auch ein Grund warum CP/M Filesysteme nur rudimentär (keine Unterverzeichnisse) implementierte.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
125
17.05.2013, 16:07 Uhr
funkheld



Hmmm..., für dieses Vorhaben würde sich der kleine Raspberry Pi wunderbar eignen. Kostet nur 25 Euro (der mit 256MB-SDRAM) und man kann ihn seriell am FPGA andocken, weil beide 3,3 Volt haben. Wenn man weiter ist mit der Programmierung dann kann es auch über SPI gehen, können der Grosse und der Kleine . Einfach und Wirkungsvoll. Wenn man die Daten rüberschickt, übernimmt alles weitere der Kleine , ob für noch freien SDRAM oder die SD-Karte:
http://www.vesalia.de/d_raspberrypi[7968].htm

Auch könnte ich mir vorstellen, das er als Zwischenglied für das HDMI-Bild genommen wird. Weil das VGA-Bild doch für die FPGA einiges an Arbeit abverlangt im Programmieren und bald veraltet ist.
FPGA ohne Bildquälerei und ohne SD-Kartenquälerei ist doch ein Vorteil für die anderen Projekte die dort konstruiert werden.


Gruss
peter

Dieser Beitrag wurde am 18.05.2013 um 12:11 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
126
23.05.2013, 16:53 Uhr
Bert




Zitat:
funkheld schrieb
Auch könnte ich mir vorstellen, das er als Zwischenglied für das HDMI-Bild genommen wird. Weil das VGA-Bild doch für die FPGA einiges an Arbeit abverlangt im Programmieren und bald veraltet ist.

Dann mußt Du aber das Bildsignal auch per SPI zum Raspi übertragen.
Und VGA per SPI (oder Z1013-Bildinhalt per SPI) klingt zwar nicht unmöglich, aber auch irgendwie nach Bastelei.

Und ein VGA-Signal im FPGA zu erzeugen ist einfach: Zwei Zähler und eine Handvoll Komperatoren. Und eine Datenquelle, die aus Zeile und Spalte eine Farbinformation liefert. Ich denke VGA 'veraltet' genauso schnell wie RS232...

Grüße
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
127
29.05.2013, 00:05 Uhr
ad fontes



Zwei kleine Bugfixes:
Tastatur: u.U. wurde die gedrückte Z1013 Shifttaste nicht freigegeben das sollte gefixed sein. Was bleibt an mir bekannten Fehlern bleibt, ist ein Feststehen der Tastatur nach Drücken mehrere Tasten gleichzeitig. In einem solchen Zustand worden einige (gefühlt 2-7) Tastenanschläge nicht angenommen, bis es wieder weitergeht.

Zeichendarstellung: Unterlängen wie bei "g","j" und "y" werden jetzt korrekt dargestellt.

Die Bugfixes beschränken sich auf die Dateien video.vhd und kyb_emu.vhd

Quellen wie immer da:
http://www.mikrocontroller.net/svnbrowser/redz0mb1e/src/vhdl/?sortby=date#dirlist

MfG,
Volker
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
128
04.06.2013, 02:52 Uhr
ad fontes



Ich könnte ein gebrauchtes Altera DE0 )http://www.altera.com/education/univ/materials/boards/de0/unv-de0-board.html) einsetzen. Obwohl hier das Nachfolgeboard DE1 verwendet wird, spricht doch nichts dagegen. Oder?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
129
04.06.2013, 08:16 Uhr
abnoname



Das hat leider kein SRAM :-(
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
130
04.06.2013, 08:21 Uhr
ad fontes




Zitat:
abnoname schrieb
Das hat leider kein SRAM :-(

Stimmt, hat SDRAM aber keinen SRAM, also Memorycontroller einsetzen ...
da spricht doch sehr für "1" statt "0".
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
131
19.06.2013, 11:53 Uhr
funkheld



Hallo, guten Tag.

Könnt ihr Core-Enwickler euch vorstellen , mit dieser Gruppe zusammenzuarbeiten :
http://www.retro-programming.de/?page_id=3628
und eure Entwicklungen hier rauf laufen zu lassen:

Turbo Chameleon 64
--------------------------------
Ich Zitiere:
TC64: Cores
Ein Amiga am C64
Eine Möglichkeit des Turbo Chameleon 64, für die ich den Entwicklern sehr dankbar bin, ist es, neben dem C64 Core auch noch bis zu 15 weitere aufzunehmen. Jens, Peter, Tobias und das restliche TC64-Team haben die Möglichkeit geschaffen, dass auch andere FPGA-Entwickler Kerne für das Turbo Chameleon erstellen können.
--------------------------------


Ich glaube in einer Gruppenarbeit lässt sich ein Core Z1013 leichter verwirklichen für den FPGA und es gibt nur ein Platinensystem.
Man braucht kein Hellseher zu sein das die Chancen da gut stehen.
Der Verkauf von diesem Sytem ist eigentlich schon gut in gang gesetzt worden über : http://www.vesalia.de/d_chameleon.htm
Leider verstehe ich die Programmierung eines Core nicht.

Auch ist es möglich, den FPGA vorübergehend für seine eigenen Entwicklungen zu nutzen ohne das die Spiele-Core genommen werden.

Gruss
peter

Dieser Beitrag wurde am 19.06.2013 um 12:19 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
132
19.06.2013, 19:25 Uhr
tp




Zitat:
funkheld schrieb
Eine Möglichkeit des Turbo Chameleon 64, für die ich den Entwicklern sehr dankbar bin, ist es, neben dem C64 Core auch noch bis zu 15 weitere aufzunehmen. Jens, Peter, Tobias und das restliche TC64-Team haben die Möglichkeit geschaffen, dass auch andere FPGA-Entwickler Kerne für das Turbo Chameleon erstellen können.

Dann sollte man aber vor der Entscheidung auch Seite 3 des Schaltplanes lesen:

Zitat:
Dear reader,
page 3 of the Chameleon schematics is not open. It contains power setup, filters and analogue circuits. You will not need any of this for making your own FPGA core for Chameleon.
Kind regards,
Jens Schönfeld


--
Die Zeit ist auch nicht mehr, was sie mal war! (Albert Einstein)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
133
19.06.2013, 19:45 Uhr
Micha

Avatar von Micha

Heute ist grade mein DE1 Board mit der Post gekommen *freu*. Insofern drücke ich mal ganz egoistisch die Daumen, dass die Entwickler diesem Board treu bleiben (abnoname) bzw. dort hin migriern (ad fontes)

Beeindruckend am DE1 ist für mich spontan dessen Verarbeitungsqualität. Und etwas googeln zeigt auch, dass es jede Menge Futter dafür gibt. Besonders freu ich mich drauf, eine PDP/11 mit einem urtümlichen UNIX drauf auszuprobieren.

Das Chameleon ist davon abgesehen tatsächlich eine interessante Entwicklung. Für einen C64 Begeisterten ist es ganz sicher ein "Muss", offenbar gibt es ja eine recht aktive Entwicklergemeinde, die speziell Computer der Heimcomputer-Ära dafür umsetzt. *Vermutlich* hat das Chameleon etwas mehr Ressourcen als das DE1. Mit dem *Vermutlich* schneide ich allerdings einen Punkt an der mich beim Recherchieren genervt hat: es ist verdammt schwer, die technischen Specs des Chameleon auf den entsprechenden Webseiten zu finden. Da wird jede Menge über verfügbare Cores und deren Besonderheiten schwadroniert, aber eine Tabelle mit technischen Daten findet man nicht (also welche FPGA, wieviel SRAM, DRAM u.s.w.). Lediglich im Handbuch für FPGA Programmierer hab ich gefunden dass die FPGA "ein Cyclon III" ist. Na toll. Das ist ne Familie mit Leistungsdaten von...bis.

Ich denke, da müssen die Jungs um Jens Schönfeld aufpassen dass sie es nicht wieder genauso vergeigen wie vor ca. 10 Jahren mit dem Commodore One.

Dieser Beitrag wurde am 19.06.2013 um 19:50 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
134
19.06.2013, 19:52 Uhr
abnoname



Daumen hoch für Standardhardware, also DE1 ;-)

Irgendwelche Nischenlösungen behindern nur die Popularität eines Projektes. Ein DE1 Port existiert von fast jedem Retro Projekt. Viele haben ein DE1. ...also?

Mal schauen, wann ich etwas weiter mache. Zur Zeit ist mir erstmal nur eines, nämlich zu warm :-)

VG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
135
20.06.2013, 08:28 Uhr
funkheld



Na, dann drück ich die Daumen auch für das DE1, das man bald unanahängig den Z1013 nur von der SD-Karte betreiben kann ohne dauernd die zusätzliche serielle Schnittstelle zum PC zu nutzen.

Nach dem Mötto: SD-Karte rein und los geht es.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
136
20.06.2013, 19:26 Uhr
funkheld



Hallo, guten Tag.

Zitat:
es ist verdammt schwer, die technischen Specs des Chameleon auf den entsprechenden Webseiten zu finden.
Da wird jede Menge über verfügbare Cores und deren Besonderheiten schwadroniert, aber eine Tabelle mit technischen Daten findet man nicht

Da hast du aber einen schlechten Internetbrowser ?

Die Info sind hier alle leicht zu finden und sauber aufgelistet:
http://wiki.icomp.de/wiki/Chameleon
Und hier die VHDL , die mit Quartus kompiliert werden können:
http://syntiac.com/zips/chameleon_hwtest2.zip

Interessant sind die SD-karten-Timing

Diese 3 Developer Information geben das ganze Innnenleben/Speicher bekannt mit Timer usw:
- Chameleon programming manual
- Core development manual
- The Schematics

Gruss
peter

Dieser Beitrag wurde am 20.06.2013 um 19:31 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
137
20.06.2013, 19:48 Uhr
Micha

Avatar von Micha


Zitat:
Da hast du aber einen schlechten Internetbrowser ?

Die Info sind hier alle leicht zu finden und sauber aufgelistet:
http://wiki.icomp.de/wiki/Chameleon

Ach du Held... (wer sich schon sellber Held nennt in seinem Pseudo... neenee)
alles was dort aufgelistet ist, sind Kompatibilitäten zum Commodore System, und welche Heimcomputer noch so auf dem Chameleon laufen. Aber die eigentlichen technischen Specs des Boards sind sehr schwer zu finden.
Für nen Commodore-Fanboy sind die sicher nebensächlich. Es gibt derzeit kaum was anderes auf der Schiene! Aber wer sonst noch so ein Board kaufen möchte, ohne total Commodore fixiert zu sein, möchte sicher gern ein Datenblatt sehen. Um z.B. gegen das DE1 zu vergleichen, welche Leistung man fürs Geld bekommt.
Garkeine Frage: irgendwo steckt die Information, aber sie ist verdammt gut versteckt...

Bin übrigens von dem DE1 und seinem Leistungsumfang wirklich begeistert! Sehr ordentlich auch die CD, mit Tutorials, Übungen, Doku. Einziger Wermutstropfen: bei dem von digikey gekauften Board ist ein Steckernetzteil mit 7,5V und US Stecker dabei. Muss ich mir entweder nen Adapter besorgen oder mal in den Schaltplan schauen ob die Kiste auch mit einem vorhandenen 9V Netzteil zurechtkommt...

Dieser Beitrag wurde am 20.06.2013 um 19:56 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
138
20.06.2013, 20:32 Uhr
abnoname



Hallo Micha,

das Board lässt sich über +5V USB versorgen :-)

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
139
20.06.2013, 22:38 Uhr
funkheld




Zitat:
Board ist ein Steckernetzteil mit 7,5V und US Stecker dabei

Ein Urlaubsadapter für 1,2 Euro und du bist dabei.


Zitat:
Ach du Held... (wer sich schon sellber Held nennt in seinem Pseudo... neenee)

Ich bin stolz darauf ein Funkheld zu sein, ich habe mit 63 Jahren 10/2012 meine Amateurfunklizenz "A" bestanden , alle Prüfungsfächer mit Null-Fehler. Und das ohne Vorkenntnisse in nur 9 Wochen.
Mein Rufzeichen DH1PBA , wenn du das nach machst, dann bist du auch ein Funkheld. Hier mein Rufzeichen eingeben, ich will ja nicht angeben...grins :
http://ans.bundesnetzagentur.de/Amateurfunk/Rufzeichen.aspx

Gruss

Dieser Beitrag wurde am 21.06.2013 um 09:55 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
140
25.06.2013, 22:07 Uhr
ad fontes



Hab ich mir mal kurz angeschaut, nachdem ich über den WDR-Computerclub darüber gestolpert bin.
http://www.youtube.com/watch?v=5pymxsNdtKo

ab 24:20

abgeschreckt hatte mich damals die Formulierung "ist immer noch beta" und der Preis von 200 €. Allerdings hat eine etablierte Community auch ihre Vorteile. Anschreiben kann ja nicht schaden.

MfG,
Volker


Zitat:
funkheld schrieb
Hallo, guten Tag.

Könnt ihr Core-Enwickler euch vorstellen , mit dieser Gruppe zusammenzuarbeiten :
http://www.retro-programming.de/?page_id=3628
und eure Entwicklungen hier rauf laufen zu lassen:

Turbo Chameleon 64
--------------------------------
Ich Zitiere:
TC64: Cores
Ein Amiga am C64
Eine Möglichkeit des Turbo Chameleon 64, für die ich den Entwicklern sehr dankbar bin, ist es, neben dem C64 Core auch noch bis zu 15 weitere aufzunehmen. Jens, Peter, Tobias und das restliche TC64-Team haben die Möglichkeit geschaffen, dass auch andere FPGA-Entwickler Kerne für das Turbo Chameleon erstellen können.
--------------------------------

Gruss
peter

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
141
25.06.2013, 22:19 Uhr
ad fontes




Zitat:
Micha schrieb
Heute ist grade mein DE1 Board mit der Post gekommen *freu*. Insofern drücke ich mal ganz egoistisch die Daumen, dass die Entwickler diesem Board treu bleiben (abnoname) bzw. dort hin migriern (ad fontes)

Kann sich zwar alles schnell ändern, es sieht aber derzeit nicht aus das ich kurzfristig auf ein DE2-board wechsle. In letzter Zeit ist einiges aus Familienkasse in Hardware geflossen, da droht die liebe Frau schon mit dem Nudelholz ;-)
Allerdings ist darunter auch so eine Art Altera-Evalboard ( ;-) -> http://sourceforge.net/apps/trac/welecw2000a/ ) eine Brücke zum DE2 ist also gelegt.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
142
25.06.2013, 22:56 Uhr
funkheld




Zitat:
Allerdings ist darunter auch so eine Art Altera-Evalboard ( ;-) -> http://sourceforge.net/apps/trac/welecw2000a/ ) eine Brücke zum DE2 ist also gelegt.

Na spätestens Heiligabend 2013 wird das Nudelholz aufhören zu schwingen, dann musst du zuschlagen und die gute Stimmung ausnutzen zum DE2...

Gruss
peter

Dieser Beitrag wurde am 25.06.2013 um 22:57 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
143
26.06.2013, 18:09 Uhr
Micha

Avatar von Micha

Eine Anregung meinerseits, die von den Entwicklern des FPGA Z1013 hier eventuell aufgegriffen werden könnte:

Ich bastel ja derzeit auch mit FPGA rum, seit einiger Zeit experimentiere ich mit der Ansteuerung eines VGA-Monitors - bzw konkret der Darstellung eines Zeichensatz-basierten Text-Modus. Hatte mir zum Experimentieren einen 8x8 Pixel Zeichensatz hergenommen, sowie im konkreten Fall auf Basis des 640x480 VGA-Modus einen Textmodus 80x30 gebastelt. Sah bisschen eckig und steril aus, aber klappte soweit. Irgendwann kam ich beim Betrachten der Bilder von klassischen Computern darauf, dass man ja mit einem 8x8 Pixel ZS und einer 8x16 Darstellung was geiles anstellen kann:
Einfach nur in jeder zweiten Zeile was darstellen, und in diesen Zeilen dann auch eine kleine Helligkeit erzeugen an den Positionen wo nichts ist.
Natürlich ist das Ergebnis pures Augenpulver, sieht aber dafür schön nostalgisch aus. Auf einem Eval-Board könnte man ohne Probleme zwischen so einem "Nostalgie" Modus und normaler Darstellung umschalten, genug Schiebeschalter sind ja vorhanden...

Hoffe das Bild veranschaulicht, was ich meine:


Dieser Beitrag wurde am 26.06.2013 um 18:19 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
144
28.06.2013, 11:13 Uhr
funkheld



Hallo, sieht gut aus.
Die Scans dürfen nur nicht zu gross sein.
Die Helligkeit der aktiven Punkte muss diese Lücken etwas mehr überdecken.
Das Verfahren kann man bei allen Oltimer-Emulatoren ein und-ausschalten.

Beim längeren Programmieren an diesem Bildschirm geht es aber sehr auf die Augen.

Gruss
peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
145
29.06.2013, 01:27 Uhr
Micha

Avatar von Micha

Stimmt - das ist Augenpulver pur, auf Dauer kann man damit nicht wirklich arbeiten. Ausserdem muss ich zugeben, dass der Nostalgie-Effekt die Vergangenheit u.U. schlechter macht als sie wirklich war - je nach Computer natürlich. Ich hab heute abend noch mal einen PC1715 in Betrieb genommen und mir die Zeichendarstellung mit der Lupe angeschaut - die ist wirklich ziemlich detailiert und konturenscharf - besser als in meinem nachgeahmten Beispiel. Offenbar hatte der 1715 aber auch einen Zeichensatz mit mehr als 8 Zeilen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
146
01.07.2013, 22:09 Uhr
ad fontes



Hm, bei meinen 8 Farben auf dem S3-Starterkit, klappt es mit "a bisserl Helligkeit dazwischen"
nicht. Aber für 8 bit Farben überlegenswert, auch in Hinblick auf eine portable Variante in Batteriebetrieb, da die leerzeile Strom sparen. Man könnte auch andere Nostalgieeffekte nachstellen, vielleicht eingebranden Text als Schatten ;-) ("CODEZAHL EINTASTEN")

MfG,
Volker U.



Zitat:
Micha schrieb

Ich bastel ja derzeit auch mit FPGA rum, seit einiger Zeit experimentiere ich mit der Ansteuerung eines VGA-Monitors - bzw konkret der Darstellung eines Zeichensatz-basierten Text-Modus. Hatte mir zum Experimentieren einen 8x8 Pixel Zeichensatz hergenommen, sowie im konkreten Fall auf Basis des 640x480 VGA-Modus einen Textmodus 80x30 gebastelt. Sah bisschen eckig und steril aus, aber klappte soweit. Irgendwann kam ich beim Betrachten der Bilder von klassischen Computern darauf, dass man ja mit einem 8x8 Pixel ZS und einer 8x16 Darstellung was geiles anstellen kann:
Einfach nur in jeder zweiten Zeile was darstellen, und in diesen Zeilen dann auch eine kleine Helligkeit erzeugen an den Positionen wo nichts ist.
Natürlich ist das Ergebnis pures Augenpulver, sieht aber dafür schön nostalgisch aus. Auf einem Eval-Board könnte man ohne Probleme zwischen so einem "Nostalgie" Modus und normaler Darstellung umschalten, genug Schiebeschalter sind ja vorhanden...


Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
147
20.09.2013, 19:52 Uhr
funkheld



Hallo, guten Tag.
Wie weit ist denn jetzt euer Projekt gewachsen für den FPGA-DE-1 ?

Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
148
29.09.2013, 13:32 Uhr
ad fontes




Zitat:
funkheld schrieb
Hallo, guten Tag.
Wie weit ist denn jetzt euer Projekt gewachsen für den FPGA-DE-1 ?

Hallo funkheld,
seit einer Woche habe ich ein Altera-Board. Kein DE1, sondern ein LPRP
(LowPower Reference Platform - http://download.siliconexpert.com/pdfs/2013/5/21/4/17/42/934/arw_/manual/low_power_quickstart.pdf)

wenn reichelt die passenden Verbinder geliefert hat, kann ich VGA dranfrimmeln.
Von anderen Aktivitäten um den Z1013 zu portieren, ist mir nichts bekannt.

Ein Projekt mit dem ioch zur Zeit beschäftigt bin, ist ein FPGA-interner VGA-Logicanalyzer. Dann geht die Fehlersuche leichter von der Hand:

http://www.mikrocontroller.net/articles/Durchblicker

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
149
29.09.2013, 13:39 Uhr
abnoname



Passt jetzt gut zum kommenden Herbst :-)

Wie kommts, dass du auf Altera umschwenkst? (macht mir natürlich den Port etwas leichter...)

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
150
29.09.2013, 17:46 Uhr
funkheld



Hmm..., das Board sieht ja gut aus.

Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
151
01.10.2013, 06:13 Uhr
ad fontes



Hallo funkheld,

ich bin bei dieser Umfrage:
http://www.mikrocontroller.net/topic/306995
auf das board aufmerksam geworden. Es war auch sehr preiswert zu haben:
www.mikrocontroller.net/topic/307310

Obwohl ich eigentlich auf VGA auf dem Evalboard bestehe, werd ich mal die Bastellösung ausprobieren. Ist sicher nicht verkehrt mehr boards für Retroprojekte am Start zu haben.



Zitat:
funkheld schrieb
Hmm..., das Board sieht ja gut aus.

Gruss


Dieser Beitrag wurde am 01.10.2013 um 06:14 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
152
01.10.2013, 06:25 Uhr
ad fontes



Herbst - Bastelzeit? Malschauen wieviel ich zeit ich finde, ein richtiger Tiefschneewinter bei dem man nicht mehr aus dem Haus kommt wäre
da zweckdienlicher ;-)

Ich halt mir immer eine Tür in Richtung Altera offen - verbessert die beruflichen Perspektiven. Zumal die erwähnte Umfrage ( http://www.mikrocontroller.net/topic/306995 ) ergab, das sich im Hobby bereich Xilinx und Altera die Waage halten. Und bei Altera scheint das boardangebot nicht so zersplittert zu sein, wie bei Xilinx. Die DE board sind ja wohl auch mehr für Schulen ausgelegt, einen Bereich
indem sich die die 8bit-Veteranen als nützlich erwiesen haben.

MfG,
Volker


Zitat:
abnoname schrieb
Passt jetzt gut zum kommenden Herbst :-)

Wie kommts, dass du auf Altera umschwenkst? (macht mir natürlich den Port etwas leichter...)

VG
Franz

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
153
09.10.2013, 16:25 Uhr
Herzi



@ad fontes, Sehr cooles Projekt!

Gibt es den schon eine Portierung für den Minimig?

Wen nicht, ich könnte mich bei Gelegenheit mal bei machen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
154
09.10.2013, 21:02 Uhr
ad fontes



Danke für die Blumen ;-)
Meines Wissens gibt es noch keine ports für ander Xilinx-boards, aber für Altera.
Meld dich mal wenn es beim Portieren klemmt. Bspw. ist die VHDL-Variante nicht im Sourcedepot aber im Artikel steht wie man sich eine strickt.

Und andere FPGA-Entwickler mit Poertierungserfahrung lesen hier auch mit, Unterstützung sollte also kein Problem sein. Wenn Du nicht alles auf einen rutsch schaffen willst wäre es IMHO eine gute Idee zuerst das Bild auf den Schirm zu zaubern (erstes Bild oben). Das läuft ohne CPU und Tastatur.

MfG,








Zitat:
Herzi schrieb
@ad fontes, Sehr cooles Projekt!

Gibt es den schon eine Portierung für den Minimig?

Wen nicht, ich könnte mich bei Gelegenheit mal bei machen.

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
155
09.10.2013, 23:21 Uhr
Herzi



Das hört sich doch sehr gut an, vor allem wen man weiß wo man Hilfe bekommen kann, Super!

Ich werde mir die kommenden Tage mal alles in ruhe zur Brust nehmen und mir die vorhanden Sourcen mal anschauen, biss jetzt habe ich alles nur grob überflogen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
156
09.10.2013, 23:52 Uhr
Micha

Avatar von Micha


Zitat:
ad fontes schrieb
...Das läuft ohne CPU

war das ein Scherz oder ein Verschreiber?

Was mich tatsächlich ausserdem interessieren tuen täte: was ist eigentlich der Status bezüglich SD-Card?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
157
10.10.2013, 21:04 Uhr
ad fontes



Kein Scherz, das Testbild ist im Bildspeicher hinterlegt, der RAM im FPGA wird beim Laden entsprechend beschrieben. Die VGA-Ausgabe sind nur ein paar Counter und Zeichen-ROM. Der Bildspeicher muss sogar CPU-seitig readonly gesetzt werden (Schreibleitung abklemmen) da sonst das Testbild überschrieben wird.

Die SD-Card ist m.E. für einen kleinen FPGA zu aufwendig, da ein ganzes Filesystem bedient werden muß, die RS232 Variante zum Speicher schreiben/lesen ist mir genug.

MfG



Zitat:
Micha schrieb

Zitat:
ad fontes schrieb
...Das läuft ohne CPU

war das ein Scherz oder ein Verschreiber?

Was mich tatsächlich ausserdem interessieren tuen täte: was ist eigentlich der Status bezüglich SD-Card?

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
158
11.10.2013, 16:16 Uhr
Herzi




Zitat:
ad fontes schrieb...Die SD-Card ist m.E. für einen kleinen FPGA zu aufwendig, da ein ganzes Filesystem bedient werden muß...

Ich will mich jetzt nicht zu weit aus dem Fenster hängen, aber ich glaube da etwas fertiges brauchbares zu haben und zwar ist das der PIC bzw. ARM Controller vom Minimig, der befindet sich auf einer extra LP, der kann HDs sowie Disk-Images über SD-Karten verwalten und wird dann über ein OSD gesteuert, Filesystem und Co ist natürlich auch drin.

Sowie mein Core vollständig läuft mache ich mich bei und schau mal ob da etwas geht, das dürfte auch relativ einfach werden den dann auch an andere FPGAs zu knoten.

Das einzige Problem was ich habe... ich bin überhaupt kein Softi, also um Softwareanpassungen & Co müsste sich dann jemand anders kümmern.

Alternative wäre noch der Core teil vom Chameleon64, da läuft ein weiteres System mit allem drum und dran im Hintergrund der sich genau so um das File handling kümmert wie der PIC bzw. ARM vom Minimig.


btt...

Ich habe mir den Core zum Z1013 angeschaut und wollte einen Probelauf machen...

Problem, der verwendete Z80 Core ist so groß das der nicht mal zur Hälfte in den FPGA passen würde (kann aber gut sein das ich misst gebaut habe!), da musste also etwas anderes her. Hier habe ich mich für den TV80 entschieden, die Basis ist wohl auch der T80.

Insgesamt muss ich zugeben das ich durch einige VHDL teile nicht ganz durch gestiegen bin und als ich dann bei den verschieden CLKs angekommen bin habe ich aufgegeben.
Angefix wie ich jetzt aber war... habe ich angefangen alles in Verilog neu zu pinseln, das fällt mir wesentlich leichter. (VHDL war noch nie meine stärke.)

Das eigentliche Grundgerüst läuft schon mal, nun muss halt drum rum noch eine menge gefrickelt werden, mal schauen, ich halte euch auf dem laufenden.


Z1013 auf dem Minimig.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
159
11.10.2013, 17:21 Uhr
abnoname



Der T80 im Z1013 von ad fontes passt nur auf Xilinx problemlos rein, da dort alles in BRAMs gefittet wird.

Du kannst dir meinen port (Link siehe Signatur) anschauen. Der läuft auf einem Altera DE1 und hat bereits die nötigen Anpassungen.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
160
11.10.2013, 17:51 Uhr
Herzi



Habe ich da jetzt etwas durcheinander gewürfelt mit den T80 Cores?

Wie geschrieben, mit dem T80 von OpenCores war nichts zu machen, der TV80 dagegen passt locker rein, der FPGA ist ein Xilinx Spartan3-400. Noch ein Vorteil bei dem TV80 ist das "cen" Signal (CLK-Enable), so braucht man nicht mit x verschiedenen Takten herumeiern. Da muss ich aber noch mal ran, so 100% gefällt mir das noch nicht.

Den VGA teil habe ich auch neu gepinselt, sind ca. 150 Zeilen Code ohne Char-ROM wen Interesse besteht und jemand testen will ?!?

Ist aber nur auf Xilinx getestet, ist nicht aufgeräumt und die Kommentare fehlen auch noch!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
161
13.10.2013, 11:31 Uhr
Herzi



Hallöle

Mein letzter VGA-Core für den Z1013 hat mir einfach nicht gefallen, jetzt habe ich den noch mal um gestrickt das gleich für mehrere Auflösungen...
640x480
800x600 40MHz
800x600 80MHz
1024x768

Gibt es ne Möglichkeit hier Code hoch zu laden?

Hat jemand Interesse den VGA-Core mal zu Testen?

Dieser Beitrag wurde am 13.10.2013 um 11:32 Uhr von Herzi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
162
13.10.2013, 11:47 Uhr
ad fontes



Also BRAM (Block-ram) hat der CPU-core nur indirekt zu tun, sondern mit distributed Ram (4er LUT als 16x1 RAM-Zelle). Dazu nutzt der opencores ein libraryelement, was ich anpassen musste weil es sich auf einen älteren FPGA-Typ bezog.
Compiling vhdl file "C:/Users/KommPute/FPGA/projekte/RedZ0mb1E/src/vhdl/RAM16X1D.vhd" in Library work

Damit passt der T80 wunderbar in einen Spartan3- 200. ->

inferred 1 Counter(s).
inferred 213 D-type flip-flop(s).
inferred 9 Adder/Subtractor(s).
inferred 3 Comparator(s).
inferred 8 Multiplexer(s).
inferred 1 Xor(s).

wobei die register aus diesem RAM gebaut wurden:
16x1-bit dual-port RAM : 32

(Ausschnitte aus XST Synthese report)

MfG,



Zitat:
abnoname schrieb
Der T80 im Z1013 von ad fontes passt nur auf Xilinx problemlos rein, da dort alles in BRAMs gefittet wird.

Du kannst dir meinen port (Link siehe Signatur) anschauen. Der läuft auf einem Altera DE1 und hat bereits die nötigen Anpassungen.

VG
Franz


Dieser Beitrag wurde am 13.10.2013 um 11:48 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
163
13.10.2013, 11:50 Uhr
ad fontes




Zitat:
Herzi schrieb
Hallöle

Mein letzter VGA-Core für den Z1013 hat mir einfach nicht gefallen, jetzt habe ich den noch mal um gestrickt das gleich für mehrere Auflösungen...
640x480
800x600 40MHz
800x600 80MHz
1024x768

Gibt es ne Möglichkeit hier Code hoch zu laden?

Hat jemand Interesse den VGA-Core mal zu Testen?

Wenn meine SVN - Verbindung wieder steht, könnte ich das in das Z1013 sourcedepot einlagern.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
164
13.10.2013, 12:02 Uhr
abnoname




Zitat:
ad fontes schrieb
Also BRAM (Block-ram) hat der CPU-core nur indirekt zu tun, sondern mit distributed Ram (4er LUT als 16x1 RAM-Zelle). Dazu nutzt der opencores ein libraryelement, was ich anpassen musste weil es sich auf einen älteren FPGA-Typ bezog.
Compiling vhdl file "C:/Users/KommPute/FPGA/projekte/RedZ0mb1E/src/vhdl/RAM16X1D.vhd" in Library work

Damit passt der T80 wunderbar in einen Spartan3- 200. ->

inferred 1 Counter(s).
inferred 213 D-type flip-flop(s).
inferred 9 Adder/Subtractor(s).
inferred 3 Comparator(s).
inferred 8 Multiplexer(s).
inferred 1 Xor(s).

wobei die register aus diesem RAM gebaut wurden:
16x1-bit dual-port RAM : 32

(Ausschnitte aus XST Synthese report)

MfG,



Zitat:
abnoname schrieb
Der T80 im Z1013 von ad fontes passt nur auf Xilinx problemlos rein, da dort alles in BRAMs gefittet wird.

Du kannst dir meinen port (Link siehe Signatur) anschauen. Der läuft auf einem Altera DE1 und hat bereits die nötigen Anpassungen.

VG
Franz


Stümmt. BRAM Zellen hatten damit nichts zu tun. Allerdings liesen sich die (korrekterweise) distributed RAM Zellen im Altera auch nicht umsetzen. Ich habe dann die technologieunabhängige RAM16X1D eingebaut, so dass die Synthese freie hand hatte.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
165
13.10.2013, 12:06 Uhr
Herzi




Zitat:
ad fontes schrieb
Wenn meine SVN - Verbindung wieder steht, könnte ich das in das Z1013 sourcedepot einlagern.

Öhmm... Soll ich dir den Code als Mail zukommen lassen? Wen ja pinselst du mir bitte deine Mail Adresse in einer PM.

Schade das hier die Forensoftware so etwas nicht zulässt, echt schade.

Was den Z80 Core angeht werde ich später noch mal genauer testen, wie schon gepinselt ist es gut möglich das ich bei den ersten versuchen Blödsinn gemacht habe.

Dieser Beitrag wurde am 13.10.2013 um 12:17 Uhr von Herzi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
166
18.10.2013, 12:42 Uhr
Herzi



Hi Ho

Könnte mir jemand mal weiter helfen bei der Vollständigen Keyboard Belegung zum Brosig-Monitor-2.029-k7659?

Konkreter, ich habe nun alles was ich finden konnte durch, aber nirgendwo passt die Keyboard-Matrix 100%. Beispielsweise passen bei allen Layouts die ich gefunden habe Tasten "Pfeil-Links", "Pfeil-Rechts", "Pfeil-Oben", "Pfeil-Unten", "<", ">", "-" nicht.

Teilweise habe ich das durch Zufall und wildes probieren schon raus bekommen, das ist aber SEHR SEHR mühsam.

Mir würde also eine Keyboard Matrix reichen wie sie der "Brosig-Monitor-2.029-k7659" haben will.

Danke im voraus, Herzi.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
167
18.10.2013, 13:32 Uhr
Micha

Avatar von Micha

im Beitrag 045 hat Volker auf seine Homepage verwiesen, dort findet man Unterlagen zu der Brosig-Tastatur.
Dieser Beitrag wurde am 18.10.2013 um 13:37 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
168
18.10.2013, 19:59 Uhr
Herzi



Danke Dir Micha, genau von Volkers Seite habe ich mir ja die Belegung ab geschaut...
http://hc-ddr.hucki.net/wiki/doku.php/z1013:erweiterungen:tastatur

Dort die Handzeichnung unter "8x12-Tastatur and 2.02-Monitor", da will das mit dem Layout einfach nicht so richtig passen, Spalten 6 & 7.

Ist aber halb so wild, so langsam habe ich alles durch probiert, es fehlen jetzt nur noch für 4 Tasten die Belegungen.

@Volker, ein großes Lob für Deine Seite, wirklich sehr schön und informativ, DANKE!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
169
20.10.2013, 13:47 Uhr
Herzi



Tastatur lüppt jetzt wie sie soll.... und das OSD vom Minimig ist auch gleich mit dazu gekommen.


(Die Bild Qualität kommt vom schlechten Monitor!)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
170
22.10.2013, 22:18 Uhr
ad fontes



Also Z1013 läuft jetzt auch auf Mimik?!!! - feine Sache!



Zitat:
Herzi schrieb
Tastatur lüppt jetzt wie sie soll.... und das OSD vom Minimig ist auch gleich mit dazu gekommen.


(Die Bild Qualität kommt vom schlechten Monitor!)

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
171
23.10.2013, 19:12 Uhr
Herzi




Zitat:
ad fontes schrieb
Also Z1013 läuft jetzt auch auf Mimik?!!! - feine Sache!

Jo. :rock:

Im Moment vom OSD schaltbar...
- Takt, ca. 2 oder 28MHz. (Ist etwas krumm vom Board Oszillator.)
- 1,16,32 oder 64KB RAM.
- Volle Adresskodierung An/Aus.
- Reset.

Eine Sache ist auch gleich noch mit hinzugekommen wo ich mich von Dir Inspirieren lassen habe... Den Upload über RS232, ist echt ne Super Idee.

Muss aber zugeben das ich mir am Anfang einige Krücken selber gestrickt habe die mir am ende einen ganzen Tag Kopfschmerzen gemacht haben... Einige Programme gingen, einige nicht, verfluchte Sche.... noch mal.

Und anstatt ich Dämel mir die Dateien mal anschaue...

Wo ich also erst später drauf kam, das Problem ist das einige Dateien noch Bytes am ende haben wo sich meine State dachte... Hoppla ein neues Programm... Peng.

Nun gut, das lüppt jetzt auch und ignoriert einfach alles was nach der Endadresse kommt.

Was mich aber dann wieder Genervt hat, ist das ich immer noch nicht 'einfach' mitbekomme was Start & Ende ist, also auch da noch Fix etwas zu gestrickt.

So sieht das jetzt aus....


Hier wird über den DMA in die erste Bildzeile die Startadresse, Endadresse und der Namen gepinselt. Neue Idee ist aber das ganze auszulagern in den Rahmenbereich so das der eigentliche Bildspeicher nicht angefasst wird, dürften nur ein paar Zeilen Code werden.


Tante Edith...
Beim 2/28MHz Takt wird nicht der Takt geschallten sondern das Enable Signal so das man auf effektive 2MHz kommt.

Dieser Beitrag wurde am 24.10.2013 um 18:57 Uhr von Herzi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
172
24.10.2013, 23:12 Uhr
ad fontes



abnoname hat bei seinen Port eine Ladefunktion über terminal implementiert (siehe Beitrag 96). Wenn ich mich recht erinnere nimmt der die "file"-länge aus der Headerinfo (Stichwort Headersave) Genaugenohmen ist es wohl die Endadresse die im Header vermerkt wird. Sobald die schreibroutine diese erreicht hat, hört sie auf. ("wenn ich mich recht erinnere"). Siehe auch http://hc-ddr.hucki.net/wiki/doku.php/z1013:software:headersave?do=export_odt

MfG,
Volker




Zitat:
Herzi schrieb

Zitat:
ad fontes schrieb
Also Z1013 läuft jetzt auch auf Mimik?!!! - feine Sache!

Jo. :rock:



Eine Sache ist auch gleich noch mit hinzugekommen wo ich mich von Dir Inspirieren lassen habe... Den Upload über RS232, ist echt ne Super Idee.

...

Wo ich also erst später drauf kam, das Problem ist das einige Dateien noch Bytes am ende haben wo sich meine State dachte... Hoppla ein neues Programm... Peng.

Nun gut, das lüppt jetzt auch und ignoriert einfach alles was nach der Endadresse kommt.

auch da noch Fix etwas zu gestrickt.
...
.

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
173
25.10.2013, 00:15 Uhr
Herzi




Zitat:
ad fontes schrieb
abnoname hat bei seinen Port eine Ladefunktion über terminal implementiert (siehe Beitrag 96). Wenn ich mich recht erinnere nimmt der die "file"-länge aus der Headerinfo (Stichwort Headersave) Genaugenohmen ist es wohl die Endadresse die im Header vermerkt wird. Sobald die schreibroutine diese erreicht hat, hört sie auf. ("wenn ich mich recht erinnere"). Siehe auch http://hc-ddr.hucki.net/wiki/doku.php/z1013:software:headersave?do=export_odt

MfG,
Volker

Hi Volker, das kommt davon wen man nicht alles liest, ich dachte die Upload Idee kam von Dir.

Also DANKE an abnoname!

Jo, und das mit dem Header hätte ich mir vorher anschauen sollen, hätte mir wohl ein Tag Arbeit erspart.

Wie weiter oben schon geschrieben ist VHDL nicht ganz so mein Ding, darum habe ich mir auch nicht alles zu 100% angeschaut, Sorry.

Mir geht es mit Verilog wesentlich schneller von der Hand, darum habe ich biss auf die CPU und der PIO alles in Verilog neu gepinselt.

Kleines Update bei mir...

Die Statuszeile für den Upload ist nun nicht mehr im Z1013 Bildschirmspeicher und kann auch wieder übers OSD ein und ausgeschaltet werden.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
174
26.10.2013, 10:17 Uhr
Herzi



Nach einigem trubel mit meinem RS232 Core bzw. dem Baudraten CLK bin ich wieder ein Stück weiter.


Kommt im Moment noch nicht von der SD-Karte sondern muss noch über die RS232 übertragen werden... das dauert bei über 2MB natürlich etwas, aber es haut hin.

Ps.:
Ach so... am RAM & CPU Modul habe ich auch noch etwas gefrickelt, nun läuft der kleine mit 2 oder 50MHz.

Dieser Beitrag wurde am 26.10.2013 um 10:24 Uhr von Herzi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
175
06.01.2014, 18:22 Uhr
PeterSieg



An die FPGA Guru's hier.

Ich versuche mich mal an die Portierung des z1013 auf ein Spartan3E Starter Kit board.

in ROM.VHD:
--use work.bm204_empty_pkg.all; -- "empty firmware" (only endless loop)
use work.bm204_202_pkg.all; --2k ROM Vers. 202 (8x4 keybord)
--use work.bm204_pkg.all; --4k ROM (Address line A11 = 1 = -> Vers. 202 else Vers a2)

=> fehlt mir wohl der fertige 2k Rom: Datei:bm204_202_pkg.vhdl
Kann mir das jemand fertig irgendwo zum Download anbieten/per Mail senden?
(C) dafür dürfte doch niemand ersthaft noch halten..?

Habe es ersteinmal mit bm204_empty_pkg übersetzt.

Ich habe nur Pins assigned für
vga (r,g,b,h_sync,v_sync)
rx,tx
sys_clk = 50MHz (C9 in meinem Board) <= Ist das der Main Clock?
ps2_clk,ps2_data
rst

Ich habe nichts gemacht für irgendwelche anderen Pins/Signale!?
Insbesondere nicht für irgendein SRAM, das hat das S3E Board nicht!
Im Text/Artikel auf MK las ich was von BRAMs.

Nun damit wurde zumindest ein bit File erzeugt.
Wegen dem leeren Rom macht aber ein weiterer Test wenig Sinn..

Peter

Dieser Beitrag wurde am 06.01.2014 um 18:24 Uhr von PeterSieg editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
176
06.01.2014, 19:17 Uhr
ad fontes




Zitat:
PeterSieg schrieb
An die FPGA Guru's hier.

Ich versuche mich mal an die Portierung des z1013 auf ein Spartan3E Starter Kit board.

in ROM.VHD:
--use work.bm204_empty_pkg.all; -- "empty firmware" (only endless loop)
use work.bm204_202_pkg.all; --2k ROM Vers. 202 (8x4 keybord)
--use work.bm204_pkg.all; --4k ROM (Address line A11 = 1 = -> Vers. 202 else Vers a2)

=> fehlt mir wohl der fertige 2k Rom: Datei:bm204_202_pkg.vhdl
Kann mir das jemand fertig irgendwo zum Download anbieten/per Mail senden?
(C) dafür dürfte doch niemand ersthaft noch halten..?

Peter

SRAM braucht meine Implementierung nicht. Für das ROM habe ich eine Anleitung geschrieben, wie man die PROM bitMuster (daher BM) nach VHDL konvertiert.
http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA#.28P.29ROM-Images

die DDR -BM gibts hier:
http://www.ddr-bauteile.de.vu/

Das 204 sind real zwei Firmwaren zwischen den per Jumper einer genutzt wird (8x4 Tastatur oder "Komfort-Tastatur). Ich hab das dann auf eine (202 - 8x4 Tastatur) abgestript um einen FPGA-BRAM zu sparen. Post kommt demnächst.


MfG,

Dieser Beitrag wurde am 06.01.2014 um 19:30 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
177
06.01.2014, 20:19 Uhr
abnoname



Hallo Peter,

oder hier mein Port aufs DE1 mit UART RAM Loader: http://abnoname.blogspot.de/2013/07/z1013-auf-fpga-portierung-fur-altera-de1.html

Benötigt aber im Gegensatz zu ad fontes Original einen externen SRAM. Die ROM Images sind in dem Archiv drin. Das Projekt ist komplett, quasi ready to built:
http://dl.dropboxusercontent.com/u/9187841/Vintage/FPGA_Z1013/Z1013_de1_uart_30042013.zip

Bert hatte das damals wieder vom Altera DE1 auf einen Spartan 3 portiert, was in weniger als einer Stunde auf dem Robotron-Treffen gelang :-)

VG
Franz

Dieser Beitrag wurde am 06.01.2014 um 20:20 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
178
06.01.2014, 20:20 Uhr
PeterSieg



Super! Danke.
Nun z1013 gibt die Einschaltmeldung!
(Blauer Hintergrund; schwarze Schrift)
und # Prompt.

Nun muss ich mich wohl in z1013 Monitor und RS232 Programmload einlesen ;-)

Macht es Sinn einen Schalter einzubauen, um zw. beiden ROM-Monitoren umzuschalten?

Die Farben muss ich auch noch mal suchen.. schwarzer Hintergrund und grüne Schrift oder weißer Hintergrund und schwarze Schrift.. mal sehen..
Ist Tiny Basic auch bereits im ROM (ich denke nicht.. und muss geladen werden)?

Ersteinmal vielen Dank für die Hilfe.
Außer dem UCF mit Pin-Assignments habe ich nicht ändern müssen.

Peter

Dieser Beitrag wurde am 06.01.2014 um 20:22 Uhr von PeterSieg editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
179
06.01.2014, 21:27 Uhr
ad fontes




Zitat:
PeterSieg schrieb
Super! Danke.
Nun z1013 gibt die Einschaltmeldung!
(Blauer Hintergrund; schwarze Schrift)
und # Prompt.

Nun muss ich mich wohl in z1013 Monitor und RS232 Programmload einlesen ;-)

Macht es Sinn einen Schalter einzubauen, um zw. beiden ROM-Monitoren umzuschalten?

Die Farben muss ich auch noch mal suchen.. schwarzer Hintergrund und grüne Schrift oder weißer Hintergrund und schwarze Schrift.. mal sehen..
Ist Tiny Basic auch bereits im ROM (ich denke nicht.. und muss geladen werden)?

Ersteinmal vielen Dank für die Hilfe.
Außer dem UCF mit Pin-Assignments habe ich nicht ändern müssen.

Peter

ROM-Umschalten macht keinen Sinn, der PS2-Tastatur Umsetzer ist auf die orginale 4x8 angepasst. der müsste dann neu geschrieben werden. Wenn anderes ROM der ?Borsig?-Monitor. Steht oben was dazu.

Farben (vorder und hintergrund) (bei mir 3bit VGA) habe ich auf Schalter auf "meinem FPGA.board (Spartan3-Starter) gelegt um sie umzuschalten (plus "schutzschaltung um vordergrund=hintergrund zu verhindern).

Voreinstellung Farbe ist in video.vhd:
CONSTANT C_COLOR_BG :T_COLOR := "001"; --blue
CONSTANT C_COLOR_FG :T_COLOR := "110"; --yellow

Tiny Basic ist nicht im ROM, aber es gibt ein package das den FPGA-BRAM gleich mit tiny basic initialisiert (so wie beim ROM). dann im Moni nur noch J 100 tippern und basic läuft. (src/ram_tinybasic.vhd)

Da kommt nochmal post.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
180
07.01.2014, 08:47 Uhr
PeterSieg



Super. Danke!
Probiere ich heute abend gleich mal aus.

Ist das Laden von Programmen (*.z80) bereits implementiert im xilinx code?
Falls nein, wie ist da dran zu kommen?
Falls ja, wo kann man dazu lauffähige Programme für den hier simulierten 16k z1013 finden?

(Danke für die Post mit ram_tinybasic)

---
Es gibt übrigens die mit 30€ schon sehr günstigen VGA Boards für Arduinos:
http://www.ebay.de/itm/Olimex-Mod-vga-Arduino-Gameduino-Vga-Video-Xilinx-Spartan-Fpga-Shield-Uext-/271248654589?pt=Wissenschaftliche_Ger%C3%A4te&hash=item3f27ae00fd

Der FPGA XC3S200 dürfte etwas zu klein sein, ansonsten wäre viel passend drauf..
---

Peter

Dieser Beitrag wurde am 07.01.2014 um 08:55 Uhr von PeterSieg editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
181
07.01.2014, 09:25 Uhr
PeterSieg



z80 Programme habe ich hier gefunden:
http://www.z1013.de/

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
182
07.01.2014, 18:25 Uhr
PeterSieg



Farbumstellung hat geklappt:
col_fg => "111",
col_bg => "000");
-- col_fg => DIP_Switches_8Bit_GPIO_in(7 downto 5),
-- col_bg => DIP_Switches_8Bit_GPIO_in(2 downto 0));

-- CONSTANT C_COLOR_BG :T_COLOR := "000"; --black
-- CONSTANT C_COLOR_FG :T_COLOR := "111"; --white

---

Anscheinend ist da Basic schon im Ram?
J 100 springt jedenfalls ins Basic!
Danach klappt aber wohl ein Reset nicht mehr sauber..?

---

Wie funktioniert das mir den z80 laden.
Z.B. mit galactika.z80 - Startadresse ist 0200
Als Textdatei senden in Hyperterminal??

Peter

Dieser Beitrag wurde am 07.01.2014 um 18:33 Uhr von PeterSieg editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
183
07.01.2014, 21:18 Uhr
ad fontes




Zitat:
PeterSieg schrieb

Anscheinend ist da Basic schon im Ram?
J 100 springt jedenfalls ins Basic!
Danach klappt aber wohl ein Reset nicht mehr sauber..?

Wie funktioniert das mir den z80 laden.
Z.B. mit galactika.z80 - Startadresse ist 0200
Als Textdatei senden in Hyperterminal??

Peter

Reset ist hier neukonfigurieren des FPGA's da steht auch das tiny basic wieder im RAM.

In meiner Fassung ist kein LADEN des RAM's per rs232 oder ähnlich implementiert. Da ich mir aus den binaries wie im verwiesenen Text ein passendes vhd file bastele, das den BRAM entsprechend initilisiert, brauche ich eine LADE-Möglichkeit nicht unbedingt. Sozusagen all-inklusive Lösung: Compter+Firmware+Anwendungssoft in einem FPGA-Image.

Dazu ist eigentlich nur der header wegzuschnippsel und das Programm als Hex ab der im Header angegebenen Startadresse in der Konstante abzulegen.


abnoname hat eine rs232 laderoutine für sein Altera-board geschrieben (siehe irgendwo oben). Er hat allerdings keinen BRAM als Arbeitsspeicher verwendet,
sondern einen SRAM. der sich leider nicht während der FPGA-Konfiguration "vorladen" lässt.

Der FPGA XC3S200 ist garnicht so klein wie es den Anschein hat, bei mir läuft der Z1013 komplett auf einem S3-200 und es ist noch einiges frei:

Number of RAMB16s 11 out of 12 91%
Number of Slices 1329 out of 1920 69%
Number of SLICEMs 60 out of 960 6%

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
184
08.01.2014, 11:24 Uhr
PeterSieg



Ahh, ok. Das ist aber wirklich schade, das dein Design noch keine Laderoutine hat!
Man will doch nicht immer ein neues Design synthethisieren nur um ein anderes Programm verfügbar zu machen..

Nun, ich schaue mir die Routine mal an.. evtl. kriegt man da etwas hin..
Ich bin allerdings blutiger Laie was VHDL/Verilog angeht :-(

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
185
08.01.2014, 13:39 Uhr
PeterSieg



Im Prinzip sollten sich doch auch Daten als HEX Werte über Hyperterminal send laden lassen, wenn man vorher M <startadresse> eingibt?

Problem: Ich bekomme auf meiner Tastatur kein ; Zeichen hin, um die M Routine wieder verlassen zu können..?

Frage: RS232 ist ja implementiert.. Wozu? Was kann man aktuell damit machen?
In Hyperterminal sehe ich nichts und reagiert auch nicht auf Eingaben..?

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
186
08.01.2014, 16:26 Uhr
abnoname



RS232 ist in meinem Projekt drin. Mit 9600 Baud auf den Z1013 verbinden. Alle Daten, die dann ankommen, landen an der Adresse, die im Header steht.


Quellcode:
process
    begin
        wait until rising_edge( clk);
        -- defaults
        ramOe_N <= '1';
        ramCE_N <= '1';
        ramWe_N <= '1';

        -- time out counter
        if timeout > 0 then
            timeout <= timeout - 1;
            active  <= '1';
        else
            -- reset address and header
            address <= to_unsigned( header_address, 14);
            header  <= 0;
            active  <= '0';
        end if;

        -- state machine for ram access
        case state is
          when IDLE =>
            if data_en = '1' then
              ramAddr <= std_logic_vector( address);
              address <= address + 1;
              ramData <= data;
              ramCE_N <= '0';

              -- interpret start address from header
              -- change save address on end of header
              if header < 32 then
                case header is
                    when 0 =>
                        start_address( 7 downto 0) <= data;
                    when 1 =>
                        start_address(15 downto 8) <= data;
                    when 31 =>
                        address <= unsigned( start_address( address'range));
                    when others =>
                end case;
                header <= header + 1;
              end if;
              
              state   <= ADDR;
              timeout <= timeout_range;
              active  <= '1';
            end if;
      
          when ADDR =>
            ramWe_N <= '0';
            ramCE_N <= '0';
            state   <= IDLE;

        end case;
    
    end process;

PS. Der Uart Loader ist übrigens von Bert. Ich habe dann auf SRAM modifiziert.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
187
08.01.2014, 18:59 Uhr
PeterSieg



Danke! Ich fürchte, da muss ich noch ein paar Jahre auf die FPGA Weide, um das umzusetzen..

Nun zumindest ins Ram packen hat mit galactika funktioniert:
http://petersieg.bplaced.net/?Spartan3E_SK:Z1013

Ich denke nachwievor, wäre es super, wenn parallel (oder über Schalter) entweder über PS/2 Tastatur oder über serielle Schnittstelle Zeichen eingebbar wären.
Dann könnte man HEX Dateien mit vorangestelltem M xxxx per Textdatei senden
übertragen..

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
188
08.01.2014, 22:21 Uhr
ad fontes



OK also das semikolon geht tatsächlich nicht, wie ich grad an meinem Board feststellen musste. Ich werde demnächst die Datei kyb_emu_pkg.vhd entsprechend anpassen. Doppelpunkt ':' will auch nicht während < und > implementiert sind. Sollte nach zwei Einträgen in der Umsetzertabelle funktionieren. Das könnte ich übers Wochenende schaffen.

UART habe ich auch einen eigenen implementiert, der hängt aber nur am 7seg-display. Damit habe ich das Senden an den Z1013 überprüft. Was fehlt ist die Verbindung UART an RAM. Da hats zwei Konzepte:
1)der RAM ist da FPGA-Blockram vom Typ Dual Port - an den zweiten Port kann also recht simple der SRAM Loader von abnoname geflanscht werden.

2)über den Z80 DMA,. Der CPU wird der Bus entzogen, dann entstehen auch keine Schreib/Lesekonflikte.

Ich hab mich für 2 entschieden, aber wegen anderer Projekte (z.B. dies: http://www.mikrocontroller.net/articles/Durchblicker ) zurückgestellt.

BTW: ich hab hier auch ein Spartan3E board zu liegen, sogar dasselbe wie auf deinen Fotos. Da würd ich gernbei gelegenheit deine Anpassungen (bspw. ucf) hier testen und ins svn depot einpflegen.

MfG,

Dieser Beitrag wurde am 08.01.2014 um 22:23 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
189
09.01.2014, 11:15 Uhr
PeterSieg



@ad fontes: Prima! UCF findest du im obigen Link im ZIP File. Ebenfalls im ZIP ist RAM.VHD mit galactika drinnen und ein bin2hex.c +.exe das aus einem Bin File ein gut passendes HEX File für VHDL erzeugt (Quick Hack!).

Bei den fehlenden Tasten warte ich dann auf dein kyb_emu_pkg.vhd.

Zu dem RS232 upload kannst du ja mal hier schauen:
http://code.google.com/p/rekonstrukt/
http://members.optushome.com.au/jekent/system09/index.html

Ich denke den RS232 Kanal als gleichberechtigten Eingabekanal parallel zu PS/2 zu öffnen hat schon seinen Charm. Ein Upload von Programmen wäre damit mitteln M xxxx genauso möglich wie ein Download mittels D xxxx yyyy, wenn man auch die andere Richtung öffnet.

Aber wie heißt es so schön.. wer sich um die Implementierung kümmert darf auch entscheiden was und wie es gemacht wird..;-)

Hauptsache eine Uploadmöglichkeit.

Danke+Gruß,
Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
190
09.01.2014, 14:59 Uhr
meikel

Avatar von meikel

Ein interessantes Projekt.

Da ich absolut keine Ahnung von programmierbarer Logik habe, diesbezüglich sicher/goffentlich nicht der Einzige bin und mich das Thema aber interessiert:
bestände die Möglichkeit, daß mich einer der Experten mal aufklärt?

1. Hardware: entweder Altera DE1 oder Xilinx Spartan3. Beinhaltet der Lieferumfang des entsprechende developer boards die Flash-Software und eventuell sogar VHDL IDE (?) oder muß man sowas extra erwerben?

2. reicht die Hardware der beiden Boards grundsätzlich aus - Tastatur + Monitor anschließen und "Energie" - oder sind noch Erweiterungen erforderlich?

3. da meine Englischkenntnisse mangelhaft sind - jut etwas besser als mein Restwissen der russischen Sprache isses schon: gibt es diesbezüglich brauchbare deutschsprachige Literatur im Netz (HTML oder PDF)?

4. bestände eventuell sogar die Möglichkeit, daß mal einer an einem janz simplen Beispiel - zB. einen Frequenzzähler oder sowas - die "Verdrahtung", die Software, die Verbindung mit dem Board und den Flashvorgang beschreibt? Dann hätte ich zumindest ein funktionierendes Beispiel, auf dem ich aufbauen könnte.

Dieser Beitrag wurde am 09.01.2014 um 15:00 Uhr von meikel editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
191
09.01.2014, 17:12 Uhr
PeterSieg



Links:
http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA
http://members.optushome.com.au/jekent/FPGA.htm
http://www.fpga4fun.com/PongGame.html

Hier gibts ein Buch als PDF. Handelt sich um xilinx+Spartan3:
http://radio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme%20dedicate/carte.pdf

Geh mal davon aus, das wenn man es lernen will, man ca: 30-40GB! Plattenplatz braucht und der Rechner sollte schon mind. Dual-Core und 2GB Ram haben.

Tutorial auf deutsch:
http://www-wjp.cs.uni-saarland.de/lehre/hadeprak/block_ws11/tutorial.pdf

Es gibt im wesentlichen 2 Linien ( - Software):
Xilinx - ISE Webpack
Altera - Quartus

Für beide gibt es kostenlose Software vom Hersteller nach Registrierung!
Beide verstehen VHDL und Verilog.

Das Altera DE1 ist wie hier schon gesagt quasi ein 'Standard' und es gibt viel Software/Cores dafür (z.B Minimig). Mit Hochschul-Lizenz auch recht günstig:
http://www.altera.com/education/univ/materials/boards/de1/unv-de1-board.html
Ohne Schul-Lizenz direkt bei Terasic am günstigstens:
http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=83

Ansonsten hast du ja auch obigen ebay Link eines Arduino VGA Moduls
gesehen. Macht 30€ + Xilinx Programmer (25-30€).

Die Starter Kits/DE1 haben einen USB Programmer bereits drauf.

Peter

Dieser Beitrag wurde am 09.01.2014 um 17:15 Uhr von PeterSieg editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
192
09.01.2014, 19:00 Uhr
meikel

Avatar von meikel

Danke für die Infos.


Zitat:
Ansonsten hast du ja auch obigen ebay Link eines Arduino VGA Moduls gesehen. Macht 30€ + Xilinx Programmer (25-30€).

Die Starter Kits/DE1 haben einen USB Programmer bereits drauf.

Wenn ich es richtig verstanden habe, werden die Briefmarken via JTAG gefüttert (seriell, parallel oder USB).

Die Frage ist nur: wie sieht das Futter aus? Die VHDL Quelltexte werden es ja wahrscheinlich nicht sein.
Gibt es da nen Compiler oder ist der Bestandteil zB. von Xilinx - ISE Webpack?
Welches Programm füttert die USB Schnittstelle so, daß auf der anderen Seite JTAG rauskommt? Auch der, die, das ISE?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
193
09.01.2014, 19:33 Uhr
PeterSieg



Bei xilinx heißen die Dateien *.bit, bei Altera *.pof.
Beiden werden durch die jeweilige Software erstellt.
Programmer sind ebenfalls bei der Software dabei (Xilinx=Impact).
---
Es gibt wohl auch noch (s)xvf und Open Source Player dafür um die Chips per
JTAG zu programmieren. Aber nach dem Ausschalten verlieren FPGA's ihre
Programmierung! Deshalb gibt es normalerweise immer ein Flash auf den
Boards in dem das Programm abgelegt wird und der FPGA beim Start daraus
seine Konfiguration lädt.
---
Ich denke aber jetzt solltest du anfangen ersteinmal ein wenig selbst zu lesen..

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
194
09.01.2014, 21:13 Uhr
meikel

Avatar von meikel


Zitat:
PeterSieg schrieb
Ich denke aber jetzt solltest du anfangen ersteinmal ein wenig selbst zu lesen.

OK.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
195
10.01.2014, 17:05 Uhr
Herzi



@meikel, wen ich Dir auch noch einen heißen Tipp geben kann, schau dir DRINGEND auch die dazugehörigen Simulatoren an, fux Dich da als erstes ein, denn gerade am Anfang läuft doch alles ganz ganz anders als man es selber im Kopf hat.

Ob jetzt auch gleich so ein Dickes FPGA Board sein muss... Hm, muss jeder selber wissen, um aber mal einfach ein paar Zeilen Verilog/VHDL zu probieren, da reichen auch kleine PLDs, die gibt es noch passend als 44Pin-PLCC, die mit Fassung auf Lochraster gebraten, ein 555 für den Takt, 2-3 Leds, 5V dran und man kann loslegen, kostet eventuell 10€.

@ad fontes oder wer sonnst noch so am Coden ist, wie ist denn das Interesse an CTC, SIO, PIO & Co als Verilog Code? Ich habe "angefangen" und mir eine kleine Testumgebung gestrickt um die besagten auf die Pins schauen zu können so das man die 1 zu 1 gegen testen kann, am ende also so das man wirklich vergleichen kann mit dem was im FPGA landet und das was die echten anstellen.

Hintergrund... Datenblätter sind zwar schön und gut, aber beim Minimig und anderen Projekten hat sich oft gezeigt das dort nicht immer alles richtig und vollkommen niedergeschrieben ist.

Eventuell kommt man bei der Gelegenheit auch dieser "U857 inkompatibel zum Z80-CTC?" Frage auf die schliche, dazu habe ich mir gleich mal beide CTCs besorgt.

Hilfreich wäre es wen noch ein Software Spezi mit helfen könnte, meine Z80 ASM Kenntnisse... na ja, nicht wirklich dolle mal ganz vorsichtig ausgedrückt.

Wie geschrieben, ich habe erst angefangen, kann gut sein das es noch eine weile dauert biss erste brauchbare Ergebnisse raus kommen.


Ps.: Hier ne simple URL einfügen ist ja echt ein Krampf...

http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=9925

PPs.: Hm, nicht so einfach mit den robotrontechnik URLs....

Dieser Beitrag wurde am 10.01.2014 um 17:19 Uhr von Herzi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
196
10.01.2014, 20:20 Uhr
meikel

Avatar von meikel


Zitat:
Herzi schrieb
@meikel, wen ich Dir auch noch einen heißen Tipp geben kann,

Eigentlich wollte ich dazu nix mehr schreiben sondern mir fehlendes Wissen anlesen...

Zitat:
schau dir DRINGEND auch die dazugehörigen Simulatoren an, fux Dich da als erstes ein, denn gerade am Anfang läuft doch alles ganz ganz anders als man es selber im Kopf hat.

Ma guggn

Zitat:
Ob jetzt auch gleich so ein Dickes FPGA Board sein muss...

Deshalb bin ich ja so vorsichtig, weil ich keine Lust habe, mir für 150-200€ ein neues Spielzeug zu kaufen, für das ich möglicherweise zu blöd, zu alt oder beides bin. Mit programmieren habe ich ale Lehrmops angefangen, aber jetzt bin ich Rentner.

Bei den PICs oder auch Atmel Käfern isses relativ einfach:
es gibt diverse Assembler und auch preiswerte Flasher. Nur bei den programmierbaren Logik-ICs finde ich nur teures Zeuch.

Klar: ne preiswerte Xilinx Briefmarke kriegt man schon ab 2€,

<kill>aber wie kriegt man das VHDL via <Software> via <USB Treiber> via <USB -> JTAG> zur Briefmarke...?</kill>

EDIT:
größtenteils geklärt.

Aber dazu will ich erst mal etwas mehr lesen.

Dieser Beitrag wurde am 11.01.2014 um 07:07 Uhr von meikel editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
197
11.01.2014, 21:56 Uhr
ad fontes




Zitat:
Herzi schrieb
@ad fontes oder wer sonnst noch so am Coden ist, wie ist denn das Interesse an CTC, SIO, PIO & Co als Verilog Code? Ich habe "angefangen" und mir eine kleine Testumgebung gestrickt um die besagten auf die Pins schauen zu können so das man die 1 zu 1 gegen testen kann, am ende also so das man wirklich vergleichen kann mit dem was im FPGA landet und das was die echten anstellen.

Hintergrund... Datenblätter sind zwar schön und gut, aber beim Minimig und anderen Projekten hat sich oft gezeigt das dort nicht immer alles richtig und vollkommen niedergeschrieben ist.

Eventuell kommt man bei der Gelegenheit auch dieser "U857 inkompatibel zum Z80-CTC?" Frage auf die schliche, dazu habe ich mir gleich mal beide CTCs besorgt.

Hilfreich wäre es wen noch ein Software Spezi mit helfen könnte, meine Z80 ASM Kenntnisse... na ja, nicht wirklich dolle mal ganz vorsichtig ausgedrückt.

Da die PIO-Implementierung auf dem FPGA-Z1013 unvollständig respective in teilen ungetestet ist, hätte ich vorrangig an diesem Interesse. Für einen PC1715 könnte man auch die SIO + CTC(?) verwenden, aber daran arbeite ich momentan nicht. Normalerweise unterstützen Simulatoren auch gemischten Code-dateien (Verilog + VHDL). Du könntest also deine und die Z1013 Implementierung nebeneinander betreiben und Unterschiede rausarbeiten. Die Z1013 Implementierung hat Defizite im IRQ-System und getestet ist nur das was der Z1013 benötigt.

Der PIO-Code für den Z1013 findet sich als PIO.vhd dort: http://www.mikrocontroller.net/svnbrowser/redz0mb1e/src/vhdl/


MfG, Volker

Dieser Beitrag wurde am 11.01.2014 um 21:59 Uhr von ad fontes editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
198
11.01.2014, 22:10 Uhr
ad fontes



Einige fehlenden Z1013 "Tasten" habe ich nachgepflegt. Für die bei denen man die Alernate Graphics (AltGr)-Taste auf benötigt habe ich einige andere Tasten ausgeborgt.


PS2 - Tastatur Z1013
§ (Shift+3) @
ö [
Ö {
ä ]
Ä }
ü \
Ü |
; ;
: :
* *

Die geänderte Datei kyb_emu_pkg.vhd steht im svn:
http://www.mikrocontroller.net/svnbrowser/redz0mb1e/src/vhdl/kyb_emu_pkg.vhd?view=log

MfG, Volker
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
199
12.01.2014, 18:54 Uhr
PeterSieg



@Volker: Prima. Sieht gut aus!

Danke.
Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
200
13.01.2014, 15:58 Uhr
funkheld




Zitat:
Deshalb bin ich ja so vorsichtig, weil ich keine Lust habe, mir für 150-200€ ein neues Spielzeug zu kaufen, für das ich möglicherweise zu blöd, zu alt oder beides bin. Mit programmieren habe ich ale Lehrmops angefangen, aber jetzt bin ich Rentner.

Darum ich als 64 Jähriger aufgegeben.

Mit Einlesen usw ist es nicht getan.
Mit diesen Dingern tun sich sogar angehende Ing und fertige Ing schwer.
Da mußt du schon Täglich drin bleiben.
Auch über die größe der Geräte für eine Simulation vom C64 ,Z1013 usw ist man sich nicht einig. Einige haben schon auf das 300 Euro teure Gerät gewechselt, weil einige Sachen nicht so richtig laufen bzw sich programmieren lassen "SD-Karte" und der bestimmte Ramspeicher zu klein war.

Auch die Programmiersoftware ist nicht "ohne", wenn du das Board voll auschöpfen möchtest, packst du für die Progarmmiersoftware noch einmal 700 Euro hin.

Einige haben sich die Programmiersoftware wahrscheinlich von der UNi besorgt , programieren dort oder bekommen Studentenrabatt beim kauf der Software.


Zitat:
4. bestände eventuell sogar die Möglichkeit, daß mal einer an einem janz simplen Beispiel - zB. einen Frequenzzähler oder sowas - die "Verdrahtung", die Software, die Verbindung mit dem Board und den Flashvorgang beschreibt? Dann hätte ich zumindest ein funktionierendes Beispiel, auf dem ich aufbauen könnte.

Frequenzzähler...viel spass....das Ding macht schon viel Arbeit.

Achtung: Wenn du die Dinger falsch programmierst, kannst du auch durch die sogenannte Softverdrahtung das Gerät zerstören, du kannst also auch kurzschlüsse programmieren und dein Chip brutzelt durch.
GRuss

Dieser Beitrag wurde am 13.01.2014 um 16:10 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
201
13.01.2014, 22:41 Uhr
PeterSieg



In der Grundaussage stimmen evtl. einige Aspekte.. aber ganz so dolle schlimm ist es dann doch nicht..

Software ist ersteinmal für Hobbyanwender kostenlos! Xilinix ISE Webpack oder Quartus - egal.

Programmierbare Logik gibt es in Form von CPLDs oder FPGAs.
(Früher auch PAL/GALs).
Kleinere Boards mit Stiften für Steckbretter gibts ebenfalls für 30€.
Mehr braucht es ersteinmal für den Einstieg nicht.
Eval. Boards kosten etwas mehr (100-150€). Gibts manchmal auch gebraucht für 60-90€ (MK Forum).

Ja, AVRs/PICs sind etwas preiswerter und einfacher! Ist aber etwas ganz anderes!

---

Link (VGA-Test):
http://petersieg.bplaced.net/?Spartan3E_SK:VGA-Test


Quellcode:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;


entity VGATest is
    Port ( clk50_in : in  STD_LOGIC;
           red_out : out  STD_LOGIC;
           green_out : out  STD_LOGIC;
           blue_out : out  STD_LOGIC;
           hs_out : out  STD_LOGIC;
           vs_out : out  STD_LOGIC);
end VGATest;

architecture Behavioral of VGATest is

signal clk25              : std_logic;

signal horizontal_counter : std_logic_vector (9 downto 0);

signal vertical_counter   : std_logic_vector (9 downto 0);

begin

-- generate a 25Mhz clock
process (clk50_in)

begin
  
if clk50_in'event and clk50_in='1' then
    
  if (clk25 = '0') then
      
    clk25 <= '1';
    
  else
      
    clk25 <= '0';
    
  end if;
  
end if;

end process;



process (clk25)

begin
  
  if clk25'event and clk25 = '1' then
    
    if (horizontal_counter >= "0010010000" ) -- 144
    and (horizontal_counter < "1100010000" ) -- 784
    and (vertical_counter >= "0000100111" ) -- 39
    and (vertical_counter < "1000000111" ) -- 519
    then
      
      red_out <= horizontal_counter(3)
                and vertical_counter(3);
      
      green_out <= horizontal_counter(4)
        and vertical_counter(4);
    
      blue_out <= horizontal_counter(5)
        and vertical_counter(5);
  
    else
      
      red_out <= '0';
      
      green_out <= '0';
      
      blue_out <= '0';
    
    end if;
    
    if (horizontal_counter > "0000000000" )
      and (horizontal_counter < "0001100001" ) -- 96+1
    then
      
      hs_out <= '0';
    
    else
      
      hs_out <= '1';
    
    end if;
    
    if (vertical_counter > "0000000000" )
      and (vertical_counter < "0000000011" ) -- 2+1
    then
      
      vs_out <= '0';
    
    else
      
      vs_out <= '1';
    
    end if;
    
    horizontal_counter <= horizontal_counter+"0000000001";
    
    if (horizontal_counter="1100100000") then
      
      vertical_counter <= vertical_counter+"0000000001";
      
      horizontal_counter <= "0000000000";
    
    end if;
    
    if (vertical_counter="1000001001") then            
      
      vertical_counter <= "0000000000";
    
    end if;
  
  end if;

end process;

end Behavioral;

Oder:
http://www.bigmessowires.com/2009/06/21/fpga-pong/

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
202
17.02.2014, 13:51 Uhr
funkheld




Zitat:
Quartus

Hmmm..., es läuft nur bis XP, ab WIN7 nicht mehr, ansonsten muß man es kaufen.


Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
203
17.02.2014, 14:33 Uhr
abnoname



Quartus läuft natürlich unter Windows 7.

Es gibt wohl Probleme mit dem Treiber des eingebauten USB Blaster im DE1 unter Win 7 64bit. Dafür aber auch Lösungen: http://www.alteraforum.com/forum/showthread.php?t=19233

Ich denke, das gehört aber hier nicht in den Thread.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
204
17.02.2014, 20:28 Uhr
Giesberth

Avatar von Giesberth

Hallo abnoname,

bin jetzt auch seit 4 Tagen in Besitz eines DE-1 und habe seit Beginn des Beitrages die Entwicklung verfolgt. Nun habe ich alles zum Laufen bekommen und wie soll es auch anderst sein natürlich auch noch ein Problem mit dem Übertragen der Z1013_DE1.pof. ASP ist eingestellt es werden auch Daten übertragen, aber es funktioniert nach RUN nicht. Oder ist es gewollt die Z1013 Datei nicht fest auf das DE1 zu programmieren.

Auf alle Fälle Hut ab für die Umsetzung.

Mit freundlichen Grüßen
Giesberth

P.S. BS WIN7/Ultimate --> manuelle Installation USB Blaster von Geräte Manager aus --> Programme/Quatus/drivers/usb-blaster/x.64
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
205
17.02.2014, 21:18 Uhr
abnoname



Hi,

ich kann dir leider jetzt nicht aus dem FF erklären, wie man genau das Design in den FPGA lädt. Bin grad nur mit dem Netbook unterwegs und habe da kein Quartus laufen.

Im wesentliche ist das aber so:
1) ein FPGA hat nur SRAM Zellen für seine "Verdrahtung"
2) neben dem FPGA gibt es einen Flashbaustein, dessen Inhalt beim Booten in den FPGA gespiegelt wird
3) der SRAM im FPGA kann direkt mittels JTAG (= der Byteblaster im DE1) geladen werden

Letztere Methode benutzt man bei der Entwicklung (sehr schnell). Punkt 2 (Flash) benutzt man dann, wenn das Design quasi fertig ist und offline auf der Platine laufen soll.

Das Problem ist nun, dass man den Flash nicht direkt beschreiben kann. Der Datenbus hängt typischerweise nur am FPGA. Dazu gibt es aber folgende Wege:
- ein nur für das Flashen gedachte Design wird in den FPGA geladen und brennt dann den Flash mit "durchgereichten" Daten
- man leitet den Datenbus zum Flash um auf eine Datenquelle

Letzteren Punkt macht das DE1, wenn man den Schalter von RUN auf PROG (? hab das Board grad nicht vor mir) stellt. Sprich, du müsstest dir im Netz die Anleitung suchen, wie man das pof - File in den Flash brennt.

Ein Compile-Vorgang im Quartus erzeugt immer jeweils ein .pof und ein .sof File. Imho war .pof für den Flash und das .sof, um es direkt per JTAG in den FPGA zu laden.

Ich würde dir erstmal empfehlen in dem Quartus Programmer Tool eine normale JTAG Chain einzurichten (entweder ein HowTo suchen oder etwas probieren, da es sich fast selbst erklärt). Die Chain besteht dann nur aus dem FTDI Byteblaster und dem FPGA an sich. Dann lädtst du das .sof File rein und lädtst das Design hoch.

Wenn du gezielt Hilfe brauchst, melde dich einfach bei mir. Ich muss dann nur schnell das Setup aufbauen.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
206
18.02.2014, 17:31 Uhr
Giesberth

Avatar von Giesberth

Hallo abnoname,

vielen Dank für die schnelle Antwort. Habe die Ursache weshalb die pof Datei nicht gespeichert wurde gefunden. Programmer wollte die Datei auf den EPCS16 speichern obwohl auf den DE1 der EPCS4 verbaut ist. Also noch mal alle Konfigurationdaten überprüft und die Auto-Einstellung auf den EPCS4 eingestellt. Projekt nochmal durchlaufen lassen und jetzt funktioniert alles.

Mit freundlichen Grüßen
Giesberth
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
207
20.02.2014, 09:54 Uhr
PeterSieg



Mal günstige Alternativen:

http://searle.hostei.com/grant/uk101FPGA/index.html

http://searle.hostei.com/grant/Multicomp/index.html

Habe mir mal ein solches FPGA Mini Board bestellt über ebay für 35€.

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
208
14.03.2014, 08:41 Uhr
PeterSieg



So. Die Tage angekommen und läuft! Allerdings braucht meine PS/2 Tast. +5V.
In der Skizze sind +3,3V an der roten Leitung - das hat nicht gereicht.

Bild:
http://petersieg.bplaced.net/?UK101_in_FPGA

Übrigens gibt es das Board ohne USB Blaster für ca. 14€ aus Australien.
USB Blaster alleine ca. 7€.
Günstiger kommt man wohl nicht an ein Retro-Computer als Nachbau.

Frage:
Siehe Bild meines Aufbaus.
Auf den Pfostensteckreihen (2x14-pol) habe ich eine Pfostenbuchse mit Flachbandkabel aufgesteckt und dann die Kabel an der Lochrasterplatine angelötet.

Nun zur Frage:
Falls ich eine Platine bauen möchte, die man direkt aufstecken kann, wie heissen
die Buchsen, die man direkt einlöten kann (also anstatt des Flachbandkabels+Buchse)??

Hatte da bei reichelt nichts gefunden - aber wahrscheinlich nicht nach dem richtigen Begriff gesucht..

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
209
14.03.2014, 09:23 Uhr
Wusel_1



Findest du hier - http://www.reichelt.de/Buchsenleisten/2/index.html?&ACTION=2&LA=2&GROUP=C142&GROUPID=3221&START=0&OFFSET=500&SHOW=1;SID=14UyK7-n8AAAIAAHblPVU4d58b36f9f6584d056eb67c49c91e4bb
Ist nur zur Anschicht, da es bei Reichelt den 2x14 nur im Rastermaß 2 mm gibt.
Ob du da überhaupt 2x14 in 2,5mm Rasters findest bezweifle ich. Da wirst du sicher eine längere Buchse nehmen und die Säge ansetzen.
--
Beste Grüße Andreas
______________________________________
DL9UNF ex Y22MF es Y35ZF
JO42VP - DOK: Y43 - LDK: CE

*** wer glaubt, hört auf zu denken ***

Dieser Beitrag wurde am 14.03.2014 um 17:24 Uhr von Wusel_1 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
210
15.03.2014, 09:20 Uhr
Wusel_1



Sowas muss es sein (Beispiel): http://www.ebay.de/itm/Buchsenleiste-RM-2-54-mm-Low-Profile-Pole-2-x-36-BL-LP-4-72-S-Fischer-Elektr-/360741433326?_trksid=p2054897.l4275
Gibt es aber nicht als 2x14. Die nächste Größe ist 2x20. Dürfte aber kein Problem sein, da diese leicht zu kürzen ist.
--
Beste Grüße Andreas
______________________________________
DL9UNF ex Y22MF es Y35ZF
JO42VP - DOK: Y43 - LDK: CE

*** wer glaubt, hört auf zu denken ***
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
211
15.03.2014, 13:55 Uhr
PeterSieg



Jup.

Danke. Damit werde ich was passendes finden.

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
212
22.03.2014, 21:59 Uhr
Bert



Ich war ja hier eine Weile nicht mehr aktiv (irgendwie wandern die Tabs im Browser immer nach links, wenn es neue Projekte gibt...),
aber es sind ja einige neue Interessenten dazugestoßen.

Ich werde Anfang April wieder in Garitz dabei sein und kann auch gern die eine oder andere Schützenhilfe geben.

Eigentlich wollte ich noch den SD-Reader dranbauen, aber nachdem RS232 ging, habe ich nichts mehr dran gemacht.

Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
213
12.04.2014, 18:02 Uhr
funkheld



Hallo, guten Tag.
Ich möchte es noch einmal versuchen mit dem DE1-Board.
Man hat mir eins geschenkt zum 65.zigsten.

Welche Quartusversion sollte man runterladen?
Wo ist genau der Teiber zu finden damit man mit mit Win7(64Bit) den Treiber ansprechen kann? Ich brauche mal bitte einpaar Tut's für VHDL in deutsch.

Wäre um viele Anfängerhilfe dankbar.
Das Denkvermögen läßt halt ein bisschen nach.

Hallo meikel, vielleich sollte wir beide mal auf den Zug springen.....??

Ohne Hilfe wird es aber nicht klappen.
Ich hatte schon einmal das Handtuch geschmissen.

Danke.
Gruss

Dieser Beitrag wurde am 12.04.2014 um 18:11 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
214
13.04.2014, 13:20 Uhr
Giesberth

Avatar von Giesberth

Hallo funkheld,

ich habe mir die Quartus Vers. 13.0 geladen. Damit läuft auch das Z1013 Projekt.
Hier der Link für die Suche nach den 64bit Treiber
http://www.altera.com/download/drivers/usb-blaster/dri-usb-blaster-vista.html

Bei mir ist das --> d:/altera/13.0/drivers/usb-blaster/
wird über den Geräte Manager/Unbekanntes Gerät/Treiber eingegeben.

Hier noch einen Link
http://www.vuolsavest.net/t3o/arkanoidFpga/#page-7
ist zwar nicht in deutsch doch wofür gibts die google Übersetzer

Mit freundlichen Grüßen
Giesberth
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
215
13.04.2014, 17:29 Uhr
funkheld



Hallo, danke.
.......wird über den Geräte Manager/Unbekanntes Gerät/Treiber eingegeben......
Welches Gerät gibts du da ein, es kommt ja eine Liste, oder ?

Wo setzt du hier beim runterladen übeall die Häkchen.
Ich steige da nicht so durch:
http://dl.altera.com/13.0/?edition=web

Danke.
Gruss

Dieser Beitrag wurde am 13.04.2014 um 17:35 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
216
13.04.2014, 18:19 Uhr
Giesberth

Avatar von Giesberth

Hallo funkheld,

1. http://dl.altera.com/13.0/?edition=web >>Direct Download anklicken<<
2. Quartus II Software (includes Nios II EDS) >>anklicken<<
2. Eröffne ein Altera Account
3. Danach kannst du die Software laden und istallieren
4. im Geräte Manager steht danach USB-Blaster hier gibst du den Pfad für den Treiber ein

Mit freundlichen Grüßen
Giesberth
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
217
13.04.2014, 22:27 Uhr
funkheld



Jup danke für die Hilfe.

Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
218
13.04.2014, 23:11 Uhr
funkheld



Hallo, guten Tag.
QuartusSetupWeb-13.0.0.156.exe habe ich jetzt installiert.
Ist dieses Programm das einzige was man braucht zum programmiereren?

Wer kann bitte einmal hier schreiben, wie man jetzt mit Quartus dieses :
Z1013_de1_uart_30042013.zip compiliert.
Wäre auch ein guter Einstieg für die Zukunft wie man das hinbekommt.


Danke.
Gruss

Dieser Beitrag wurde am 14.04.2014 um 09:12 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
219
14.04.2014, 10:27 Uhr
Giesberth

Avatar von Giesberth

Hallo funkheld,

Quartus, DE-1 Board und USB Blaster läuft?

hier malnoch einen Link der vieles erklärt.

http://www.elektor.de/Uploads/Files/060025-12DE.pdf

Mit freundlichen Grüßen
Giesberth
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
220
14.04.2014, 12:10 Uhr
funkheld



....Quartus, DE-1 Board und USB Blaster läuft?.....

Hallo, guten Tag.
Deine PDF-Hilfe ist wunderbar.

Das DE1 wird als Hardware nicht erkannt.
Ich habe für WIN7 dieses installiert:
USB Blaster WIN7 x64.zip

Bei Hardware im Gerätemanager steht unter USB-Controller:
Altera USB-Blaster
Der Treiber wurde also eingebunden.
Im Manager ist auch kein Treiber mit "?" zu sehen, eigentlich ein gutes Zeichen. Aber wenn ich jetzt QuartusII starte und in Programmer reingehe wird nichts angezeigt. Wenn ich Hardware-Setup starte steht da "no Hardware".

Das DE1-Board blinkt und zeigt die Zahlen an , es funktioniert auch.

Auch konnte ich dieses "Z1013_de1_uart_30042013.zip" compilieren.

Danke.
Gruss

Dieser Beitrag wurde am 14.04.2014 um 13:34 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
221
14.04.2014, 13:54 Uhr
Giesberth

Avatar von Giesberth

Hallo funkheld,

einfach den USB Stecker raus und wieder rein, so solllte der USB-Blaster beim Hardware Setup erscheinen übernehmen und schon sollte es gehen.

Mit freundlichen Grüßen
Giesberth
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
222
14.04.2014, 14:34 Uhr
funkheld



Jup danke.

Wird nicht aktiviert.
Rein ...raus...DE1 aus...DE1 ein...

Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
223
14.04.2014, 14:55 Uhr
Giesberth

Avatar von Giesberth

Hallo funkheld,

schau mal in dein Nachrichtenordner

Mit freundlichen Grüßen
Giesberth
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
224
14.04.2014, 20:42 Uhr
Bert




Zitat:
funkheld schrieb
Das DE1-Board blinkt und zeigt die Zahlen an , es funktioniert auch.

Auch konnte ich dieses "Z1013_de1_uart_30042013.zip" compilieren.


Dann brauchst Du ja nur noch einen VGA-Bildschirm und eine PS/2-Tastatur anzuschließen...

Viel Spaß
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
225
15.04.2014, 09:14 Uhr
funkheld



Jetzt läuft auch der USB-Blaster mit WIN7(64Bit).
Habe im Systemmenü Benutzer/AppData einiges an altem USB-Blasterschrott gefunden und habe da alles gelöscht und den USB-Blaster neu angemeldet.


...Dann brauchst Du ja nur noch einen VGA-Bildschirm und eine PS/2-Tastatur anzuschließen...
Jup, die habe ich, weil mein Chameleon(TC64) damit läuft.


Gruss.

Dieser Beitrag wurde am 15.04.2014 um 15:15 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
226
16.04.2014, 21:44 Uhr
funkheld



Hallo, guten Tag.
ich brauche bitte einmal Hilfe um ein Signal vom GPIO an ein BAS-Eingang am Flachbildschirm zu nutzen.

' 27,5 4,5 27,5 4,5 ---> die ersten 2,5 Zeilen

' 2,25 29,75 2,25 29,75 ---> wieder 2,5 Zeilen

' 4,5 6 52µs Bildinhalt 1,5 µs ---> 307 Zeilen mit Bildinhalt

Kann man das Signal vom GPIO direkt an den BAS setzen um das Signal als Balken usw zu erkennen ohne den DE1 zu zerstören?

Danke.
Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
227
17.04.2014, 21:57 Uhr
Bert




Zitat:
funkheld schrieb
Kann man das Signal vom GPIO direkt an den BAS setzen um das Signal als Balken usw zu erkennen ohne den DE1 zu zerstören?


Welche Spannung kommt aus Deinem FPGA?
Welche Spannung verträgt Dein Bildschirm?
Üblicherweise verwendet man einen Spannungsteiler zur Pegelanpassung.

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
228
18.04.2014, 13:58 Uhr
funkheld



Jup, danke.

Kann man diese Möglichkeit für ein BAS-Signal nutzen? :
Ich möchte das Signal PIN_D9 VGA_RED(0) für ein BAS-Signal
nutzen. Wie hoch ist die Spannung vom Siganl VGA_RED(0) vom DE1?
Kann man diesen PIN auch für ein BAS-Signal nutzen?

Kann man die VGA_RED(0)-VGA_RED(3) auch für die Darstellung von
Graustufen verwenden wenn davon mehrere Signale aktiv sind?

Danke.
GRuss

Dieser Beitrag wurde am 18.04.2014 um 13:58 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
229
18.04.2014, 14:01 Uhr
funkheld



Hallo guten Tag.

Ich möchte jetzt auch einmal dieses SRAM nutzen vom DE1.
Wer kann das Lesen und Schreiben auf diesem SRAM einmal erkären in VHDL?

Ich möchte einmal 1 Word schreiben und 1 Word wieder lesen .

Danke.
Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
230
19.04.2014, 08:26 Uhr
Bert




Zitat:
funkheld schrieb
Kann man diese Möglichkeit für ein BAS-Signal nutzen? :


Such doch mal bitte einen Link vom Schaltplan heraus. Ich habe dieses Board nicht, aber dort kann man nachschauen, wie alles angeschlossen ist.

Prinzipiell sollte man über den 4-Bit "DA"-Wandler auch ein BAS-Signal ausgeben können.

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
231
19.04.2014, 08:29 Uhr
Bert




Zitat:
funkheld schrieb
Ich möchte jetzt auch einmal dieses SRAM nutzen vom DE1.
Wer kann das Lesen und Schreiben auf diesem SRAM einmal erkären in VHDL?

Ich möchte einmal 1 Word schreiben und 1 Word wieder lesen .


Zeitliche Abläufe werden in VHDL/FPGA über eine Statemachine (FSM) abgebildet.
Hier findest Du eine kurze Abhandlung darüber:
http://www.lothar-miller.de/s9y/categories/37-FSM

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
232
19.04.2014, 18:22 Uhr
funkheld



Hallo, guten Tag.

Jetzt habe ich mir noch einmal dieses VGA 640x480 vorgenommen.
Nach langem ausprobieren und fragen (teilweise mangelhafte Antworten) habe ich ein VGA-Bild hinbekomen speziell für den DE1 teilweise aus anderen Code.

Das mit den Farben geht nur über je 4-Farbvectoren.
Links ist Rot und die andere Häfte ist Grün.


Quellcode:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.ALL;

entity vga_timing is
port(
  clk50_in  : in std_logic;
  hs_out    : out std_logic;
  vs_out    : out std_logic;
  
  red_out   : OUT STD_LOGIC_VECTOR(3 downto 0);
  green_out : OUT STD_LOGIC_VECTOR(3 downto 0);
  blue_out  : OUT STD_LOGIC_VECTOR(3 downto 0)
  );
end vga_timing;

architecture behavioral of vga_timing is

signal clk25    : std_logic:='0';
signal hcounter : unsigned (9 downto 0):=to_unsigned(0,10);
signal vcounter : unsigned (9 downto 0):=to_unsigned(0,10);

begin

-- generate a 25Mhz clock
process (clk50_in)
begin
  if clk50_in'event and clk50_in='1' then
    clk25 <= not clk25;
  end if;
end process;

process (clk25)
begin
  if clk25'event and clk25 = '1' then
    if vcounter<480 then
      if hcounter < 320 then
        red_out<="1000";
      else
        red_out<="0000";
      end if;
    end if;
  end if;
end process;

process (clk25)
begin
  if clk25'event and clk25 = '1' then
    if vcounter<480 then
      if (hcounter > 320 and hcounter < 640) then
        green_out<="1000";
      else
        green_out<="0000";
      end if;
    end if;
  end if;
end process;

process (clk25)
begin

  if clk25'event and clk25 = '1' then
    if hcounter >= (639+16) and hcounter <= (639+16+96) then
      hs_out <= '0';
    else
      hs_out <= '1';
    end if;
  
    if vcounter >= (479+10) and vcounter <= (479+10+2) then
      vs_out <= '0';
     else
      vs_out <= '1';
    end if;
  
-- horizontal counts from 0 to 799
    hcounter <= hcounter+1;
  
    if hcounter = 799 then
      vcounter <= vcounter+1;
      hcounter <= to_unsigned(0,10);
    end if;
  
-- vertical counts from 0 to 524
    if vcounter = 524 then
      vcounter <= to_unsigned(0,10);
    end if;
  end if;
end process;

end behavioral;



Das ist dei Pinbelegung aus der Datei:
set_location_assignment PIN_L1 -to clk50_in
set_location_assignment PIN_A11 -to hs_out
set_location_assignment PIN_B11 -to vs_out
set_location_assignment PIN_A9 -to blue_out[0]
set_location_assignment PIN_D9 -to red_out[0]
set_location_assignment PIN_B8 -to green_out[0]
set_location_assignment PIN_B10 -to blue_out[3]
set_location_assignment PIN_A10 -to blue_out[2]
set_location_assignment PIN_A8 -to green_out[3]
set_location_assignment PIN_B9 -to green_out[2]
set_location_assignment PIN_C10 -to green_out[1]
set_location_assignment PIN_B7 -to red_out[3]
set_location_assignment PIN_A7 -to red_out[2]
set_location_assignment PIN_C9 -to red_out[1]
set_location_assignment PIN_D11 -to blue_out[1]


Gruss

Dieser Beitrag wurde am 19.04.2014 um 18:24 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
233
24.07.2014, 17:45 Uhr
funkheld



Hmmm.., gibt es nichts Neues hier für uns Anfänger...Sommerpause....?

Gruss

Dieser Beitrag wurde am 24.07.2014 um 17:45 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
234
28.07.2014, 06:11 Uhr
ad fontes




Zitat:
funkheld schrieb
Hmmm.., gibt es nichts Neues hier für uns Anfänger...Sommerpause....?




Hallo Funkheld,

auf deine Anfrage hin, hab ich mal die alten Sourcen wieder aufgemacht und bin dran den rs232 Empfänger um einen Sender zu ergänzen. Dann wie schon länger angedacht ein DMA-Modul dazu das über den CPU-Speicherbus auf den Arbeitsspeicher zugreift und lesen/schreiben sollte kein Problem sein. Termin f.Fertigstellung ist aber ungewiß.

Ein neue projekt-idee das in diesem Zusammenhang kurz aufblitzte ist die Integration einesRasPi's über dessen GPIO's als SDcard interface. Ein Raspberry Minicomputer ist für ca 35. Euro zu haben. Eventuell läßt sich auch ein Tastaturadaptur für den Z1013 damit machen. Das wäre dann eine fast reine Softwärelösung, bei der ein 700 MHz Linux-Rechner ein paar TTL Gräber ersetzt.
Die Frage ist ob die GPIO's sich ausreichend schnell ansteuern lassen.

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
235
28.07.2014, 19:55 Uhr
Mobby5



Einen Raspi als Peripherie für den FPGA-Z1013? Ist das nicht mit Kanonen auf Spatzen geschossen? Der Raspi könnte doch wahrscheinlich selbst die Z1013-Emulation noch mit übernehmen. Nehmt da mal lieber noch Atmels oder so dafür. Meine Meinung.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
236
07.08.2014, 15:33 Uhr
funkheld



------------------------
Der Raspi könnte doch wahrscheinlich selbst die Z1013-Emulation noch mit übernehmen.
------------------------

Thema war schon mal..., der Raspi schafft es, aber zu Lahm....

Gruss

Dieser Beitrag wurde am 07.08.2014 um 15:43 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
237
07.08.2014, 15:43 Uhr
funkheld



Ich teste es gerade mit einem Propeller-Chip.

Habe da eine größere Profiplatine am Wickel(gekauft), Da habe ich eine Micro-SD-Karte laufen, 128KB S-Ram und 4 MB Flash-Ram.
Alles auf einer kleinen Platine für das Steckboard.
Dabei die Software für alle 3 Speichermedien, also nichts neues erfinden, kann gleich losgehen.

Geht so nebenbei zum DE1 Board, beide haben 3,3 Volt.

http://www.parallax.com/product/32111
http://www.parallax.com/product/40004

Eine kleine Propellerplatine kann man sich auch selber basteln. Gehört nicht viel drauf.

Gruss

Dieser Beitrag wurde am 07.08.2014 um 15:48 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
238
10.08.2014, 18:14 Uhr
ad fontes



Kleine Fortschritte und ein paar Festlegungen.

RS232 Empfangs und sendemodul überarbeitete bzw. neu.:
http://www.mikrocontroller.net/svnbrowser/redz0mb1e/src/vhdl/
rs232_tx.vhd
rs232_pkg.vhd
rs232_rx.vhd

Diese Dateien ersetzten das rs232_if.vhd.

Um bis zu 64 kbyte einigermassen flott übertragen zu können, hab ich die Baudrate auf 57600 hoch gesetzt (siehe rs232_pkg.vhd). Das sollte nicht zu schnell sein. Start und End Adressen werd ich nach dem header save Format, also aus den ersten 8 Byte übernehmen. Siehe
http://www.z1013.de/pdf/headersave_59.pdf

Statt für jedes byte einzeln den Busanzufordern werd ich wohl 8 byte erst mal zwischenspeichern. Da auf dem FPGA noch 3000 FlipFlops und ca. 1400 LUT's frei sind sollte das kein Problem sein.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
239
02.10.2014, 08:56 Uhr
funkheld



Hallo Herzi.
Ich spiele jetzt auch seit ca 3 Wochen mit Verilog.

Habe gesehen, das es einfacher zu Handhaben ist wie das VHDL.
Das VHDL ist immer überfüllt mit speziellen Anweisungen und sehe eigentlich nicht
mehr die Funktionsweise daraus, was ich sehen möchte. Es ist mir zu überfüllt.

Dein Projekt hier ist sehr interessant.
Da kann ich bestimmt noch etwas lernen.


Kannst du mir bitte den Code einmal zukommen lassen?
Oder hier immer deine weiteren Fortschritte in Verilog reinstellen.

Danke.
Gruss

Dieser Beitrag wurde am 02.10.2014 um 08:58 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
240
08.10.2014, 18:50 Uhr
Herzi



@funkheld, lass mir mal eine Mailaddr. zukommen, im Moment ist der Code noch nicht aufgeräumt und ich war da auch schon lange nicht mehr dran, deshalb würde ich den jetzt auch nur ungern so öffentlich verbreiten. Kann dir jetzt nur anbieten das ich alles zusammen packe und du müsstest dir die Module selber raus suchen die noch aktuell sind, denn da sind noch einige Experimente und angefangene Schnippel Code bei wo ich jetzt nicht mehr genau Bescheid weiß. Hatte die Tage zwar schon mal geschaut und noch mal Probiert, aber... Im Moment kann ich auch nicht lange vorm Rechner verbringen da ich arge Probleme mit meinen Augen habe, das dauert alles noch einige Monate biss ich die nächsten OPs hinter mir habe und dann hoffentlich wieder einigermaßen Glotzen kann... könnte also etwas dauern bis was von mir kommt, Sorry.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
241
10.10.2014, 04:05 Uhr
ambrosius



@Herzi

Gute Besserung!!!
--
Viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
242
10.10.2014, 23:57 Uhr
funkheld



Jup, danke Herzi, habe dir eine Pn geschickt.
Ich wünsche dir alles Gute für deine Gesundheit.

Ich freue mich über deinen Experiemente , die du da erzeugt hast.

mail : funkheld@arcor.de

Danke.
Gruss

Dieser Beitrag wurde am 10.10.2014 um 23:58 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
243
05.01.2015, 09:13 Uhr
funkheld



Hallo, guten Tag.

Ich habe es jetzt geschafft den SRAM auf dem DE1 mit RS232 (19200 Baud) vom PC aus zu Lesen und zu beschreiben. Siehe 2 VHDL.

Könnte man den SRAM jetzt auch irgendwie in den Z1013-FPGA packen um ihn mit 64KB laufen zulassen, dann brauchte man nicht mehr so einen großen Blockram ?

Das 1. VHDL:

Quellcode:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity sram_rx_tx is
  port ( clk50      : in      std_logic;
         sw       : in    std_logic_vector ( 2 downto 0);
         ledr         : out   std_logic_vector ( 7 downto 0);
         ledg         : out   std_logic_vector ( 7 downto 0);
        
         raddr        : out     std_logic_vector (17 downto 0);
         rdata         : inout std_logic_vector (15 downto 0);
        
         ce                : out        std_logic;
         we                : out        std_logic;    
         oe                : out        std_logic;
         lb                : out        std_logic;
         ub                : out        std_logic;
         rxd      : in  std_logic;
         txd      : out  std_logic
       );
end sram_rx_tx;

architecture behavioral of sram_rx_tx is

signal addr            : std_logic_vector ( 17 downto 0);    
signal data_sw  : std_logic_vector ( 7 downto 0);
signal data_in  : std_logic_vector ( 7 downto 0);
signal state        : std_logic_vector ( 2 downto 0);

signal rx_en    : std_logic;
signal rx_data  : std_logic_vector (7 downto 0);

signal tx_start : std_logic;
signal tx_data  : std_logic_vector (7 downto 0);

signal test     : std_logic;
signal cnt      : integer range 0 to 50000000;

component rs232_rx port(
  clk50   : in  std_logic;
  rxd     : in  std_logic;
  rx_en   : out std_logic;
  rx_data : out std_logic_vector (7 downto 0)
);
end component;

component rs232_tx port(
  clk50    : in  std_logic;
  txd      : out  std_logic;
  tx_start : in std_logic;
  tx_data  : in std_logic_vector (7 downto 0)
);  
end component;

begin
tx: rs232_tx
port map(
  clk50    => clk50,
  txd      => txd,
  tx_start => tx_start,
  tx_data  => tx_data
);

rx: rs232_rx
port map(
  clk50   => clk50,
  rxd     => rxd,
  rx_en   => rx_en,
  rx_data => rx_data
);

process (clk50)
begin
  if rising_edge(clk50) then
    case state is
      --- idle state
      when "000"     =>  rdata   <= (others => 'Z');
      
      --- write state
      when "001"  =>     raddr   <= addr;
                      rdata     <= "00000000" & data_sw;
                      ce             <= '0';
                      oe             <= '1';
                      we             <= '1';
                      lb            <= '0';
                      ub            <= '0';
                      state     <= "010";
                      
      when "010"    =>     ce             <= '1';
                      we             <= '0';
                      state     <= "011";
                      
      when "011"    =>     ce             <= '0';
                      rdata   <= "00000000" & data_sw;
                      state     <= "000";

      --- read state
      when "100"  =>     raddr   <= addr;
                      rdata     <= (others => 'Z');
                      ce             <= '0';
                      oe             <= '0';
                      we             <= '1';                                                    
                      lb            <= '0';
                      ub            <= '0';
                      state     <= "101";
                      
      when "101"    =>     ce             <= '1';
                      we             <= '1';
                      state     <= "110";
                      
      when "110"    =>     ce             <= '0';
                      oe             <= '1';
                      data_in <= rdata(7 downto 0);
                      state     <= "000";
                      
      when others =>  state     <= "000";
    end case;
    
    if rx_en='1' then
      addr    <= addr+1;
      data_sw <= rx_data;
      state   <= "001";
    end if;  
    
    if sw(0) = '1' then
      rdata   <= (others => 'Z');
      raddr   <= (others => '0');
      we          <= '1';
      ce          <= '1';
      oe          <= '1';
    end if;
    
    if sw(1) = '1' then
      addr    <= (others => '0');
      data_sw <= (others => '0');
    end if;
    
    if sw(2)='1' and test='1' and  addr <= 255 then  
      tx_start <='1';
      state    <= "100";
      addr     <=addr+1;
      tx_data  <= data_in;
      ledg     <= data_in;
      test     <= '0';
    else
      tx_start<='0';
    end if;
    
    if (cnt > 1000000)  then
      cnt  <= 0;
      test <= '1';  
    else
      cnt  <= cnt+1;
    end if;  
  end if;
end process;

ledr <= rx_data;  
end behavioral;



Und das 2. VHDL:

Quellcode:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_unsigned.all;

entity sram_rx_tx is
  port( clk        : in    std_logic;
        ledr       : out   std_logic_vector (7 downto 0);
        ledg       : out   std_logic_vector (7 downto 0);
        sw         : in    std_logic_vector (2 downto 0);
        sram_adr   : out   std_logic_vector (17 downto 0);
        sram_io    : inout std_logic_vector (15 downto 0);
        ub     : out  std_logic;
        lb     : out  std_logic;
        oe     : out  std_logic;
        ce     : out  std_logic;
        we     : out  std_logic;
        rxd    : in  std_logic;
        txd    : out  std_logic
        );      
end sram_rx_tx;

architecture behavioral of sram_rx_tx is

signal zustand    : std_logic_vector (2 downto 0)  := "000";
signal data_read  : std_logic_vector (15 downto 0) := "0000000000000000";
signal data_write : std_logic_vector (15 downto 0) := "0000000000000000";
signal read_write : std_logic := '0';  --(read = '1', write ='0')

signal sr_adr  : std_logic_vector (17 downto 0) := "000000000000000000";
signal data_w  : std_logic_vector (7 downto 0) := "00000000";
signal data_r  : std_logic_vector (7 downto 0) := "00000000";

signal rx_en   : std_logic;
signal rx_data : std_logic_vector (7 downto 0);

signal tx_start : std_logic;
signal tx_data  : std_logic_vector (7 downto 0);

signal cnt  : integer range 0 to 50000000;
signal test : std_logic;

component rs232_rx port(
  clk     : in  std_logic;
  rxd     : in  std_logic;
  rx_en   : out std_logic;
  rx_data : out std_logic_vector (7 downto 0)
);
end component;

component rs232_tx port(
  clk      : in  std_logic;
  txd      : out  std_logic;
  tx_start : in std_logic;
  tx_data  : in std_logic_vector (7 downto 0)
);  
end component;

begin
rx: rs232_rx
port map(
  clk     => clk,
  rxd     => rxd,
  rx_en   => rx_en,
  rx_data => rx_data
);

tx: rs232_tx
port map(
  clk      => clk,
  txd      => txd,
  tx_start => tx_start,
  tx_data  => tx_data
);

sram_io   <= data_write when read_write='0' else (others=>'Z');
data_read <= sram_io;

ub <= '0';
lb <= '0';

process (clk)
begin
  if rising_edge (clk) then  
    if (zustand = "001") then
      sram_adr   <= sr_adr;
      oe         <= '0';
      ce         <= '1';
      we         <= '1';
      
      read_write <= '0';
      data_write <= "00000000" & data_w;  
      zustand    <= "010";
    elsif (zustand = "010") then
      sram_adr   <= sr_adr;
      oe         <= '0';
      ce         <= '0';
      we         <= '0';
      
      read_write <= '0';
      data_write <= "00000000" & data_w;
      zustand    <= "000";
    end if;
  
    if (zustand = "011") then
      sram_adr   <= sr_adr;      
      oe         <= '0';
      ce         <= '0';
      we         <= '1';  
      
      read_write <= '1';  
      zustand    <= "100";  
    elsif (zustand = "100") then
      sram_adr   <= sr_adr;      
      oe         <= '0';
      ce         <= '1';
      we         <= '1';
      
      read_write <= '0';
      data_r     <= data_read(7 downto 0);
      zustand    <= "000";
    end if;  

     if rx_en='1' then
      sr_adr  <= sr_adr + 1;
      data_w  <= rx_data;
      ledr    <= rx_data;
      zustand <= "001";
    end if;  
    
    if sw(0) = '1' then
      sram_io  <= (others => 'Z');
      sram_adr <= (others => '0');
      we           <= '1';
      ce           <= '1';
      oe           <= '1';
    end if;
    
    if sw(1) = '1' then
      sr_adr  <= (others => '0');
      data_w  <= (others => '0');
      data_r  <= (others => '0');
    end if;
    
     if sw(2)='1' and test='1' and  sr_adr <= 255 then  
      tx_start <= '1';
      zustand  <= "011";
      sr_adr   <= sr_adr+1;
      tx_data  <= data_r;
      ledg     <= data_r;
      test     <= '0';
    else
      tx_start<='0';
    end if;
    
     if (cnt > 1000000)  then
      cnt  <= 0;
      test <= '1';  
    else
      cnt  <= cnt + 1;
    end if;  
    
  end if;
end process;
end behavioral;



RX:

Quellcode:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity rs232_rx is
generic(
  quarz_taktfrequenz : integer := 50000000;  
  baudrate           : integer := 19200
);    
        
port(
  clk50   : in  std_logic;
  rxd     : in  std_logic;
  rx_en   : out std_logic;
  rx_data : out std_logic_vector (7 downto 0)
);
end rs232_rx;

architecture behavioral of rs232_rx is

type rx_state_t is (idle, busy, ready);
signal rx_state : rx_state_t := idle;

signal rxd_sr   : std_logic_vector (3 downto 0) := "1111";        
signal rxsr     : std_logic_vector (7 downto 0) := "00000000";    
signal rxbitcnt : integer range 0 to 9 := 9;
signal rxcnt    : integer range 0 to (quarz_taktfrequenz/baudrate)-1;  

begin

process begin
wait until rising_edge(clk50);    
  rxd_sr <= rxd_sr(rxd_sr'left-1 downto 0) & rxd;
  rx_en  <= '0';

  case rx_state is
  when idle => -- warten auf startbit
    if (rxd_sr(3 downto 2) = "10") then                
      rxcnt    <= ((quarz_taktfrequenz/baudrate)-1)/2;
      rxbitcnt <= 0;
      rx_state <= busy;
    end if;
    
  when busy =>
    if (rxbitcnt<9) then  
      if(rxcnt<(quarz_taktfrequenz/baudrate)-1) then
        rxcnt    <= rxcnt+1;
      else
        rxcnt    <= 0;
        rxbitcnt <= rxbitcnt+1;
        rxsr     <= rxd_sr(rxd_sr'left-1) & rxsr(rxsr'left downto 1);
      end if;
    else
      rx_state <= ready;
    end if;
    
  when ready =>
    rx_data  <= rxsr;
    rx_state <= idle;
    rx_en    <= '1';          
  end case;
end process;    

end behavioral;



TX:

Quellcode:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity rs232_tx is
generic (
  quarz_taktfrequenz : integer := 50000000;  
  baudrate           : integer := 19200
);    
        
port(
  clk50    : in  std_logic;
  txd      : out  std_logic;
  tx_start : in std_logic;
  tx_data  : in std_logic_vector (7 downto 0)
);
end rs232_tx;

architecture behavioral of rs232_tx is

signal txstart  : std_logic := '0';
signal txsr     : std_logic_vector  (9 downto 0) := "1111111111";  
signal txbitcnt : integer range 0 to 10 := 10;
signal txcnt    : integer range 0 to (quarz_taktfrequenz/baudrate)-1;

begin
process begin
  wait until rising_edge(clk50);
    txstart <= tx_start;
    if (tx_start='1' and txstart='0') then
      txcnt    <= 0;                      
      txbitcnt <= 0;                      
      txsr     <= '1' & tx_data & '0';    
    else
      if(txcnt<(quarz_taktfrequenz/baudrate)-1) then
        txcnt <= txcnt+1;
      else  
        if (txbitcnt<10) then
          txcnt    <= 0;
          txbitcnt <= txbitcnt+1;
          txsr     <= '1' & txsr(txsr'left downto 1);
        end if;
      end if;
    end if;    
  end process;
  txd  <= txsr(0);

end behavioral;



Gruss

Dieser Beitrag wurde am 05.01.2015 um 09:15 Uhr von funkheld editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
244
06.01.2015, 04:17 Uhr
Veyrne



hallo,

Das ist groß! Ihre Frag ist ...

Gruß
Veyrne

--
Erfolg hat, wer andere erfolgreich macht.

Dieser Beitrag wurde am 06.01.2015 um 09:15 Uhr von Ronny_aus_Halle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
245
11.01.2015, 21:53 Uhr
ad fontes



Gesundes neues!

Hab die Anfrage erst jetzt nach fast einer woche gesehen.

Meines Erachtens gibt es bereits eine VHDL-Variante für Altera die externes SRAM statt Blockram nutzt. Siehe Posting nummer 019 von abnoname.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
246
12.01.2015, 15:24 Uhr
funkheld



Ja, danke.

Warum kann dann der Z1013-FPGA nicht mit 64KB laufen?

Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
247
30.01.2018, 01:06 Uhr
abnoname



Hallo,

nach all den Jahren mal wieder was neues von mir:
https://github.com/abnoname/iceZ0mb1e

Inzwischen kann man FPGAs komplett mit einer open source toolchain programmieren. Mein Projekt ist ein Z80 System, synthetisiert mit yosys und bau die Firmware (mit SDCC compiliert) ein.

Kann ggf. eine Basis für Portierungen sein :-)

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
248
30.01.2018, 21:35 Uhr
ad fontes



Schön mal wieder was neues zu lesen und dann passt es ja auch das ich mir vor ein paar Wochen auch ein IceZero zulegte. Codemäßig hab ich nur etwas an der PIO geschraubt um einen RasPi als Tapeersatz zu nutzen. Da ja der IceZero auch mit dem RasPi zusammenläuft https://blackmesalabs.wordpress.com/2017/02/07/icezero-fpga-board-for-rasppi/

könnte man so mit zwei kleinen Boards eine komplette Z1013 Infrastruktur emulieren. Also alle Z1013 Programme aus dem RasPi die dann bei bedarf "eingespielt werden könnten.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
249
31.01.2018, 22:39 Uhr
Bert



Dank der Vorarbeit von ad fontes und abnomane ist die Portierung der 16k-Version vom Z1013 jetzt auf dem MIST verfügbar:
https://github.com/boert/Z1013-mist

Ich hab noch ein paar Komfortfunktionen hinzugefügt (Laden von SD-Karte, Joystick, Tastaturumschaltung).
Momentan arbeite ich an der Peters-Erweiterung, will aber nichts versprechen...

Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
250
01.02.2018, 20:05 Uhr
ad fontes




Zitat:
Bert schrieb
Dank der Vorarbeit von ad fontes und abnomane ist die Portierung der 16k-Version vom Z1013 jetzt auf dem MIST verfügbar:
https://github.com/boert/Z1013-mist



Hm, ich überlege auf einem neuen Server eine gemeinsame Codebasis neu aufzusetzen. Aus der heraus könnten die Images für die verschiedenen Boards generiert werden. Dahin würde die bisherigen Sourcen https://www.mikrocontroller.net/svnbrowser/redz0mb1e/ umziehen

Schön wäre es, wenn man auf andere depots "verlinken" könnte, statt immer zwischen depots hin und her zu Kopieren.

Hat da einer einen Tip? -github? Ich hab auch noch nen Depot auf sourceforge das man aktivieren könnte.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
251
02.02.2018, 07:06 Uhr
Bert



Mit git und Github man relativ flexibel arbeiten (Forks,Pull Requests, dezentrale Entwicklung).
Hat ja auch jeder andere Vorstellungen vom Entwickeln und wie Code auszusehen hat...

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
252
02.02.2018, 08:54 Uhr
Creep



Github wäre auch mein Kandidat für so etwas. Auch die meisten anderen Portierungen für den MiST liegen dort und man kann eben mit git super verteilt daran arbeiten und hat eine schöne Versionskontrolle. Man kann im master kontinuierlich weiter entwickeln und ab und zu die release branches erstellen oder auch für die verschiedenen Plattformen.

Gruß, Rene
--
- Privatnachrichten bitte per Email. Mein Postfach ist immer knapp vor Überlauf -
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
253
07.02.2018, 07:33 Uhr
ad fontes




Zitat:
abnoname schrieb

Inzwischen kann man FPGAs komplett mit einer open source toolchain programmieren. Mein Projekt ist ein Z80 System, synthetisiert mit yosys und bau die Firmware (mit SDCC compiliert) ein.

Kann ggf. eine Basis für Portierungen sein :-)




Habs mir mal gedownloaded und angeschaut - jetzt versteh ich wie das mit "Kann .. Basis sein .." :-o

Das mit dem SDCC klingt interessant -> das ist doch der "Small Devices C-Compiler" -> gibt es da Anpassungen für den Z1013, also Headerdateien für die wichtigsten Addressen? Oder angepasste Bildschirmausgabe wie z1013-Printf?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
254
07.02.2018, 12:10 Uhr
Hobi



ja, sogar mit Support.

https://github.com/anchorz/sdcc-z1013-kc85

oder wer nur kompilieren will hier gibt es die Makefiles:
https://github.com/anchorz/sdcc-z1013-kc85/blob/master/mk/rules.make
--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 07.02.2018 um 12:11 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek