Forum: FPGA, VHDL & Co. Lattice M4A3 synthetisieren und flashen mit ispLEVER


von Andreas B. (te-bachi)


Lesenswert?

Hallo Zusammen!

Schon vor zwei Jahren habt ihr euch gut um mich gekümmert, als ich mir 
einen ICD2-Clone basteln wollte. Mein ICD2 läuft nun wunderbar, dank 
eurer Hilfe!
[Beitrag "Re: PIC ICD 2 selbstgebaut"]

Jetzt versuche ich mich in an einen programmierbaren Logikbaustein 
(CPLD).

An meiner Fachhochschule haben wir Digitaltechnik mit Grundlagen wie 
Gatter-Logik (AND, OR, NOT, etc.), Flip-Flops wie auch VHDL als Krönung. 
Wir benutzen Altera Quartus II 9.1 Web Edition um den Code zu schreiben, 
simulieren ihn in ModelSim 6.5b und haben als Hardware einen Altera MAX 
II Micro Kit EPM2210F324C3 
(http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=64&No=215) 
um den synthetisierbaren VHDL-Code zu testen. Quartus hat
o einen Knopf um die Pins zuzuordnen 
(http://bachi.te-clan.ch/cpld/quartus_pinplanner.png)
o einen Knopf um zu Kompilieren (Synthesis, Fitter, Assembler, Timing 
Analyzer, alles vollautomatisch)
o einen Knopf um die Logik auf den Chip zu brennen 
(http://bachi.te-clan.ch/cpld/quartus_programmer.png)
Laut dem Quartus Programmer wird das Board bzw. der CPLD-Chip über USB 
(FT245BL) mit JTAG geflasht.

Um auch zu Hause ein wenig zu basteln, habe ich mir einen Lattice 
M4A3-32/32-10J PLCC-44 (CPLD) mit dazugehörigem PLCC-IC-Sockel gekauft: 
pur ohne spezielles Education/Evaluation/Development Board. Da kann ich 
einfach alle Pins benutzen und der Chip selber ist sehr kompakt, nicht 
wie die Evaluation Board. Warum ich einen PLCC und keinen QFP benutze? 
SMD ist sehr, sehr klein und ich versuche alles, die Bauteile noch von 
Hand schnell zu verlöten. Dafür verwende ich andere Tools wie Lattice 
ispLEVER Classic 1.3 und Synopsys Synplify 9.4L1. Diese Tools sind nicht 
ganz so benutzerfreundlich wie Quartus. Ich habe herausgefunden, dass 
sich die Pin Zuordnung im Constraint Editor 
(http://bachi.te-clan.ch/cpld/isplever_pinassign.png) und der Programmer 
im ispVM (http://bachi.te-clan.ch/cpld/isplever_vm.png) verbirgt. Wie 
ich meine Entity kompilieren oder wie ich genau flashen kann, weiss ich 
nicht. Kennt sich jemand damit aus (mit ispLEVER)?

Für das flashen vom Chip habe ich auch noch fragen. Soll ich ein 
'Lattice ISP Download Kabel' oder ein "normales" 'JTAG Kabel' aufbauen? 
(http://lea.hamradio.si/~s57mmk/utils.htm) Das ISP Download Kabel hat 
komische Bezeichnungen (SDO, SDI, SCLK, MODE, !ISPEN, RESET) im 
Gegensatz zu JTAG und der Chip-Spezifikation 
(http://bachi.te-clan.ch/cpld/mach4a.png). Mein altes Notebook hat noch 
einen Parallel-Port, das neue nicht mehr. Wie gehe ich vor um ein 
normales LPT-Kabel, wie ein USB-Kabel zu basteln? Ich kenne JTAG gar 
nicht.

Unter diesen Threads habe ich auch nicht viel gefunden:
Beitrag "Bezugsquelle für Lattice ispDownload Kabel (USB)?"
Beitrag "Lattice Programmierkabel"
Beitrag "Lattice CPLD an Lattice Kabel!? ISPEN, BSCAN?"
Beitrag "Lattice ISP: Welche Pins braucht man?"
Beitrag "Lattice Programmierkabel Infos gesucht"
Beitrag "Lattice isp mit USB programmieren"
Beitrag "Erste Schritte mit Lattice"

Den Chip möchte ich dann mit einem Adapter ans Steckboard stecken. Gibt 
es solche Standart-Adapter für PLCC-44? Ich habe nur QFP Adapter 
gesehen.

Andreas

von sunny (Gast)


Angehängte Dateien:

Lesenswert?

hi

um deinen source zu compilieren doppelkilckst du einfach im "Processes 
for curent source" fenster auf "fit design" dann rattert er los und 
erstellt dir das jtag file.

da die mach4 teile schon etwas älter sind, ist die entschprechende 
datenbank in ispvm nicht standartmäßig installiert. das musst du manuell 
machen. dazu in ispvm unter options auf "device database installation" 
klicken. dann unten bei "mach4/4lv..." ein häkchen rein machen.

jetzt kannst du deinen chip zur jtag-chain hinzufügen indem du im ispvm 
auf "add device" klickst. hier musst du jetzt deinen chip und die vorhin 
erstellte jtag datei auswählen. jetzt nur noch auf "go" klicken und der 
chip wird gebrannt.

zum brennen würde ich das lattice kabel bauen. damit kannst du dann 
direkt aus ispvm brennen. es hat auch die /ispen leitung die benötigt 
wird um den chip in den programmier modus zu schalten. alles andere 
verursacht nur frust und probleme. ich häng mein programmer mal mit an.

was deine frage wegen usb an geht kann ich nichts zu sagen. ich benutze 
für meine spielerein einen parallelport adapter von delock das kostet 
nicht die welt und hat bis jetzt mit jedem prog tool funktioniert.

gruß sunny

von Christian Leber (Gast)


Lesenswert?

Da ist ein parallel programmer dabei und der FPGA ist auch gross genug 
um bisschen was sinnvolles zu machen:
http://www.latticesemi.com/products/developmenthardware/developmentkits/xp2breviadevelopmentkit.cfm?source=sidebar

Da gibt es auch Beispieldesigns. Das teil ist vermutlich weniger 
aergerlich und du kannst wesentlich mehr lernen.

Gruss
Christian Leber

von sunny (Gast)


Lesenswert?

hi

da muss man aber auch dazu sagen dass zu den 29$ noch mal 46$ versand 
dazu kommen. ich hätt's mir auch fast bestellt aber nich bei diesen 
exorbitanten versandkosten.

gruß sunny

von Andreas B. (te-bachi)


Lesenswert?

Vielen Dank schon mal. Ihr habt mir sehr weitergeholfen. Ich werde mir 
nun das Parallel-Kabel von sunny bauen. Da sind aber noch ein paar 
Fragen wegen dem Schaltplan:
o Kondensator C6 hat keine Wert. Sollte der Wert auch auf 100pF sein?
o Der Stecker SV1 hat gar keine Bezeichnungen. Ist das irgendwie 
Standart?

Ich habe auch einen UBS-Parallel Adapter (Conrad Artikel-Nr. 974966). 
Wäre klasse, wenns funktionieren würde.

Wenn ich in ispLever ein neues Projekt erstelle und meinen Chip anwähle, 
kommt eine Kompatibilitäts-Warning 
(http://bachi.te-clan.ch/cpld/isplever_warning.png). Soll ich ja oder 
nein sagen?

Den Chip möchte ich dann mit einem Adapter ans Steckboard stecken. Gibt 
es solche Standart-Adapter für PLCC-44? Ich habe nur QFP Adapter 
gesehen. Gibts da Adapter dazu oder muss ich zu einem 
Plattinen-Hersteller mit meinem Eagle-Board-Layout gehen und das teuer 
herstellen lassen?

@Christian Leber
Du arbeitest bei Lattice in der Verkaufsabteilung, oder? ;)

Frühere Beiträge haben auf eine Website von flyingbytes.net (= Christof 
Sirk ??) verwiesen. Die Domain existiert aber nicht mehr. Gibt es 
irgendwo ein Backup? Einfach, wenn sunnys Kabel nicht funktionieren 
würde... aber nein! Das WIRD funktionieren! :)
Beitrag "Problem mit dem Lattice ispDownload"
Beitrag "Cheaptag CPLD"

von Andreas B. (te-bachi)


Lesenswert?

Oh... habe vergessen: welche Spannung soll ich anlegen?
3.3V oder 5 V an VCC?

von Andreas B. (te-bachi)


Lesenswert?

Ich habe gerade etwas gefunden, dass dem entspricht, was sunny mir 
geschrieben hat: ispDOWNLOAD Cable In-System Programming Interface for 
the PC (pDS4102-DL2)

Die PINs sind wie folgt:
1 - Vcc
2 - SDO/TDO
3 - SDI/TDI
4 - !ispEN
5 - NC
6 - MODE/TMS
7 - GND
8 - SCLK/TCK

Ist das so richtig? Deckt der Schaltplan von sunny sich mit dem vom 
ispDOWNLOAD Cable?

von Andreas B. (te-bachi)


Lesenswert?

Die PINs an meinem Chip haben aber nur 
(http://bachi.te-clan.ch/cpld/mach4a.png):

 1 - GND
44 - VCC

10 - TDI
11 - CLK0/I0
12 - GND
13 - TCK

22 - VCC
23 - GND

32 - TMS
33 - CLK1/I1
34 - GND
35 - TDO

Es gibt keine PINs wie ispEn und NC.

von sunny (Gast)


Lesenswert?

hi

der c6 ist nur ein abblock kondensator. irgendwas keramisches ab 100nF 
aufwärts ist da ausreichend.
der stecker sv1 ist einfach nur eine stiftleiste. ich hab da direkt ein 
flachbandkabel angelötet. wegen der belegung musst du schauen. das ist 
kein standart. wenn du auf dem steckbrett arbeitest würd ich da eh 
einzeladern dran löten und die dann jeweils beschriften.

zum parallel adapter. der wird zu 99% nicht funktionieren. dieser (und 
fast alle anderen) stellen keinen echten lpt-port zur verfügung sondern 
nur eine "usb-druckeranbindung". ich hab das theater auch durch. wenn 
dein laptop einen express card slot hat dann kauf dir die delock 66220. 
die funktioniert. 
http://www.idealo.de/preisvergleich/OffersOfProduct/1378715_-1-port-expresscard-34-parallel-66220-delock.html

bei der frage von isplever musst du "nein" sagen sonst stellt er dir 
einen anderen schaltkeis ein (nämlich den lc4032). liegt daran weil der 
m4a3 veraltet ist.

plcc adapter gibt's hier
http://www.progshop.com/versand/adapter/plcc-adapter.html
kann man sich aber auch selber bauen. etweder platine ätzen oder auf 
lochraster. das ist doch nun wirklich kein problem.

vcc am programmier adapter meinst du? da kommt die versorgung von deiner 
zielschaltung dran. je nach dem ob die mit 3,3 oder 5v läuft.

gruß sunny

von sunny (Gast)


Lesenswert?

wenn du ispen bei deinem chip nicht brauchst lass ihn halt weg.
NC bedeutet "No Connect" ;-)
was das kabel an geht, gib mal einen link. kann schon sein dass sich das 
deckt. ich hab auch nur einen schaltplan aus dem netz genommen und mir 
ein layout dazu gebastelt.

gruß sunny

von Andreas B. (te-bachi)


Angehängte Dateien:

Lesenswert?

Siehe Anhang

von sunny (Gast)


Lesenswert?

ah ja, meine quelle war zwar eine andere (weiß nicht mehr wo) aber die 
belegung ist bei mir auch so wie in dem pdf. bei mir ist allerdings pin5 
nicht NC sondern TRST. den pin brauchst du aber scheinbar bei deinem 
schaltkreis auch nicht.

gruß sunny

von Andreas B. (te-bachi)


Lesenswert?

Wunderbar! Ich werden heute Abend mal das Kabel bauen und ausprobieren.
Kleine Frage noch: Ich habe ja eine PLCC-CPLD mit Sockel. Um 
auszuprobieren ob der Chip in die Fassung geht, habe ich sie 
"zusammengebracht". Jetzt kann ich sie nicht mehr trennen. Welches 
Spezialwerkzeug brauche ich um einen PLCC-Chip von seiner Fassung zu 
trennen?

von sunny (Gast)


Lesenswert?

normalerweise gibt's da ein spezialwerkzeug für. sieht aus wie eine 
pinzette mit haken unten dran.
man kann die chips auch vorsichtig mit einem kleinen uhrmacher 
schraubenzieher raushebeln. manchmal geht dann allerdings die fassung 
kaputt. also am besten drin lassen und so einlöten.

gruß sunny

von lulu (Gast)


Lesenswert?


von Andreas B. (te-bachi)


Lesenswert?

@lulu
Sorry... der link ist benutzer-spezifisch (nur auf deine session 
bezogen). wäre schön, wenn du artikelnummer oder name dieses werkzeugs 
bekanngeben könntest.

von Andreas B. (te-bachi)


Lesenswert?

Ist das die 'PLCC ZANGE' in Reichelt?

von sunny (Gast)


Lesenswert?

ja, genau so ein teil ist das.

von Andreas B. (te-bachi)


Lesenswert?

Ich hab mir heute die Bauteile und den PLCC-Extractor besorgt (hatte den 
74244 nicht im Haus). Jetzt fehlt mir nur noch einen PLCC-to-DIP Adapter 
wie diesen hier: http://www.futurlec.com/PLCC_Adapters.shtml
Sonst kann ich ja das Kabel gar nicht testen.

Womöglich finde ich einen PCB-Prototype-Hersteller, der mir günstig eine 
Leiterplatine für den PLCC-to-DIP Adapter herstellt oder ich lese mal 
mehr über Ätztechnik zu Hause nach.

Da ich aber nächte Woche FH-Semesterprüfungen habe, werde ich erst ab 
dem 26. Juni wieder Zeit haben.

Jedenfalls, für heute: vielen Dank!
Melde mich in einer Woche wieder.

von sunny (Gast)


Lesenswert?

warum baust du den plcc adapter nicht selber?
da du eh auf dem steckbrett arbeiten willst muss es ja kein standard 
dil-maß sein. du könntest den adapter auch breiter machen so dass du ihn 
über die stromschienen stecken kannst. so kannst du den adapter auf 
einer lochraster platine mit etwas kupferlackdraht selber machen.
wenn du allerdings unbedingt geld aus dem fenster werfen willst kann ich 
dir auch gern eine platine machen. für 10eu incl. prorto gebohrt und mit 
lötlack.

gruß sunny

von Andreas B. (te-bachi)


Lesenswert?

Ich habe eine Experimentierplatine (Conrad 529626) und eine 
Euro-Prozessor-Platine (Conrad 529568).
Habe versucht den PLCC-Sockel und die Stiftleisten ranzulösen... würde 
aber sehr viel Zeit in anspruch nehmen den Sockel an die Stifte zu 
löten.

Darum entweder PCB-Firma finden, die das günstig macht, oder mich mit 
der Ätztechnik auseinandersetzen.

von Andreas B. (te-bachi)


Lesenswert?

Ich nehme dein Angebot doch an, wenns geht.

Eine Platine PLCC-to-DIP für 44 PINs + 10 Pins extra für den 2x5 
Pogrammer-Stecker (über Flachbandkabel). Das soll über die Stromschiene 
des Steckboard gesteckt werden

Eine Platine für den Programmer selbst (kennst ja deinen Schaltplan). 
Werde ein Kabel machen: DB-25 mit Kabel zu kleiner Box. Box hat dann 
einen 2x5 Stecker, mit dem man über Flachbandkabel zum Target gehen 
kann.

Meine Mail für genäuere Abklärungen: [entfernt]

von Andreas B. (te-bachi)


Lesenswert?

Habe in einem anderen fast genau das gefunden, was ich haben möchte für 
den PLCC-to-DIP Adapter:
Beitrag "Re: Eagle? Hilfe!"

Versuche nun den Autor zu kontaktieren

von sunny (Gast)


Lesenswert?

hi

hab dir eine mail geschrieben. lösch deine mailadresse am besten wieder 
raus bevor sie ein spambot findet.

gruß sunny

von Andreas B. (te-bachi)


Lesenswert?

geht leider nicht... kann weder bearbeiten oder löschen.
hätte eigentlich _NOSPAM_ oder so in die adresse schreiben sollen. 
versuche mit dem admin kontakt aufzunehmen.

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.