Hallo!
Laut https://docs.xilinx.com/v/u/en-US/XCN23009 hat Xilinx nun wohl
seinen komplette CPLD Range abgekündigt. Ich hatte diese Bausteine vor
vielen Jahren in der Firma meines Vaters eingeführt, da die ISE Webbench
diesen schicken TTL Schematic Editor mitgebracht hat und man so jeden
Elektronik Entwickler abholen konnte. In einem Betrieb der damals schon
sein 40 Jähriges gefeiert hat sicher ein großer Pluspunkt.
Jetzt stellt sich natürlich die Frage, welche Alternative für diese
Chips gibt es am Markt? Die CPLDs waren perfekt, denn sie ermöglichten
eine Menge Hardware in einem einzelnen Chip zu vereinen. Aber man konnte
die Hardware auch schön in mehrere dieser Chips aufteilen und Signale
zum Messen zwischen ihnen routen. Da der Einsatz hauptsächlich im
Retrofit Bereich ist, konnten Kunden so die ihn vertrauten Signale
wieder finden und das hat sehr bei Zertifizierungen geholfen.
Gibt es noch andere Hersteller, die CPLDs oder kleine FPGAs mit
integriertem FLASH fertigen? Haben diese eventuell auch einen
"Schaltplan" Editor?
Die offensichtlichen Alternativen sind leider nicht so einfach. Einen
VHDL Spezialisten zu bekommen ist aktuell nahezu unmöglich, ihn zu
bezahlen auch. Alles in Software auf M0 oder R5 zu machen ist in der
Zertifizierung extrem komplex. Die Kunden aus dem Energie- und
Transport-Sektor halten Software immer noch für schwarze Magie...
Viele Dank schon mal für sachdienliche Hinweise!
Ulrich
Ich setze sehr gerne Lattice FPGAs ein. Da gibts z.B. die MachXO und XO2
XO3 Serien, die (wahlweise) aus integriertem Flash booten. Die gibts
dann auch mit reiner 3.3V Versorgung. Einfacher wirds nicht. Das Lattice
Diamond braucht eine node-locked Lizenz, aber die ist kostenlos.
Beispiel:
https://www.digikey.de/de/products/detail/lattice-semiconductor-corporation/LCMXO2-256HC-4SG32C/3232671
Schematic Entry hab ich nie gemacht, dazu kann ich also nichts sagen.
Bei Xilinx und Altera (AMD & Intel) vermisse ich die kleinen Typen.
Dann gilbts die kölschen Gatemates, aber dazu kann ich nichts sagen, die
habe ich nie verwendet.
fchk
Frank K. schrieb:> Ich setze sehr gerne Lattice FPGAs ein. Da gibts z.B. die MachXO und XO2> XO3 Serien, die (wahlweise) aus integriertem Flash booten. Die gibts> dann auch mit reiner 3.3V Versorgung. Einfacher wirds nicht. Das Lattice> Diamond braucht eine node-locked Lizenz, aber die ist kostenlos.>> Beispiel:>> https://www.digikey.de/de/products/detail/lattice-semiconductor-corporation/LCMXO2-256HC-4SG32C/3232671>> Schematic Entry hab ich nie gemacht, dazu kann ich also nichts sagen.>
Altera HAT NOCH schematic entry, die ist aber ABGEKÜNDIGT, dh bald gibt
es en nicht mehr.
> Bei Xilinx und Altera (AMD & Intel) vermisse ich die kleinen Typen.>
Intel hat ja noch den MAX10, die gibt es auch in relative klein noch.
> Dann gilbts die kölschen Gatemates, aber dazu kann ich nichts sagen, die> habe ich nie verwendet.>
Die Gatemates sind sehr einfach zu bedienen, man bracht jedoch VHDL oder
verilog code. Auch beim PCB routen sind die einfach, da kann man
wirklich alle leitungen von dem BGA in 2 routing lagen rausholen. Bei
anderen BGA gehäuse braucht man mehr lagen.
Danke für diese Hinweise!
Das mit dem VHDL wird wohl unumgänglich werden. Aber wichtig wäre
natürlich, dass nur das Schematic Entry abgekündigt wird, aber nicht der
Chip selber.
Ulrich P. schrieb:> Danke für diese Hinweise!>> Das mit dem VHDL wird wohl unumgänglich werden. Aber wichtig wäre> natürlich, dass nur das Schematic Entry abgekündigt wird, aber nicht der> Chip selber.
Intel MAX10 sollten noch länger bleiben, keine Ahnung warum Intel
schematic editor los wird :(
Hallo,
beim Thema Abkündigungen ist v.a. Microchip zu nennen, dort wird ganz
klar kommuniziert, wie lange Bausteine noch mindestens verfügbar sein
werden. Die Bausteine in der Größe der Coolrunnner sind mindestens noch
10 Jahre verfügbar, mit der "Erweiterung", dass diese 10 Jahre schon
etliche Jahre angegeben und immer wieder erneuert werden.
Die FPGAs von Microchip sind nicht flüchtig und instant-on, sprich hier
"ähnlich" zu CPLDs.
Teilweise gibt es auch direkt pin-kompatible Bausteine zu einzelnen
CPLDs, das wären die aus der Atmel-Reihe ATF15xx.
Für ISE-Projekte hat Microchip ein Konvertierungs-Tool, das die Quellen
aus dem ISE-Projekt in die entsprechende Libero SoC Entwicklungsumgebung
bringt und dort ein Projekt erstellt:
https://www.microchip.com/en-us/products/fpgas-and-plds/low-power/conversion-tools
Bei den ganz kleinen Bausteinen, die für CPLDs typischerweise passen,
wäre die Archiv-Version von Libero notwendig, 11.9:
https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-and-soc-design-tools/fpga/libero-software-early-versions
Als Lizenz kann die kostenfreie Silberlizenz genutzt werden.
Es gibt bei Libero eine Schaltplaneingabe, die ist allerdings eher für
Block-Designs gedacht und weniger als reine Schematic-Capture
Geschichte. Ob es gehen würde weiß ich nicht.
Mittelfristig wäre aber eine Wissenserweiterung in Richtung VHDL schon
sinnvoll. Schaltplan ist nicht nur tot, der riecht auch schon. ;o)
Schönen Gruß,
Moadl
Christoph db1uq K. schrieb:>> aber:> MAX II products will be reviewed for EOL in 2024> also nur aufgeschoben
Was älteres als MAX 10 sollte man von Intel nicht nehmen!
Auf eevblog wurde das auch schon diskutiert.
Weil ich in ziemlich vielen Kundenprojekten die
Coolrunner II habe, betrifft mich das auch.
Die waren eigentlich ganz praktisch um kleinere
Digitalfunktionen zu verarzten.
Die Sachen von Efinix kamen in verschiedenen
Kommentaren eigentlich ganz gut weg.
K.A. ob die mit Schaltplänen entwickelt werden
können. Das Thema ist bei mir durch, seit es
DOS-Orcad nicht mehr gibt. Seitdem VHDL.
Am Anfang mit Synopsys, das war ein teurer Spaß.
<
https://www.digikey.de/de/products/detail/efinix-inc/T20Q144C4/15771083>
<
https://www.digikey.de/de/products/detail/efinix-inc/T13Q100F3C3/19100283>
Gruß Gerhard
Edit:
Oh, ich glaube, die brauchen ein serial prom oder CPU oder SPI.
Antti L. schrieb:> naja wenn GreenPak zu klein dann kann man ja den Forge nehmen :)
Die sind noch nicht verfügbar. Seit Jahren. Wer weiß, ob das noch was
wird.
> Haben aber komische kleine Gehäuse nicht zugut für löten.
Im Gegensatz zum ForgeFPGA gibt es die GreenPAK und manche davon auch in
TSSOP-20 und TQFN-32.
Moadl K. schrieb:> beim Thema Abkündigungen ist v.a. Microchip zu nennen, dort wird ganz> klar kommuniziert, wie lange Bausteine noch mindestens verfügbar sein> werden.
Wo steht denn das bitte? Ich habe dazu bei Microchip nichts finden
können. Wir haben momentan auch das Problem, daß wir viele Coolrunner2
einsetzen und Ersatz suchen. Leider können die ATFxxx von Microchip erst
ab 3,3V I/O Spannung arbeiten, was die Sache auch wieder schwierig
macht.
Viele Grüße,
Sven.
Hallo Moadl,
also nichts wirklich offizielles - nützt mir in der Firma auch nichts.
Der Link zeigt auch nur die ehemaligen Actel Bausteine und die werden ja
oft in kritischen Umgebungen genutzt, so daß die Kunden da schon drauf
beharren, daß die auch langfristig lieferbar sind.
Von Microchip bekomme ich eigentlich fast jede Woche irgendwelche Emails
mit Abkündigungen - so was gibts da auch...
Naja, also weiterschauen...
Viele Grüße,
Sven.
Christoph db1uq K. schrieb:> MAX II products will be reviewed for EOL in 2024
Kann aber gut sein, dass das nochmal erweitert wird. Der Markt um kleine
FPGAs als PLD Ersatz ist nicht unwichtig. Da drängen ja vor allem die
Neuen rein, wie z.B. die aus dem fernen Osten.
Hallo Ulrich,
man könnte ja auch auf VHDL umschwenken. Natürlich braucht man diverse
Programmer etc. für neue Chips. Ich habe mir ein Programm gebaut,
welches Logikbausteine (Gatter, Zähler, Schieberegister,...) als VHDL
Modul in der benötigten Bitbreite erzeugen. Dann erzeuge ich ein
Main.vhd Datei, welche die Bausteine inkludiert bekommt. Man erzeugt
dann händisch nur noch die Verknüpfungen der Bausteine mit den Signalen.
Ein Zuordnen der Schaltkreis-Pins zu den Signalen ist noch erforderlich
und der Download in den Chip.
Ich habe damit Lattice als auch Xilinx CPLD's programmiert. Wichtig ist
eine synchrone Beschaltung (siehe Moore Automat).
Kurze Programmbeschreibung:
Entpacken in ein Verzeichnis - bitte nicht in die Root bzw. C:\Programme
da hat Windows die Oberhand!!!
Dann ein Projektverzeichnis anlegen. Im Programm VHDLGEN.exe unter
Einstellungen in das Projektverzeichnis hineinwechseln. Damit werden
alle erzeugten Dateien dort hineingelegt.
Dann gehts los. Eine Logikschaltung in Zähler, Register etc. zerlegen
und die jeweiligen Bitbreiten ermitteln. Im Programm unter Datei ->
neues Modul entsprechende Hardware auswählen und konfigurieren. Der
Modulrahmen entspricht dem nackten Main.vhd. Neben der Logik können auch
Statemaschinen
erzeugt werden. Wenn alle Teile (Module) vorhanden sind, werden diese
nacheinander in die Main.vhd eingefügt. Dazu benutze man im Programm
unter Datei -> VHDL Komponente in Datei einfügen. Anschließend erfolgt
noch ein händisches Verdrahten der Komponenten (Module). Fertig.
Die Dateien in die Entwicklungsumgebung laden, compilieren und in Chip
programmieren.
Viel Spaß beim Ausprobieren.
Norman
In die Sensitivity-Liste gehören nur der Takt und ein (eventueller)
asynchroner Reset und nicht alle Signale, die man im Design so finden
kann...
P.S.: rising_edge() gibt es auch schon seit mindestens über 20 Jahren...
Ich fand die Philips Coolrunner damals auch sehr schön. Leider hat einem
dann Xilinx mit den ständigen Abkündigungen und den dann notwendigen
Platinenanpassungen das Leben schwer gemacht. Von daher ist es nicht
schade drum.
Microchip stellt aber noch die alten ATF2500 her und sogar als DIP und
5V.
Die haben 24 Macrozellen, die sich in 2 FFs und 1 Logic-Gatter teilen
lassen.
Besonders ist an den ATF750/2500, daß jede Macrozelle getrennte
asynchrone Reseteingänge und Takt hat.
Auch die kleinen 16V8 und 22V10 stellt Microchip als einziger noch her.
Programmieren kann man mit Wincupl als Logikgleichungen, Sequencer oder
Truth-Table.
Schaltplaneingabe habe ich nie gemacht, das wird bei größeren Sachen
recht schnell umständlich und unübersichtlich.
https://www.digikey.de/de/products/filter/embedded/cplds-komplexe-programmierbare-logikbausteine/695?s=N4IgjCBcoLQdIDGUBmBDANgZwKYBoQB7KAbXAFYAGEAXQF8CYAmKUZSAFwCcBXfI0iHK06ooA
@Rick D.
Ich wußte es damals auch nicht besser. Zumindest ist mir mein Tool eine
große
Hilfe gegenüber ständig immer wieder wiederkehrende Schaltungsteile neu
zu
programmieren /zu schreiben. Wenn es was besseres gibt, nur zu. Man kann
auch
in Altium Designer Stromlaufpläne zeichnen und dann in einen FPGA
schieben.
Nur als Hobbybastler hat man wohl kaum solch eine Software zur
Verfügung.
@Peter D.
Was für einen Programmer braucht's für diese CPLD's von Microchip.
Was kannste da empfehlen?
Gruß Norman
Rick D. schrieb:> Aua! Wer macht den sowas?
Wer nennt das Toplevel-Modul "main.vhd"?
Ein Softwareprogrammierer... ;-)
Neben solchen Mikrokomponenten wie precnt (s.u.) finde ich die
unnötige Verwendung von Prozessen schlimm, wenn keine nötig sind. Statt
dem hier:
1
:
2
-- timer cnt
3
count:PROCESS(tqcnt)
4
BEGIN
5
IFtqcnt="00000"THENstop<='1';
6
ELSEstop<='0';
7
ENDIF;
8
9
IFtqcnt>"01001"THENtcnt9<='1';
10
ELSEtcnt9<='0';
11
ENDIF;
12
13
IFtqcnt>"00100"THENtcnt4<='1';
14
ELSEtcnt4<='0';
15
ENDIF;
16
17
ENDPROCESScount;
18
:
Kann man auch das funktionell völlig gleich so schreiben:
1
:
2
stop<='1'whentqcnt="00000"else'0';
3
tcnt4<='1'whentqcnt>"00100"else'0';
4
tcnt9<='1'whentqcnt>"01001"else'0';
5
:
Und wenn man den Zähler jetzt sinnvollerweise noch als integer mit einem
richtigen Range definiert, dann liest sich das ganz natürlichsprachig:
1
:
2
stop<='1'whentqcnt=0else'0';
3
tcnt4<='1'whentqcnt>4else'0';
4
tcnt9<='1'whentqcnt>9else'0';
5
:
Zum Modul precnt:
1
libraryIEEE;
2
useIEEE.STD_LOGIC_1164.ALL;
3
useIEEE.STD_LOGIC_ARITH.ALL;
4
useIEEE.STD_LOGIC_UNSIGNED.ALL;
5
6
entityprecntis
7
Port(takt:instd_logic;
8
q:outstd_logic_vector(13downto0));
9
endprecnt;
10
11
architectureBehavioralofprecntis
12
signalqi:std_logic_vector(13downto0);
13
begin
14
15
ct:PROCESS(takt)
16
BEGIN
17
IFtakt'eventandtakt='1'
18
THENqi<=qi+1;ENDIF;
19
ENDPROCESSct;
20
21
q<=qi;
22
endBehavioral;
das in *main.vhd* mit den Zeilen
1
:
2
componentprecnt
3
PORT(
4
takt:instd_logic;
5
q:outstd_logic_vector(13downto0)
6
);
7
endcomponent;
8
:
9
precounter:precntportmap(quartz_I,qprecnt);
10
:
instantiert wird, reicht ersatzweise 1 einzige Zeile in *main.vhd*:
1
:
2
qprecnt<=qprecnt+1whenrising_edge(quartz_I);
3
:
-
https://www2.cs.sfu.ca/~ggbaker/reference/std_logic/1164/rising_edge.htmlNorman P. schrieb:> große Hilfe gegenüber ständig immer wieder wiederkehrende Schaltungsteile> neu zu programmieren /zu schreiben.
Ja, aber damit kannst du eben die Sprache nicht annähernd ausreizen. Das
ist, wie wenn du in C nur mit goto programmierst, statt Funktionen zu
benutzen.
> Ich wußte es damals auch nicht besser.
Also gut, 10 Jahre sind schon eine Zeit, also Jugendsünde...
> Was kannste da empfehlen?
Sich nicht mit den alten Dingern zu beschäftigen, sondern gleich einen
auf MachXO2/3 zu machen.
Norman P. schrieb:> Zumindest ist mir mein Tool eine> große> Hilfe gegenüber ständig immer wieder wiederkehrende Schaltungsteile neu> zu> programmieren /zu schreiben.
Na wenn es Dir hilft. Ich würde für einen Zähler keine extra Komponente
(mehr) machen. Meine Designs beinhalten pro Entity bis zu ca. ein
Dutzend Zähler, da wäre mir der Instanzierungsaufwand zu hoch.
Für wiederkehrende Schaltungsteile entwickelt man mit der Zeit so seine
Design-Patterns, die man mit copy&paste ins neue Design holt und
entsprechend anpasst.
> Man kann auch in Altium Designer Stromlaufpläne zeichnen> und dann in einen FPGA schieben.
Ja, das hatte ich mir vor ca. 20 Jahren mal angeschaut. Hat mich aber
nicht überzeugt und WIMRE ist das Feature im Altium inzwischen auch
entfallen.
Und ganz ehrlich: Für meine Designs möchte ich eigentlich gar nicht
wissen, wie die als Schaltplan aussehen würden. Viel zu komplex...
Norman P. schrieb:> Was für einen Programmer braucht's für diese CPLD's von Microchip.
Wir hatten mal einen Sprint-Expert, der konnte den ATV2500 mit
Löschfenster. Der lief aber nur unter W95 am echten LPT-Anschluß und
wurde irgendwann entsorgt.
Der Galep5 kann den ATF750 und mit PLCC-44 Adapter den ATF1504.
Hallo Sven,
die Digikey-Seite ist da schon akkurat. Die Langzeitverfügbarkeit wird
für die Microchip-FPGAs auch recht offen kommuniziert, die Aussage dazu
gibt es über die entsprechenden FAEs und Vertriebsleute, auch über die
Distribution.
Ich hab von dem von 2023 mal einen Screenshot gemacht, siehe Anhang.
Wenn Du sowas direkt brauchst dann bitte auf den entsprechenden Disti-
oder den Herstellerkontakt zugehen.
Schönen Gruß
Moadl
Moin,
da vermutlich beim CoolRunner auch das Package relevant war: Die MachXO2
wuerde ich auch am ehesten als Ersatz empfehlen, die bieten genuegend
I/O und sind aehnlich robust.
Die Lattice-Toolchain ist einfach in der Handhabung ein echter
Problemfall, wenn man nicht fortwaehrend damit entwickelt und laufend
die Lizenz erneuert oder den flexlm ausser Gefecht setzt.
Fuer nachhaltige Entwicklung hat sich aber mit dem OpenSource-Ansatz per
yosys eine neue Schiene aufgetan, damit waeren
allenfalls auch Gowin oder Efinix interessant, letztere habe ich
allerdings damals nicht in die Finger bekommen. GateMate waren sehr
pfiffig, aber zu der Zeit noch nicht verfuegbar. ICE40 gehen auch, die
Original-Tools sind allerdings eine Katastrophe mit VHDL.
.
Das Problem mit der Schematic Entry ist halt auch die Toolchain, eine
alte ISE kann es noch, aber fuer einen beliebigen Target die HDL
ausgeben und Updates bekommen, naja. LabVIEW ist eher noch zu sich
selbst kompatibel, aber mit Vendor-Lock-in auf deren HW, also auch nix.
OpenSource-Ansaetze per Kicad-Schema gehen auch (nur per Python HDL),
aber OpenSource muss auch gewartet werden und das kostet.
Der Aufwand ist wohl geringer, eine HDL zu lernen und es in die
Simulation zu stecken. Dafuer braucht man auch keine VHDL-Experten.
@Moadl: Das sind aber, wie schon gesagt, alles FPGAs aus der ehemaligen
Actel Serie.
Wir hatten inzwischen mehrere Meetings mit FAEs verschiedener
Distributoren und sind jetzt eher in Richtung Lattice MachXO2 unterwegs,
so wie Martin das auch genannt hat. Microchip wollte uns für die CPLDs
keine Zeiten nennen und bei Lattice gab es auch keine genauen Pläne,
aber der MachXO2 bleibt scheinbar erst mal auf der aktuellen Roadmap.
Andere FPGAs sind oft keine Alternative, weil meistens Boot-Proms
gebraucht werden, mehrere Spannungen (Core, AUX, BRAM usw.) und die
entsprechenden Wandler dazkommen und dann sind auch energetische Punkte
mit zu berücksichtigen (Gesamtstromaufnahme, Verlustleistung usw.).
Mal schauen, wo da noch die Entwicklungen hingehen. Man sieht ja immer
mal unbekannte China-Startups, die sich den kleineren CPLDs und FPGAs
widmen.
Viele Grüße,
Sven.
Peter D. schrieb:> Der Galep5 kann den ATF750 und mit PLCC-44 Adapter den ATF1504.
Der Afterburner unterstützt demnächst auch offiziell den ATF750C:
https://github.com/ole00/afterburner/discussions/46#discussioncomment-8349317
Leider nicht für die original Afterburner Hardware sondern nur für MCUs
mit größerem RAM. Ich konnte den Maintainer nicht überzeugen meinen Code
direkt zu übernehmen, damit ging das auch mit einem ATmega32U4.
Michael