Ich habe folgende Aufgabe:
Auf einer Platine sind mehrere Logik IC (74HCxx) verbaut. Dazu kommt ein
Speicherbaustein (27C512) und ein paar OPs.
Ich möchte die Logik ICs und den Speicher zusammenfassen und möchte
wissen, ob das mit CPLD möglich ist. Logik ICs natürlich, aber was ist
mit dem Speicher. Der wird einmal beschrieben (LookUpTabelle) und soll
dann so bleiben.
Ich brauche ca. 60I/O, Geschwindigkeit gibts keine <450kHz, 5V Logik
Was kann man dafür nehmen?
Schau Dir mal die MAX II-Bausteine (CPLDs) von Altera an. Die haben
Flash-Speicher fuer genau solche Anwendungen - klingt exakt nach dem,
was Du suchst. Allerdings geht deren I/O nur bis 3.3V, das Problem wirst
Du aber bei fast allen heutigen CPLDs haben.
Wolfgang
64Kbyte geht schon in kleinster Cyclone-III rein,
dh das ware kein problem
aber 5V tolerant FPGA's gibts fast nicht mehr
eigentlich ist nur Silicon Blue das zz 5V tolerant ist
(von den modernen FPGA's)
wenns aber so langsam ist, kannst vielleicht mit MCU
machen :) mit schnellen MCU kann man logic emuliereren
wenns nicht sehr schnell sein muss
Antti
Warum gibts keine 5V toleranten IC's mehr? Ich mein, normale 74HCxx sind
ja auch bei 5V.
Hab mich jetzt bei den üblichen Verdächtigen umgeschaut.
MAX3000 - EPM3064A, wg. 66 I/O
ispMACH 4064ZE oder ispMACH 4128ZE
wie ist das mit dem Flash Speicher. Die Lock Up Tabelle muss da
irgendwie rein. Brauch man dafür FlashSpeicher, oder geht das irgendwie
ohne?
> aber was ist mit dem Speicher.> Der wird einmal beschrieben (LookUpTabelle)
Wieviel davon ist wirklich belegt?
> warum sollte er dann MAXII nehmen??
Ich würde den Speicher einfach lassen wie er ist (billiger gehts nun
wirklich nicht) und die Logik drumrum ins CPLD packen. Ein
CPLD/FPGA-Speicher ist mit der teuerste, den ich kenne.
Wenn die Anwendung so langsam ist, dann könnte doch auch ein serielles
Flash für die LUT genommen werden.
> Warum gibts keine 5V toleranten IC's mehr?
Klar gibts noch 5V-tolerante ICs, aber es gibt keine aktuellen
5V-toleranten CPLDs/FPGAs.
> MAX3000 - EPM3064A, wg. 66 I/O> ispMACH 4064ZE oder ispMACH 4128ZE
Die sind ja von vorvorgestern :-o
Wenn du schon ein Redesign machst, dann doch mit halbwegs aktuellen
Bausteinen, oder?
Keine aktuellen heißt für mich, dass die Dinger in den nächste 10 Jahren
aussterben werden. Deshalb frag ich mich warum keine 5V mehr, da man ja
davon ausgehen kann, dass einige aktuelle Schaltungen heute umgestaltet
werden müssen, die auf 5V basieren.
Das auf 3,3V umzubauen ist viel zu aufwändig, weil zu viel dranhängt
nein ;)
eine der neuesten FPGA's hat nahmlich 5V tolerant ios
das sind die ice65L von Silicon Blue
es ist moglich core mit 1.2V oder 1.0V und I/Os doch
5V tolerant machen, geht alles.
die ice65L sind auch sehr sparsam, mein freund dachte er spinnt
weil er 23uA strom gemessen hat, in betriebstand getaktet!
na ok 32khz clock aber trotzdem ist 23uA total strom fur einen
3500 LUT FPGA schon ganz tolle sache
Antti
Jaja gehen geht das natürlich alles - geht auch 15V theoretisch - das
ist klar.
Aber die Hersteller müssen dann viel mehr Chipfläche für die I/Os
"ofpern" was die Teile teurer macht.
Deshalb gehen alle auf 3.3V oder sogar 2.5 und 1.8V mittlerweile.
Und 5V I/Os brauchen mehr Energie als welche die mit 3.3V Betrieben
werden.
:-)
Ich bin jetzt bei MAX II gelandet.
Jetzt bin ich mir nicht sicher wg. dem Speicher. Der 27C512 arbeitet mit
8bit parallel. Der Flash Speicher arbeitet seriell (16bit??,
Non-volatile storage up to 16-bit wide and 8,192 total bits)
Sollte aber egal sein, weil man ja entsprechend I/O Pins nach außen
belegen kann und das alles recht schnell ist...richtig?
Die Pins gehen an ein DA Wandler und erzeugen eine Referenz.
Spricht da irgendwas dagegen?
"Hohe" Spannungsfestigkeit wie 5 Volt Toleranz braucht dicke Gateoxide
fuer die Ausgangstransistoren und macht den Ausgang "langsam". Um das
letzte Quaentchen Geschwindigkwit herauszukitzeln sind z.B. die Xilinx
Virtex 6 Baussteine nicht mal mehr 3.3-Volt tolerant.
Du kannst dir mit dem MegaWizard eine Komponente erstellen lassen wo du
das MAXII UFM direkt 8-bit parallel ansprechen kannst. Allerdings wird
die Zugriffzeit nicht an ein 27C512 rankommen.
Verglichen mit einem 27C512 hast du 64 mal weniger Speicher, passt da
deine LUT noch rein?
Cheers, Roger
Oder die LUT im EEPROM ist ein relativ simpler En/De-coder der sich mit
ein paar macrocells nachbilden lässt. BTW, gibbet es dafür ein Synthese
tool also EPPROM - dump zu Kombinatorik?
Klingt spannend, kannst du den EEPROM-dump posten?
MfG
Ceton schrieb:
> BTW, gibbet es dafür ein Synthese> tool also EPPROM - dump zu Kombinatorik?
KV-Diagramm? ;)
Oder deine bevorzugte VHDL-Synthese-Software, nachdem du die Daten in
eine case-Struktur umgewandelt hast. Kann allerdings eine Weile dauern
das zu synthetisieren.
> KV-Diagramm? ;)
Nein obsolet, eher QMCV (Quine und McCluskey-Verfahren)
>Oder deine bevorzugte VHDL-Synthese-Software, nachdem du die Daten in>eine case-Struktur umgewandelt hast. Kann allerdings eine Weile dauern>das zu synthetisieren.
Ein bißchen scripting (awk) sollte aus dem dump ein VHDL-File
generieren, die synthese sollte für CPLD#s nicht so lange dauern wie für
FPGA's am Speed-Limit. Den Spass einen EEPROM durch ein CPLD zu
ersetzen, wäre es wert.
MfG
Das ist eine 'Art' Sinus Tabelle. Das hier zu posten geht leider nicht.
Dann bekomme ich gaanz lange Ohren gezogen :)
Wie dem auch sei, ich hab mir jetzt das Quartus installiert.
Folgendes:
Modell: ALTUFM
Parallel, Read only
data bus 8bit
address bus <=9bit ??
Wie komme ich denn mit 9bit beim address bus auf 8192bit(oder 2x4096) ??
--> n=log(8192)/log(2)=13, ich brauch 13bit
(vorher als ceton gepostet)
Neues von der EEPROM-CPLD Forschung:
-5V kompatibel ist meines Wissens der XC9500 v. Xilinx, den nehme ich
mal für meine Versuche, bei FPGA's ist für Xilinx der Spartan2E der
letzte der noch halb in die 5V passt.
-64kx8 brauchen im ungünstigen Fall meherer zehntausend Produktterme zur
realisierung, im Günstigsten Fall einen (je nach Anzahl der '0' und '1'
und der Muster im Memory-dump)
-Ohne ein günstiges Mister klappt die Konvertierung in ein CPLD nicht,
da diese höchsten ca 10k Produktterme aufweisen (der groesste XC9500 hat
1440)
- ein FPGA mit mehr als 150K Gatterequivalente könnte groß genug für das
ungünstigste EEPROM-Image sein.
-Ohne EEPROM-Dump kann ich die Realisierbarkeit nicht weiter abschätzen,
auch die Angabe "Sinustabelle" hilft da nicht weiter. Bitte schick mir
den Dump per Email zu, das sollte über meinen Nutzeraccount möglich
sein.
Alternativ kannst Du ja an einer Variante mit Levelshifter (so was wie
die ollen 74244) arbeiten, dann kannst du auch einen modernen FPGA
einsetzten.
MfG