Forum: FPGA, VHDL & Co. CPLD


von Siegfried S. (dieleena)


Lesenswert?

hei, guten morgen

wie immer, warscheinlich im falschem Forum.

Frage, gibt es ein deutschsprachiges Forum für CPLD's und gibt es für 
MAX+plus II 10.2 BASELINE duetsche Duko ?

bis bald dieleena

von FPGAküchle (Gast)


Lesenswert?

< Frage, gibt es ein deutschsprachiges Forum für CPLD's
Ja, dieses hier!

von Siegfried S. (dieleena)


Lesenswert?

hei,

Das Projekt, an dem ich arbeite, ist ein rein privates, und in diesem 
möchte ich die Chip's mimimieren. Dabei bin ich auf altera gestoßen.
Besteht die Möglichkeit, das ein oder mehrere Forumsmitglieder bei 
Probleme mich unterstützen. Werde EPM7128SLC84 benutzen. MAX+plus II 
10.2 BASELINE ist bereits mit Keycode installiert.

Ich hätte am Anfang ein paar grundsätzliche Fragen.
a)  besteht die Möglichkeit, CPLD's Onboard zu programmieren
b)  welchen Brenner/Software benötige ich (besitze GALEP4)
c)  wie erstelle ich in MAX+plus II in dem Projekt eine zusätzliche 
Seite
d)  wie verbinde ich namensgleiche Signale von Seite X und Seite Y

Gruß Siegfried

von Roger S. (edge)


Lesenswert?

> Das Projekt, an dem ich arbeite, ist ein rein privates, und in diesem
> möchte ich die Chip's mimimieren. Dabei bin ich auf altera gestoßen.
> Besteht die Möglichkeit, das ein oder mehrere Forumsmitglieder bei
> Probleme mich unterstützen. Werde EPM7128SLC84 benutzen. MAX+plus II

Ist der rest 5V? ansonsten sind die vergleichbaren MAX3K guenstiger
oder wenns ein one shot ist, ein MaxII nehmen, mehr platz zum austoben.

> 10.2 BASELINE ist bereits mit Keycode installiert.

Wieso den alten Dinosaurier hervorkramen, nimm besser gleich QuartusII.
Die CPLDs sind im Webpack mit dabei.

> a)  besteht die Möglichkeit, CPLD's Onboard zu programmieren

Ja, mittels JTAG, zumindest wenn du auf MAX7K bestehst, dann musst
du auf den S suffix nach der nummer achten.

> b)  welchen Brenner/Software benötige ich (besitze GALEP4)

ByteBlaster  UsbBlaster  EthernetBlaster.
Zum ersten gibts den Schaltplan bei Altera.

Cheers, Roger

von Siegfried S. (dieleena)


Lesenswert?

hei,
lasse mich gern belehren. Habe meine Info aus Elektor.
Frage, ist QuartusII kostenflichtig ?
gruß Siegfried

von Dirk (Gast)


Lesenswert?

Nein, das Webpack ist kostenlos.

von Siegfried S. (dieleena)


Lesenswert?

hei,
bin dabei QuartusII herunterladen, Lizenzcode habe ich schon.
Die Logic des Board soll komplett mit 5 Volt betrieben werden. Werde 
dann im Layout des Boards für jeden CPLD einen 10 poligen Jumper 
einplanen.
Bin sehr gespannt.
Gruß Siegfried

von Siegfried S. (dieleena)


Lesenswert?

hei,
muß ich hier auch alle 6 Monate die Lizenz neu erwerben ?
Gruß Siegfried

von Dirk (Gast)


Lesenswert?

Nicht erwerben, nur kostenlos erneuern.

von Roger S. (edge)


Lesenswert?

> Die Logic des Board soll komplett mit 5 Volt betrieben werden. Werde
> dann im Layout des Boards für jeden CPLD einen 10 poligen Jumper
> einplanen.

naja, ich hinterfrage mal nicht den Sinn an einem 'CPLD Grab'
aber wenn du da schon mehrere draufpackst, dann kannst du deren JTAG 
auch kaskadieren und sparst dir somit das umstecken.

Cheers, Roger

von Siegfried S. (dieleena)


Lesenswert?

hei,
ein CPLD Grab möchte ich nicht haben, es werden, soweit ich die Input 
und Output Pin zusammen gezählt habe, 2 Stück.
Gruß Siegfried

von Siegfried S. (dieleena)


Lesenswert?

hei,
ist ein oder mehrere Forumsmitglieder bereit, wenn ich meine erste CPLD 
Entwicklung erstellt habe, dies zu überprüfen. Benötige dann die Info, 
welche Dateien benötigt werden.
Gruß Siegfried

von Stefan W. (wswbln)


Lesenswert?

...probier's doch einfach mal. Bisher hat's fast immer geklappt. ;)

Während Du die Software herunterlädtst und installierst, kannst Du 
vielleicht schon ein wenig über das geplante Design plaudern?

Das mit dem Zusammenzählen von I/Os bei mehreren CPLDs macht mich schon 
mal ein wenig skeptisch: Sind die Funktionen der CPLDs wirklich 
vollständig getrennt oder brauchst Du da ggf. noch ein paar 
Querverbindungen? Im Allgemeinen ist es besser statt mehreren kleinen 
gleich einen grösseren Baustein zu nehmen...

von holger (Gast)


Angehängte Dateien:

Lesenswert?

GAL 20V8  jetzt ein STK200 Dongle.
Ich habe aber an den Ausgängen keinen echten "TRISTATE".

Ich habe das gemessen.

Inputs u. Outputs, da sind interne Pull-Ups drin.
Bei den Inputs ist das sogar nützlich.
Durch das Gal wird die Platine einfach zu routen.

Kan man damit auch einen FPGA-Dongle bauen ??? .

                             ._____    ___.
                             |     \__/     |
                         clk |  1        24 | vcc
                      /OEN_2 |  2        23 | NC_INP_23
                    MISO_mcu |  3        22 | MISO_PC_ACK
                 PC_RESET_09 |  4        21 | mcu_RESET
                          i4 |  5        20 | mcu_RESET_N
                     PROG_PC |  6        19 | PROG_LED
                     SCLK_PC |  7        18 | SCLK_mcu
                     MOSI_PC |  8        17 | MOSI_mcu
                          i8 |  9        16 | NC_OUTP_16
                          i9 | 10        15 | NC_OUTP_15
                         i10 | 11        14 | NC_INP_14
                         gnd | 12        13 | /OEN1_13
                             |______________|

von Siegfried S. (dieleena)


Lesenswert?

hei,
Anbei als ZIP, mein Projekt.
Dies ist mein erstes CPLD-Projekt. Es ist noch nicht fertig. Mit dem 
"Schaltplan" erstellen hatte ich keine Probleme. Nach dem Kompilieren 
werden Warnungen ausgegeben. Diese bekomme ich nicht weg.
Diese Meldungen sind mir unter Umstände klar. Es würde mich trotzdem 
interessieren warum.
Warning: Found pins functioning as undefined clocks and/or memory 
enables
  Info: Assuming node "clkFs12" is an undefined clock
  Info: Assuming node "clkFs11" is an undefined clock
Was habe ich falsch gemacht?
Zum Schaltplan: Es werden im obigem 74273 8Bit gespeichert und diese mit 
einem externem Zähler verglichen, ob der Wert größer ist. Der untere 
74272 hat Steuerfunktionen. Ein/Aus; Vor/Rück; Licht; Ein aus zwei 7400 
erstelltes FF übernimmt eingangseitig die Aktivierung der 
Strombegrenzung. Zwei 7420 bilden dann die Ausgänge, die die Endstufe 
über Optokoppler ansteuern.
Gruß Siegfried

von Siegfried S. (dieleena)


Lesenswert?

hei,
habe etwas vergessen. Diese Schaltung soll 8 mal in den Schaltplan, 
zuzüglich den Decoder für die Taktsignale der 74273 und unter Umstände 
auch Treiber 74244 für die Datensignale und Fahrsignale (74686).
Gruß Siegfried

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Hast du die FPGA-Logi-Gleichungen nur gezeichnet.?
ohne Constrains , & Buffers ?
Gruss Holger.


von Siegfried S. (dieleena)


Angehängte Dateien:

Lesenswert?

hei,
wie du schreibst. Bin noch in CPLD's am Anfang, habe noch wenig 
Kenntnis.
habe nochmals ZIP angehängt.
Gruß Siegfried

von Siegfried S. (dieleena)


Lesenswert?

guten morgen,

was meinst du mit "Constrains" ?
unter "Buffers" verstehe ich, wenn ich eine bestimmte Anzahl von 
Eingänge überschreite. Wenn ich hier falsch denk, bitte korrigieren.
Ich bin kein Typ, der wenn es nicht funktioniert wie es soll, gleich 
alles zu Seite legt. Wer ist bereit, mir etwas zu helfen.

Gruß Siegfried

von Falk (Gast)


Lesenswert?

@Siegfried Saueressig

>was meinst du mit "Constrains" ?

Constraints sind, wie der des Angelsächsischen Mächtige vermutet, 
Grenzen, bzw. in diesem Zusammenhang besser als Randbedingung übersetzt.
Sprich, du musst festlegen, mit welcher Freqeunz deine Schaltung 
arbeiten soll. Danach prüft die Software, ob die Verzögerungen der Logik 
diese Frequenz ermöglichen.

Weiterhin musst du festlegen , welche Signale auf welche Pins sollen.

>Anbei als ZIP, mein Projekt.

Kann ich leider nicht vollständig lesen, ds ich kein Quartus hier habe. 
Aber ein paar Hinweise.

>Warning: Found pins functioning as undefined clocks and/or memory
>enables
>  Info: Assuming node "clkFs12" is an undefined clock
>  Info: Assuming node "clkFs11" is an undefined clock
>Was habe ich falsch gemacht?

Im Prinzip nix, du solltest jedoch explizit festlegen, welche Signale 
Takte sind und welche Freqeunz die haben. Das stellt man in irgendeinem 
der 1000 Menus ein.

Ausserdem sagt dir der Compiler

>Warning: Timing Analysis does not support the analysis of latches as >synchronous 
elements for the currently selected device family
>Warning: Found combinational loop of 1 nodes
>  Warning: Node "7400:inst31|4~12"
>Warning: Found combinational loop of 1 nodes
>  Warning: Node "7400:inst39|4~31"

Solche Warnungen sollte man ernst nehmen. Du hast in deinem Design 
kombinatorische Schleifen. Das ist unschön und praktisch seltenst 
notwendig. Und man kann sich damit böse ins Knie schiessen. Also in ein 
sauberes synchrones Design ändern.

MFG
Falk



von Klaus F. (kfalser)


Lesenswert?

Constrains sind Anweisungen an die Entwicklungsumgebung, mit denen man 
zusätzlche Details mitteilt, z.B.
- die Taktfrequenz, mit der das ganze "Werk" laufen soll
- die Pin-Belegung, welches Signal an welches Pin.

Allgemein würde ich Dir 2 Dinge empfehlen :
- einen anderen Baustein. Ich kenne zwar Altera nicht sehr gut, aber die 
MAX7000 Reihe erscheint mir veraltet. Ich würde einen Type mit 3.3 V 
verwenden, der 5V kompatible Ein-/Ausgänge hat. Das Erzeugen der 3.3 V 
Spannung ist kein Problem und die 3.3 V Bausteine sind billiger und 
größer. Das Aufteilen einer Schaltung auf 2 Bausteine ist nie eine gute 
Idee.
- Du solltest dein Design nicht aus Elemente der 74-Serie aufbauen. Ich 
würde eigentlich empfehlen VHDL zu lernen, aber selbst wenn Du dein 
Schaltung lieber als Zeichnung aufbaust, solltest Du lernen, nicht in 74 
Bausteinen zu denken.
Denke lieber in Zählern, UND, ODER, Multiplexer.
Ganz wichtig ist, daß alle deine Flip-Flops und Zähler mit EINEN Takt 
takten. Niemals sollte man z.B. den Ausgang eines Zählers als Takt für 
einen anderen Zähler verwenden, oder den Ausgang eines Zählers als Reset 
rückkoppeln um ihn rückzusetzen.
Diese Methoden aus der TTL Zeit sind für CPLD's nicht geeignet, bei CPLD 
sollte man ein synchrones Design schreiben.

Grüße
Klaus

von Siegfried S. (dieleena)


Lesenswert?

hallo,
welche alternative habe ich zu "Altera" ?
welche Software benötige ich zu VHDL ?
Da ich bei meinem Projekt die TTL's und GAL's in einen/mehrere Chip's 
verpacken möchte, spielt es keine Rolle, mit Chip X und Software X zu 
setzen.
Gruß Siegfried

von Falk (Gast)


Lesenswert?

@Siegfried Saueressig

>welche alternative habe ich zu "Altera" ?

Xilinx oder Lattice. Altera ist aber auch gut. Nimm die Bausteine, die 
leicht verfügbar sind.

>welche Software benötige ich zu VHDL ?

Quartus-II kann das schon.

MFG
Falk

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

http://www.stud.fit.vutbr.cz/~xvasic11/cl.cpld/
Hier ist das gut zu sehen mit den Constsaints , bitte dort nach unten 
scrollen.

Das ist zwar nicht in deutsch,oder englisch.
Aber du kanst an den Bildern,u. Schaltungen, genau sehen was du zu
designen machen must.

Was auch ganz wichtig ist sind an dem Chip die GCLK = Global Clock
Pins.
GSET, GRESET.
Global Reset, Global Tristate, Global SET usw....
Diese Pinne solte man nutzen.

Es sind hier im Forum viele die mit ihrem Design schon beim Jonsen 
Zähler
so komische Efekte haben.
In der Simulation ist alles ok, aber dan bei der gebrannten Hardware
geht es mit Glitches los.
Wichtig ist auch das die Gleichung zuerst in den Signalen 
zusammengeführt
wird, u dan erst in die I/O Buffers geht.

Gruss Holger.

von Siegfried S. (dieleena)


Lesenswert?

hallo,
möchte gerne das "Xilinx" herunterladen, werde dort bim "Create Account 
and Password" nach einem "USER ID" gefragt. wo bekomme ich diesen her?
Gruß Siegfried

von holger (Gast)


Lesenswert?

Lese das mal bitte.
Beitrag "xilinx webpack 9.1 registrierung"
Hast du schon mal ne XILINX  mail von denen bekommen.
Du musst dich da registieren lassen.
Aber das ist immer so Problembehaftet.
Ich habe mir ne CD geholt.
Viel Erfolg.
Gruss Holger.

von holger (Gast)


Lesenswert?

Hier ein Forum der Extraklasse.

Mit Beispielen zum Design,FAQ ect..
http://www.opencores.org/forums.cgi
Schau mal rein.
Gruss Holger.

von holger (Gast)


Lesenswert?


von Siegfried S. (dieleena)


Lesenswert?

hallo,
habe von "Xilinx" keine Mail bekommen, weil ich nicht registieren kann.
bei "Create Account and Password" wird nach einer "USER ID" gefragt.
und diese "USER ID" habe ich nicht.
gruß Siegfried

von holger (Gast)


Lesenswert?

Ích bekomme regelmässig E-Mails von XILINX.
In dem einen Thread, hatte ja auch einer Ärger mit der ID und Password.
Hast du den Thread gelesen ?
Der hat die 8.2 dan aber nach hin u. her zum rennen bekommen.
"FPGAKüchle"  hat dem dan geholfen.

Hast du den auch wirklich alles richtig ausgefüllt.
Das das immer son Hack ist.

Die 8.2 is jetzt State of the Art. 9.x ist ?????

Ich habe 4.2 da einfach 111111 usw dummy reingemacht,
Dan Ging das Ding.
Ich brauche die nur für die kleinen PLCC 64.
Du kanst ja mal den Download explizit für die XC9536 XL/XC machen.
Gruss Holger.

Da nimt man notfalls 2 an common GCLK.
neuen MonsterTeile SPARTAN A----
Die solten da mal lieber noch 10 Bit-Analog dran machen, als immer neue
dinger zu stricken.
Oder gleich ne Motorola 680030  mit VGA+NET  da rein.
Gruss Holger.

von Siegfried S. (dieleena)


Lesenswert?

Hallo, guten Abend
Habe folgende Information gefunden. Buch von Dr. Christian Ellwein
Ist dies zu empfehlen? Wird in diesem allgemein die CPLD's oder auch 
spezifisch auf ein Model eingegangen?
Gruß Siegfried

von Klaus Falser (Gast)


Lesenswert?

Wenn es Buch von 1998 ist, dann ist es hoffnungslos veraltet.

Klaus

von Siegfried S. (dieleena)


Lesenswert?

hallo,
habe mit Quartus II ein kleinep Projekt erstellt (Vorlage von Elektor)
Enthält noch eine Warnung.
--->>>>>
Info: 
*******************************************************************
Info: Running Quartus II Analysis & Synthesis
  Info: Version 6.1 Build 201 11/27/2006 SJ Web Edition
  Info: Processing started: Mon Feb 05 20:03:22 2007
Info: Command: quartus_map --read_settings_files=on 
--write_settings_files=off test2 -c test2
Info: Found 1 design units, including 1 entities, in source file 
testen22.bdf
  Info: Found entity 1: testen22
Info: Elaborating entity "testen22" for the top level hierarchy
Info: Implemented 18 device resources after synthesis - the final 
resource count might be different
  Info: Implemented 4 input pins
  Info: Implemented 7 output pins
  Info: Implemented 7 macrocells
Info: Quartus II Analysis & Synthesis was successful. 0 errors, 0 
warnings
  Info: Allocated 114 megabytes of memory during processing
  Info: Processing ended: Mon Feb 05 20:03:23 2007
  Info: Elapsed time: 00:00:01
Info: 
*******************************************************************
Info: Running Quartus II Fitter
  Info: Version 6.1 Build 201 11/27/2006 SJ Web Edition
  Info: Processing started: Mon Feb 05 20:03:25 2007
Info: Command: quartus_fit --read_settings_files=off 
--write_settings_files=off test2 -c test2
Info: Selected device EPM7064SLC84-10 for design "test2"
Info: Quartus II Fitter was successful. 0 errors, 0 warnings
  Info: Allocated 124 megabytes of memory during processing
  Info: Processing ended: Mon Feb 05 20:03:26 2007
  Info: Elapsed time: 00:00:01
Info: 
*******************************************************************
Info: Running Quartus II Assembler
  Info: Version 6.1 Build 201 11/27/2006 SJ Web Edition
  Info: Processing started: Mon Feb 05 20:03:27 2007
Info: Command: quartus_asm --read_settings_files=off 
--write_settings_files=off test2 -c test2
Info: Assembler is generating device programming files
Info: Quartus II Assembler was successful. 0 errors, 0 warnings
  Info: Allocated 105 megabytes of memory during processing
  Info: Processing ended: Mon Feb 05 20:03:34 2007
  Info: Elapsed time: 00:00:07
Info: 
*******************************************************************
Info: Running Quartus II Classic Timing Analyzer
  Info: Version 6.1 Build 201 11/27/2006 SJ Web Edition
  Info: Processing started: Mon Feb 05 20:03:36 2007
Info: Command: quartus_tan --read_settings_files=off 
--write_settings_files=off test2 -c test2
Info: Started post-fitting delay annotation
Info: Delay annotation completed successfully
Warning: Timing Analysis does not support the analysis of latches as 
synchronous elements for the currently selected device family
Info: Longest tpd from source pin "SWITCH1" to destination pin "LED7" is 
10.000 ns
  Info: 1: + IC(0.000 ns) + CELL(0.500 ns) = 0.500 ns; Loc. = PIN_12; 
Fanout = 6; PIN Node = 'SWITCH1'
  Info: 2: + IC(1.000 ns) + CELL(7.000 ns) = 8.500 ns; Loc. = LC10; 
Fanout = 1; COMB Node = 'inst7~6'
  Info: 3: + IC(0.000 ns) + CELL(1.500 ns) = 10.000 ns; Loc. = PIN_11; 
Fanout = 0; PIN Node = 'LED7'
  Info: Total cell delay = 9.000 ns ( 90.00 % )
  Info: Total interconnect delay = 1.000 ns ( 10.00 % )
Info: Quartus II Classic Timing Analyzer was successful. 0 errors, 1 
warning
  Info: Allocated 94 megabytes of memory during processing
  Info: Processing ended: Mon Feb 05 20:03:36 2007
  Info: Elapsed time: 00:00:00
Info: Quartus II Full Compilation was successful. 0 errors, 1 warning
<<<<----

Habe eine allgemeine Frage.
Wo bekomme ich das Programmier-Interface her, das ja noch installiert 
werden muß.

Wie berechnet man die "macrocells", sodas man etwa den überblick 
besitzt, welchen Chip man benötigt. Habe bei diesem Projekt (6Gatter) 
bemekt, das diese sehr schnell verbraucht werden.

Gruß Siegfried

von Siegfried S. (dieleena)


Lesenswert?

Hallo,
habe folgende Info über das Buch gefunden.

Programmierbare Logik mit GAL und CPLD.

Standardbild  Artikelmerkmale - Studium & Schule Bücher
 Autor:  Ellwein, Christian    Format:  Kartoniert / Broschiert
 Herausgeber:  Oldenbourg Wissensch.Vlg    Ausgabe:  Inkl. CD-ROM.
 ISBN-10:  3486246100    Bildungsweg:  --
 ISBN-13:  9783486246100    Erscheinungsjahr:  1998
 Produktart:  --    Sprache:  --

Gruß Siegfried

von Falk (Gast)


Lesenswert?

@Siegfried Saueressig

>Info: Quartus II Full Compilation was successful. 0 errors, 1 warning
><<<<----

Naja, sieh gut aus, nur 1 Warnung.

>Habe eine allgemeine Frage.
>Wo bekomme ich das Programmier-Interface her, das ja noch installiert
>werden muß.

Kannman selber bauen. Nennt sich Byteblaster. Schaltplan? Keine Ahnung.

>Wie berechnet man die "macrocells", sodas man etwa den überblick
>besitzt, welchen Chip man benötigt. Habe bei diesem Projekt (6Gatter)
>bemekt, das diese sehr schnell verbraucht werden.

Nun, wenn du vorher abschätzen willst, wieviel Macrozellen du brauchst, 
musst du halt abschätzen ;-)
Eine Macrozelle enthält ein FlipFlop und einen relativ grossen 
Logikdecoder.

Wenn du wissen willst wieviel Macrozellen dein fertiges Designbraucht, 
da gibt es diverse Reports in der Software. Da sind alle benötigten 
Resourcen (Pins, Macrozellen) aufgelistet.

>Programmierbare Logik mit GAL und CPLD. . . .

Wenn du es für 5 Euro kriegen kannst, nimm es, die Grundlagen sind nach 
wie vor die selben. Allerdings musst du aufpassen, die ICs sind heute 
wesentlich moderner und leistungsfähiger, das beeinfluss schon mal das 
Design. Und GALs würde ich im Leben nicht mehr anfassen, die haben ihre 
Zeit hinter sich.

MfG
Falk

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.