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 :(
Die GreenPAK-Chips werden (leider) per Schaltplan programmiert. Sind aber vielleicht zu klein.
Anton schrieb: > Die GreenPAK-Chips werden (leider) per Schaltplan programmiert. Sind > aber vielleicht zu klein. naja wenn GreenPak zu klein dann kann man ja den Forge nehmen :) https://www.renesas.com/us/en/products/programmable-mixed-signal-asic-ip-products/forgefpga-low-density-fpgas da gibt es auch schaltplan entry. Haben aber komische kleine Gehäuse nicht zugut für löten.
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
Altera-Intel hat 2021 anscheinend die Abkündigung der MAXII nochmal zurückgenommen: https://www.intel.com/content/www/us/en/content-details/810376/select-field-programmable-gate-array-fpga-and-complex-programmable-logic-device-cpld-product-families-pcn-117954-01-product-discontinuance-end-of-life-reason-for-revision-removed-max-ii-max-ii-g-max-ii-z-from-the-list-of-impacted-products-and.html MAX II is removed from the list of impacted products after considering customer feedback and current supply uncertainty in the broader semiconductor market aber: MAX II products will be reviewed for EOL in 2024 also nur aufgeschoben
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.
:
Bearbeitet durch User
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 Sven, auf die schnelle hab ich hier einen Eintrag im DigiKey Forum gefunden: https://forum.digikey.com/t/microchip-microsemi-fpga-products-no-obsolescence-practice-longevity-of-supply/25702 Ich kenne die Aussage auch für 2023 und 2024. Unterm Strich haben sich für die 10/15/20 Jahre nur das Datum geändert ab dem die Mindestenverfügbarkeit gerechnet wird. SG Moadl
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.
Notfalls einen 15 Jahresbedarf kaufen und da einlagern: https://www.htv-gmbh.de/dienstleistungen/langzeitkonservierung
< https://www.eevblog.com/forum/fpga/best-replacement-for-amdxilinx-cplds-xc9500/?topicseen > Gruß Gerhard
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
Norman P. schrieb: > Beispiel.zip (3,44 KB) > library IEEE; > use IEEE.STD_LOGIC_1164.ALL; > use IEEE.STD_LOGIC_ARITH.ALL; > use IEEE.STD_LOGIC_UNSIGNED.ALL; Aua! Wer macht den sowas? Siehe: Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"
Und es geht weiter:
> tcnt.vhd
1 | ct: PROCESS (takt,reset,load,d) |
2 | BEGIN
|
3 | IF reset='1' THEN qi <= "00000"; |
4 | ELSIF takt'event and takt='1' |
5 | THEN IF load='1' THEN qi <= d; |
6 | ELSE qi <= qi - 1; END IF; |
7 | END IF; |
8 | END PROCESS ct; |
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 | IF tqcnt = "00000" THEN stop <= '1'; |
6 | ELSE stop <= '0'; |
7 | END IF; |
8 | |
9 | IF tqcnt > "01001" THEN tcnt9 <= '1'; |
10 | ELSE tcnt9 <= '0'; |
11 | END IF; |
12 | |
13 | IF tqcnt > "00100" THEN tcnt4 <= '1'; |
14 | ELSE tcnt4 <= '0'; |
15 | END IF; |
16 | |
17 | END PROCESS count; |
18 | :
|
Kann man auch das funktionell völlig gleich so schreiben:
1 | :
|
2 | stop <= '1' when tqcnt = "00000" else '0'; |
3 | tcnt4 <= '1' when tqcnt > "00100" else '0'; |
4 | tcnt9 <= '1' when tqcnt > "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' when tqcnt = 0 else '0'; |
3 | tcnt4 <= '1' when tqcnt > 4 else '0'; |
4 | tcnt9 <= '1' when tqcnt > 9 else '0'; |
5 | :
|
Zum Modul precnt:
1 | library IEEE; |
2 | use IEEE.STD_LOGIC_1164.ALL; |
3 | use IEEE.STD_LOGIC_ARITH.ALL; |
4 | use IEEE.STD_LOGIC_UNSIGNED.ALL; |
5 | |
6 | entity precnt is |
7 | Port ( takt : in std_logic; |
8 | q : out std_logic_vector(13 downto 0)); |
9 | end precnt; |
10 | |
11 | architecture Behavioral of precnt is |
12 | signal qi : std_logic_vector(13 downto 0); |
13 | begin
|
14 | |
15 | ct: PROCESS (takt) |
16 | BEGIN
|
17 | IF takt'event and takt='1' |
18 | THEN qi <= qi + 1; END IF; |
19 | END PROCESS ct; |
20 | |
21 | q <= qi; |
22 | end Behavioral; |
das in *main.vhd* mit den Zeilen
1 | :
|
2 | component precnt |
3 | PORT( |
4 | takt : in std_logic; |
5 | q : out std_logic_vector(13 downto 0) |
6 | );
|
7 | end component; |
8 | :
|
9 | precounter : precnt port map(quartz_I,qprecnt); |
10 | :
|
instantiert wird, reicht ersatzweise 1 einzige Zeile in *main.vhd*:
1 | :
|
2 | qprecnt <= qprecnt+1 when rising_edge(quartz_I); |
3 | :
|
- https://www2.cs.sfu.ca/~ggbaker/reference/std_logic/1164/rising_edge.html Norman 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.
:
Bearbeitet durch Moderator
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.