Forum: FPGA, VHDL & Co. Suche CPLD für Projekt


von Peter H. (datenopa)


Lesenswert?

Hallo!
Das ist mein erster Post hier im Forum.
Ich bin weder beim Durchsuchen des Forums noch über google fündig 
geworden, deswegen frage ich hier:

Habe ein System mit nem parallelen, jeweils 8bit breiten Adress- und 
Datenbus. Cpu läuft mit ca. 3,5Mhz.
Ich möchte 8 zusätzliche Binärregister in das System integrieren.
Habe das Ganze testweise schon mit 74ls logikchips(Grossteil Adress 
Decoder und Flip-Flops) realisiert, hat auch gut funktioniert. 
Allerdings stören mich daran die Unflexiblität, die leichte 
Kopierbarkeit und die Anzahl der benötigten Chips.
Möchte nun ein paar Features hinzufügen und dabei gleich auf ne 
Ein-Chip-Lösung umsteigen.
Da ich noch ein paar unbenutzte Pics rumliegen hatte(16f628a) und 
ohnehin noch Pic-Assembler lernen wollte, habe ich es etwas naiv erstmal 
damit versucht, was aber nicht geklappt hat. Der Pic war mit ca. 21Mhz 
getaktet und konnte pro Cpu-Cycle des Systems nur 1,5 eigene 
Instruktionen ausführen, was ein bisschen zu wenig war, um zuverlässig 
den Bus abzuhören und entsprechend zu reagieren. Soweit ich das 
verstanden hab, sind Pics für solche Aufgaben auch nicht unbedingt 
geeignet.

Habe leider noch gar keine Expertise mit CPLDs, aber gehe momentan davon 
aus, dass sie für mein Projekt am geeignetsten wären. Lasse mich aber 
gern eines besseren belehren, falls ich damit falsch liege. Überlege 
nun, welcher für mich am geeignetsten wäre und hoffe dabei auf eure 
Erfahrung und Hilfe.

Hardwareseitige Anforderungen:
-Nur ein Chip, also möglichst keine zusätzliche glue logic.
-5V
-Nicht so leicht zu kopieren.(ist natürlich relativ. man sollte die 
Fusemap zb. nicht direkt auslesen können)
-Möglichst billige und einfache Programmierung.
-Möglichst niedriger Pincount/leicht zu verlöten.

Könnt ihr mir etwas empfehlen?

von Falk B. (falk)


Lesenswert?

@ Peter Hans (datenopa)

>Das ist mein erster Post hier im Forum.

Herzlich Willkommen.

>Habe ein System mit nem parallelen, jeweils 8bit breiten Adress- und
>Datenbus. Cpu läuft mit ca. 3,5Mhz.

Z80? ;-)

>Ich möchte 8 zusätzliche Binärregister in das System integrieren.

Hmmm. 1x8 Bit oder 8x8 Bit?

>Da ich noch ein paar unbenutzte Pics rumliegen hatte(16f628a) und

;-) Du musst noch einiges lernen.

>Habe leider noch gar keine Expertise mit CPLDs, aber gehe momentan davon
>aus, dass sie für mein Projekt am geeignetsten wären.

Ja.

>Könnt ihr mir etwas empfehlen?

XC9536, hat 36 Macrozellen, man bekommt also 4x8 unidirektionale 
Register rein, ist bei Reichelt erhältlich. Als Programmiersoftware gibt 
es Webpack bei Xilinx, ich empfehle die Version 6.3, ist dafür 
VOLLKOMMEND dausreichend und vor allem stabiler.

MFG
Falk

von Tom N. (tom-nachdenk)


Lesenswert?

Hm, also ich würde eher XC9572 oder wenn irgendwo zu bekommen XC95108 
empfehlen. Weil der XC9536  kann zwar 4 8Bit Register implementieren, 
allerdings wollen diese ja auch noch adressiert und befüllt werden. 
Evtl. gibts da auch noch bei Lattice oder Altera Chips die etwas mehr 
interne Logik mitbringen, allerdings ist da meines Wissens die Software 
in der Laufzeit beschränkt das man zwar ggf. noch die Chips bekommt aber 
nicht mehr programmieren kann.

von Falk B. (falk)


Lesenswert?

@ Tom Nachdenk (tom-nachdenk)

>empfehlen. Weil der XC9536  kann zwar 4 8Bit Register implementieren,
>allerdings wollen diese ja auch noch adressiert und befüllt werden.

Und? Man kann den Adressdekoder für Chip Select und zwei Adressbits kann 
man problemlos in die Makrozellen integrieren.

>Evtl. gibts da auch noch bei Lattice oder Altera Chips die etwas mehr
>interne Logik mitbringen,

Es gibt auch CPLDs mit 512 Makrozellen! Aber für den Anfang sind 36 oder 
72 mehr als genug.

MFG
Falk

von Stefan W. (wswbln)


Lesenswert?

Tom Nachdenk wrote:
> Evtl. gibts da auch noch bei Lattice oder Altera Chips die etwas mehr
> interne Logik mitbringen,

...also bei Lattice gibts da 'ne ganze Menge (angefangen vielleicht beim 
LC4064)

> allerdings ist da meines Wissens die Software
> in der Laufzeit beschränkt das man zwar ggf. noch die Chips bekommt aber
> nicht mehr programmieren kann.

Das stimmt so nicht ganz.
Bei Lattice bekommt man problemlos nach dem Download der Software 
(ispLever classic sollte da reichen) innerhalb kurzer Zeit ein 
Lizenzfile zugemailt, nachdem man sich angemeldet hat. Dieses ist zwar 
in seiner Laufzeit begrenzt, kann aber jederzeit erneuert werden. 
Lattice möchte auf diese Weise Statistiken führen, wie intensiv ihre 
Software genutzt wird (wie oft wird sie nur einmalig zum Ausprobieren 
registriert, wie oft mehrmals "refreshed" etc.) und trifft darauf 
basierend z.B. Entscheidungen über die Zuteilung von Manpower für die 
Weiterentwicklung.

Lattice, Altera, Xilinx und Co leben von den verkauften Chips. Es ist 
kaum zu erwarten, dass die ihre Tools einfach so zuklappen und 
verschwinden lassen. Da braucht man sich IMHO keine unnötigen Sorgen 
machen.

Gerade Lattice hat vor kurzem durch "Auskoppeln" der älteren 
CPLD-Familien in die "ispLever Classic" Version für stabile Verhältnisse 
und lange Verfügbarkeit der Programmiersoftware für diese Familien 
gesorgt, ohne sich den Weg für die Unterstützung neuerer Familien mit 
ggf. völlig anderen (und sich mit den "alten" Familien beissenden) 
Implementierungsstrategien zu verbauen. Es fallen eben nicht die alten 
Tools unter den Tisch, sondern werden in einem "known good"-Status 
konserviert. Sowas kann man leider nicht bei allen Herstellern 
beobachten.

Sorry, wenn das gerade wie Lattice Werbung klingt, aber nach langen 
Jahren mit Xilinx (seit 1988) und Altera (seit ca. 2002) bin ich im 
Moment mit den Lattice-Bausteinen und Software ganz zufrieden (v.a. auch 
preislich), verfolge aber das Geschehen bei den anderen weiter aktiv mit 
(soweit mir dazu Zeit bleibt).

Grüße aus Berlin-Tempelhof,
Stefan

von Peter H. (datenopa)


Lesenswert?

Vielen Dank für eure Kommentare.
Werde es erstmal mit dem Xc9536 versuchen.
Habe das Webpack runtergeladen und bin dabei, Vhdl lernen.

>>Ich möchte 8 zusätzliche Binärregister in das System integrieren.
>Hmmm. 1x8 Bit oder 8x8 Bit?

1x8 Bit. Der Xc9536 sollte wohl reichen.

>Z80? ;-)

Cpu ist nicht der Z80, sondern der 65816. System ist das Super Nintendo.


>>Da ich noch ein paar unbenutzte Pics rumliegen hatte(16f628a) und
>;-) Du musst noch einiges lernen.

Denke ich auch. Bin aber trotzdem froh, mal etwas Erfahrung auf nem Pic 
gesammelt zu haben.



>> Evtl. gibts da auch noch bei Lattice oder Altera Chips die etwas mehr
>> interne Logik mitbringen,
>...also bei Lattice gibts da 'ne ganze Menge (angefangen vielleicht beim
>LC4064)

Danke, werde es im Hinterkopf behalten. Versuche es aber erstmal mit 
Xilinx.

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.