Forum: Mikrocontroller und Digitale Elektronik AM2903ADC mit XC9572 kommandieren


von rk (Gast)


Lesenswert?

Ich habe beim Aufräumen einen goldigen AM2903ADC DIL48 Bitslice
gefunden und überlege, weil ich viel Langeweile habe, ob ich
mal versuchen sollte mit dem Teil über einen XC9572 PLCC84 zu
sprechen.

Hat schon mal jemand mit dem Goldie gespielt?
Muss man wg der Bipolaren-Störung was besonderes beachten?

von Holm T. (Gast)


Lesenswert?

Bipolare Störung?
Issn das?

Das Ding ist eine erweiterte 4 Bit ALU Scheibe mit der man durch 
Mirkoprogrammsteuerung seine Eigene CPU bauen kann.

Natürlich kannst Du mit dem Ding sprechen und es wird die Befehle dir Du 
ihm gibst auch ausführen..aber bis zum Computer ist es da noch recht 
weit.

Das CPL wird Dir helfen aber es reicht nicht aus. Der Aufwand ist 
erheblich
(Mikroprogrammsteuerung AM2910, Microcode ROM, Microcode Latches, 
Condition Mux, Diverse Treiber, Memory Adress Register, Mehrphasentakt 
etc pp.
Die ALU (Datapath) ist eine Hälfte, das Steuerwerk die andere.
Ich habe eine angefangene Baustelle hier herum liegen, mal sehen wann 
die das erste Mal zuckt ..

Gruß,

Holm

von rk (Gast)


Lesenswert?

Wofür braucht man denn einen "Mehrphasentakt"?
Für die ALU anscheinend nicht..

Die Steuerung soll ja der CPLD machen.
Da will ich auch ein RAM anschliessen.

Habe gerade noch einen zweiten AM2903 gefunden, also
könnte ich die Dinger kaskadieren, wobei die beiden
dann anscheinend versetzt geclockt werden müssen
wg. Carry-Bit?

Gibt es einen einfachen Test ob die Dinger noch zucken?
Bestimmte Pin-Pegel wenn VCC anliegt?
Stromverbrauch ohne Beschaltung?

Ich werde denen gleich mal Saft geben..


Hast Du Schaltpläne?

von Holm T. (Gast)


Lesenswert?

rk schrieb:
> Wofür braucht man denn einen "Mehrphasentakt"?
> Für die ALU anscheinend nicht..
>
> Die Steuerung soll ja der CPLD machen.
> Da will ich auch ein RAM anschliessen.

Ich denke das PLD wird zu klein sein um damit was Sinnvolles anzufangen.

>
> Habe gerade noch einen zweiten AM2903 gefunden, also

Sehr gut, das gibt schon mal eine 8 Bit ALU

> könnte ich die Dinger kaskadieren, wobei die beiden
> dann anscheinend versetzt geclockt werden müssen
> wg. Carry-Bit?

Du mußt da nix locken, die haben Ein- und Ausgänge zum kaskadieren.
>
> Gibt es einen einfachen Test ob die Dinger noch zucken?
> Bestimmte Pin-Pegel wenn VCC anliegt?
> Stromverbrauch ohne Beschaltung?

Du kannst die Befehlseingänge fest verdrahten und irgendwelche Pegel 
anlegen, das sind ALUs und ein paar Register Scheiben, also sowas wie 
74181 und noch was dran.

>
> Ich werde denen gleich mal Saft geben..
>
>
> Hast Du Schaltpläne?

Moment....

hier gibts Futter ohne Ende:

http://www.donnamaie.com/AMD_Vintage/AMD_2900_ED2900A.html

Wenn Du ein Steuerwerk brauchst (AM2909/2911 oder 2910) gibt Bescheid.

Edit: Die Linkst auf der angegebenen Seite liegen etwas daneben.. man 
bekommt aber hier:
http://www.donnamaie.com/AMD_Vintage/
einen Directoryindex. Ziehe Dir die PDFs runter.

Die gute Frau hat früher wohl mal Lehrgänge über diese Ic-Familie 
gehalten.

Es gibt noch ein gutes Buch zu dem Thema Mick and Brick "Bit-Slice 
Microprocessor Design"

Gruß,

Holm

von rk (Gast)


Lesenswert?

Holm, vielen Dank für Deine Hilfe!

Mit den Original-Teilen eine 64-Bit CPU zu bauen scheint mir
nicht so amüsant zu sein ;)

Leider habe ich zur Taktung bei Verwendung von Ripple-Carry
noch nicht viel gefunden. Wird meistens der AM2902 Lookahead-Carry-Gen
verwendet. Es müssen für Ripple-Carry dann halt die ALUs
nacheinander getaktet werden.

Die Goldbarren ziehen beide jeweils 0.23 A und die meisten Pins haben
2.5V, die Ausnahmen sind /G und SIO_3 = 5V, /P und Z = 0V.

Ich vermute mal dass die ALUs noch funzen und werde es riskieren
da mehr Arbeit zu investieren..

von Holm T. (Gast)


Lesenswert?

Halte mich (hier oder per Mail) mal auf dem Laufenden, interessiert mich 
:-)

Eine 64Bit CPU zu bauen würde mich auch eher abschrecken aber eine PDP11 
liegt evtl. im Bereich des Machbaren, IMHO hatte irgend eine Uni sogar 
eine Implementation auf einem Board gebastelt. Das erfordert 16 Bit, 
also 4 ICs.
was wiederum zu 16 Bit Adressen führt und nicht sonderlich attraktiv 
ist, also noch eine MMU dazu und man könnte ein Unix laufen lassen (2.11 
BSD z.B., habe ich hier auf einer echten PDP11/83). Alles mit mehr 
Breite wird eher zu fett und noch vier ALUs nur um Adressen erzeugen zu 
können ist auch Quatsch.

Man soltle aber berücksichtigen das ein Z80, der ja bekanntlich eine 8 
Bit CPU mit 16 Bit Features ist nur über eine 4Bit ALU verfügt.

Zu Deiner Kaskadierung mit den Carrys: Klemme die einfach aneinander als 
ripple Carry wie es dokumentiert ist, zeitkritisch wird das erst, wenn 
Du mehr als 3 ALUs hintereinander klemmst. Im Endeffekt entschieden die 
Signallaufzeiten was passiert und so begrenzt das Ganze nur die 
erreichbare Taktfrequenz. Bei 2 IC brauchst Du Dir keinen Kopf machen, 
es sind halt zur Kaskadierung vorgesehene Bit Scheiben, zwischen Bit 1 
und 2 gibts auch kein Look ahead carry generator....(74182/AM2902). Wie 
gesagt, das wird erst bei größeren Wortbreiten kritisch.

Dein Problem ist dass Du eine CCU (Computer Control Unit) brauchst damit 
das Spaß macht. Das Ding (i.a. ein 2910) ist ja selbst schon eine 
mirkoprogrammierbare Ablaufsteuerung die über den Microcode-ROM dann 
auch die ALUs steuert. Ohne diese CCU kannst Du mit der ALU nicht 
allzuviel anfangen abe rdie CCU alleine ist schon in der Lage ohne ALU 
z.B. eine Kaffemaschine oder eine Ampel zu steuern.
Klar kann man das auch durch einen Mikroprozessor ersetzen oder Du 
kannst
das auch in das CPLD brutzeln .. der Aufwand sinkt aber nicht wesentlich 
dabei, gesetzt den Fall das Du irgend eine Art Mikroprogramm abarbeiten 
willst, das muß ja irgendwo her kommen (Mikrocode ROM .. oder 
fremdgeladenes RAM als Writeable Control Store (WCS), da gibts clevere 
ICs von IDT, aber auch gleich in PLCC68), dann brauchst Du das Pipeline 
Register und evtl. noch einen Mapping ROM. Abhängig davon ob Du 
Interrupts
per Software (Mirkobefehlsfolge) oder Hardware (da gibts Controller) 
behandeln möchtest, evel einen Barrelshifter einbauen willst, Bytes 
effektiv swappen, einen schnellen Multiplizierer brauchst usw. läßt sich 
der Aufwand beliebig in die Höhe treiben. Du hast dann eine High 
Performance Bipolar CPU die aus heutiger Sicht aber auch keine 
Wurschtpelle vom Teller zieht...
Wenn dann also nur aus Spaß an der Freude und da ist es mehr oder 
weniger egal wie schnell genau nun dieses Ding ist. Man sollte aber wohl 
immer ein paar Microcode-Bits für Erweiterungen übrig haben :-)

Egal. Ich fand die Sache jedenfalls hochinteressant und es hat mir viel 
über die Interna eines heute normalen Micros erzählt. Hut ab, was da 
alles drin steckt. Nichts desto trotz möchte ich mal eine "eigene" CPU 
bauen, wobei aber eine eigene CPU in einem FPGA eher nicht reizt, da 
kann kann ich auch den fertigen IC nehmen...

Seltsamerweise benutzen andere Leute entweder gleich 74181 als ALU und 
bauen den ganzen Rest auch noch zu fuß, oder die simulieren das z.B. mit 
Eproms. Google mal nach "Big Mess Of Wires" (BMOW) da findest Du den 
Einstieg zu einem Ring von Webseiten total verrückter Bastler...
Die AM2900 Serie benutzt aber scheinbar von denen Keiner, seltsam, weil 
das die Zusammenfassung einiger niedriger integrierter TTL ICs ist.

Bei Demotronic.de gibts Pulls gebrauchter ICs für verhältnismäßig 
kleines Geld. Ich habe dort z.B. AM29203 für 1,50 gekauft auch andere 
ICs sind verfügbar. Der Mindestbestellwert ist aber 50 Euro netto. Also 
eine Anfrage mit einer Liste und Preisvorschlag hin schicken...

Ich habe von dort auch "differenzielle" Eproms wie z.B: Am27C291, 
CY7C291 ergattert, den Promer dafür habe ich mir selber gebaut. Das sind 
Eproms mit 25 oder 35ns. Zugriffszeit für den Control Store, mit 
Lademimik gehen aber auch olle Cache RAMs.

Gruß,

Holm

von rk (Gast)


Lesenswert?

> Halte mich (hier oder per Mail) mal auf dem Laufenden, interessiert mich
> :-)

OK, ich werde mich erstmal mit einem alleinstehenden Bit-Schlitz
vergnügen, dann kommt das Tandem.

> Seltsamerweise benutzen andere Leute entweder gleich 74181 als ALU
> und bauen den ganzen Rest auch noch zu fuß, oder die simulieren das
> z.B. mit Eproms. Google mal nach "Big Mess Of Wires" (BMOW) da
> findest Du den Einstieg zu einem Ring von Webseiten total verrückter
> Bastler...

Ja, interessant. Aber leider sehr zeitaufwendig..

> Die AM2900 Serie benutzt aber scheinbar von denen
> Keiner, seltsam, weil das die Zusammenfassung einiger niedriger
> integrierter TTL ICs ist.

Die 74181 haben weniger Pins, brauchen weniger Platz, sind
einfacher zu verstehen und wohl auch eher verfügbar.
Und brauchen nur 30mA statt 300mA.
Wieviel verheizt denn Deine AM-CPU insgesamt?

> Bei Demotronic.de gibts Pulls gebrauchter ICs für verhältnismäßig
> kleines Geld. Ich habe dort z.B. AM29203 für 1,50 gekauft auch
> andere ICs sind verfügbar. Der Mindestbestellwert ist aber 50 Euro
> netto. Also eine Anfrage mit einer Liste und Preisvorschlag hin
> schicken...

Sehr interessant! Habe bisher von Chinesen bei eBay gekauft aber das
hat zum Schluss genervt, gebraucht statt neu wie angegeben, 2 kaputte
HD63C09, als Ersatz kamen EP-Versionen, endlose Lieferzeiten,
mangelhafte Zolldeklarationen..

Wie ist denn die Qualität der ausgelöteten ICs?

> Ich habe von dort auch "differenzielle" Eproms wie z.B: Am27C291,
> CY7C291 ergattert, den Promer dafür habe ich mir selber gebaut. Das
> sind Eproms mit 25 oder 35ns. Zugriffszeit für den Control Store,
> mit Lademimik gehen aber auch olle Cache RAMs.

Mit OTPs arbeite ich nicht so gerne.
Von den Cache-RAMs habe ich auch noch reichlich.


Ich erinnere mich dass Du auch mal was mit uralten TI DSPs gemacht hast.
Hast Du irgendwas brauchbares damit anstellen können?

Ich habe hier noch viele TMS320C14 aus alten Festplatten rumliegen
und irgendwann mal eine Platine dafür machen lassen aber dann nix mehr
damit angefangen.

von Holm T. (Gast)


Lesenswert?

rk schrieb:
>> Halte mich (hier oder per Mail) mal auf dem Laufenden, interessiert mich
>> :-)
>
> OK, ich werde mich erstmal mit einem alleinstehenden Bit-Schlitz
> vergnügen, dann kommt das Tandem.
>
>> Seltsamerweise benutzen andere Leute entweder gleich 74181 als ALU
>> und bauen den ganzen Rest auch noch zu fuß, oder die simulieren das
>> z.B. mit Eproms. Google mal nach "Big Mess Of Wires" (BMOW) da
>> findest Du den Einstieg zu einem Ring von Webseiten total verrückter
>> Bastler...
>
> Ja, interessant. Aber leider sehr zeitaufwendig..
>
>> Die AM2900 Serie benutzt aber scheinbar von denen
>> Keiner, seltsam, weil das die Zusammenfassung einiger niedriger
>> integrierter TTL ICs ist.
>
> Die 74181 haben weniger Pins, brauchen weniger Platz, sind
> einfacher zu verstehen und wohl auch eher verfügbar.
> Und brauchen nur 30mA statt 300mA.

Das wird wohl seine Gründe haben und wenn Du eine 74181 gegen einen 
AM2903 verglichen hast, ist das aus mehreren Gründen unfair, schon 
deshalb weil eine 74181 Standard TTL und ein AM2903 Schottky, Du müßtest 
schon eine 74S181 untersuchen (ich habe noch irgendwo russische 
K531IP3.. könnte ja mal gucken was die in Ruhe ziehen) Das Datenblatt 
sagt zum S181 195mA.
Bevor die CMOS Versionen raus kamen gab es wohl noch eine Version 
(AM2903C oder D?) mit intern ECL und TTL Interface..die dürften noch 
durstiger sein.

> Wieviel verheizt denn Deine AM-CPU insgesamt?

Gar Nichts, ich bin dabei den WCS zu verdrahten (mit Cache RAMs, einem
AVR und einem Dataflash). Danach kommt die CCU, alles Fädeltechnik..

>
>> Bei Demotronic.de gibts Pulls gebrauchter ICs für verhältnismäßig
>> kleines Geld. Ich habe dort z.B. AM29203 für 1,50 gekauft auch
>> andere ICs sind verfügbar. Der Mindestbestellwert ist aber 50 Euro
>> netto. Also eine Anfrage mit einer Liste und Preisvorschlag hin
>> schicken...
>
> Sehr interessant! Habe bisher von Chinesen bei eBay gekauft aber das
> hat zum Schluss genervt, gebraucht statt neu wie angegeben, 2 kaputte
> HD63C09, als Ersatz kamen EP-Versionen, endlose Lieferzeiten,
> mangelhafte Zolldeklarationen..
>
> Wie ist denn die Qualität der ausgelöteten ICs?
>

Ich kann nicht meckern. Obwohl ich auf der Bestellung geschrieben hatte
das mich Kratzer auf dem Gehäuse oder krumme Pins nicht unbedingt 
stören,
die Ics arbeiten und nicht in der Vitrine schön aussehen sollen, habe 
ich immer erstklassige Ware erhalten.

Eine Z8010 MMU mit Macke habe ich auch ersetzt bekommen..die hatte einen 
Riß im unteren Teil des Keramikgehäuses und ging natürlich damit nicht 
mehr. (Steckt im P8000 Compact).

>> Ich habe von dort auch "differenzielle" Eproms wie z.B: Am27C291,
>> CY7C291 ergattert, den Promer dafür habe ich mir selber gebaut. Das
>> sind Eproms mit 25 oder 35ns. Zugriffszeit für den Control Store,
>> mit Lademimik gehen aber auch olle Cache RAMs.
>
> Mit OTPs arbeite ich nicht so gerne.

Ich auch nicht, AM27C291 sind keine OTPs sondern Keramik mit 
Glasfenster,
richtige EPROMS mit Differenzialzellen halt. Die schnellsten die ich 
kenne.
Die Dinger sind CMOS und 2Kx8, es gibt in der Geschwindigkeitsklasse und 
dieser Größenordnung nichts Moderneres, kein Flash oder so..
Die 27C291 haben im Gegensatz zum 27C191 ein 300mil Gehäuse mit 
Glasfenster, die 191 haben 600mil.

> Von den Cache-RAMs habe ich auch noch reichlich.
>
Das verkürzt das Ändern des Mikrocodes natürlich entschieden..
>
> Ich erinnere mich dass Du auch mal was mit uralten TI DSPs gemacht hast.
> Hast Du irgendwas brauchbares damit anstellen können?

Nein, ich habe genau einen U320C20, das ist ein DDR Nachbau des 
TMS320C20.
Ich hatte nach einem C-Compiler gesucht, auch bei TI, bin aber aus deren 
Bezeichnungen und wer zu was kompatibel ist vorläufig nicht schlau 
geworden.
Ich haqbe mir gerade ein Buch zu dem Ding bestellt 
(http://www.amazon.de/Digitaler-Signalprozessor-U320C20/dp/3341009981) 
das sollte auf dem Postweg unterwegs sein...

>
> Ich habe hier noch viele TMS320C14 aus alten Festplatten rumliegen
> und irgendwann mal eine Platine dafür machen lassen aber dann nix mehr
> damit angefangen.

Hmm.. das ist bei mir auch so ungefähr das Letzt-wichtigste.
...aber nicht das Du den Kram ungefragt entsorgst ....

:-)

Gruß,

Holm

von rk (Gast)


Lesenswert?

> Bevor die CMOS Versionen raus kamen gab es wohl noch eine Version
> (AM2903C oder D?) mit intern ECL und TTL Interface..die dürften noch
> durstiger sein.

Meine heissen AM2903ADC und haben Datecode 8712.  Anscheinend ist das
schon Schottky und doch nicht Bipolar TTL wie zuerst angenommen.. Habe
nur Datasheet vom AM2903A, der ist Bipolar.

> Nein, ich habe genau einen U320C20, das ist ein DDR Nachbau des
> TMS320C20.  Ich hatte nach einem C-Compiler gesucht, auch bei TI, bin
> aber aus deren Bezeichnungen und wer zu was kompatibel ist vorläufig
> nicht schlau geworden.

C-Compiler gibt's nicht. Habe mir aus MAME-Sourcen einen Emulator und
Disassembler gebaut.

Ich habe ein etwas grösseres Assemblerfile geschrieben das einen CS4231
Audio Codec anspricht, weiss aber nicht mehr ob das gut funktioniert
hat.

Bei 20 MHz hatte ich wohl schon Probleme mit einem 27C210A-12
und dem GAL. Hatte dann zwei 70ns Eproms bestellt.

Habe den ASL-Assembler benutzt.

von Holm T. (Gast)


Lesenswert?

rk schrieb:
>> Bevor die CMOS Versionen raus kamen gab es wohl noch eine Version
>> (AM2903C oder D?) mit intern ECL und TTL Interface..die dürften noch
>> durstiger sein.
>
> Meine heissen AM2903ADC und haben Datecode 8712.  Anscheinend ist das
> schon Schottky und doch nicht Bipolar TTL wie zuerst angenommen.. Habe
> nur Datasheet vom AM2903A, der ist Bipolar.

Häh?

AM2903A und AM2903ADC ist das Selbe.
Was das DC da dran soll, weiß ich nicht, evtl. die Maske?

Die Dinger sind in Geschwindigkeitsklassen sortiert, 2901, 2901A,2901B, 
2901C.....

Ob es jemals was Anderes als 2903A gegeben hat, ist mir nicht klar, 
2903B ist mir noch nicht über den Weg gelaufen, auch nicht auf Fotos 
oder Schaltungen.
Beim 2901 weiß ich, das eben die späteren schnellen Versionen intern ECL 
waren und das Ganze dann mit TTL kompatiblen Treibern versehen war.
bipolar sind die Alle, TTL ist bipolar und ECL auch.

Danach kamen dann 29C01 .. 29C03 die auch sehr schnell waren aber nicht 
mehr so brutzeln.. Also wenn Du welche kaufst evtl. gleich die nehmen,
man kann sich aber auch ein Kilo Sackgang sparen und einen 29116 oder 
einen 29C101 nehmen, letztere kann man noch kaskadieren, den 29116 
nicht.
:-)

>
>> Nein, ich habe genau einen U320C20, das ist ein DDR Nachbau des
>> TMS320C20.  Ich hatte nach einem C-Compiler gesucht, auch bei TI, bin
>> aber aus deren Bezeichnungen und wer zu was kompatibel ist vorläufig
>> nicht schlau geworden.
>
> C-Compiler gibt's nicht. Habe mir aus MAME-Sourcen einen Emulator und
> Disassembler gebaut.

..interessant.

>
> Ich habe ein etwas grösseres Assemblerfile geschrieben das einen CS4231
> Audio Codec anspricht, weiss aber nicht mehr ob das gut funktioniert
> hat.
>
> Bei 20 MHz hatte ich wohl schon Probleme mit einem 27C210A-12
> und dem GAL. Hatte dann zwei 70ns Eproms bestellt.
>
> Habe den ASL-Assembler benutzt.

Wie schon gesagt, so richtig tief habe ich mir da noch keine Gedanken 
gemacht.
Auf Deine Arbeit mit dem Assembler und dem Disassembler würde ich aber 
gerne mal zurück kommen. Ich muß mich erst mal ins Buch einlesen wenn es 
denn mal da ist.

Gruß,

Holm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.