hallo, heute ist nicht mein Tag. habe eine Gleichung aus dem Handbuch für ein D-Latch. " Out = Out * /Takt + Daten * Takt " So wie hier diese Gleichung steht, funktioniert sie. Weiter befindet sich in dem Gal ein 4Bit Zähler. Da ich keine Pin mehr zu verfügung habe, möchte ich das Signal " Takt " aus dem Zähler so ableiten, das ich z.B. bei Zählerposition " 5 " das D-Latch takte. bekomme es leiter nicht hin. kann mir geholfen werden ? Gruß Siegfried
hallo, Tasse Kaffe trinken und dann funktionierts. ff3 = ff3 * (/Q0 + /Q1 + /Q2 + /Q3) + D0 * (Q0 Q1 Q2 * Q3) ff3 = Ausgang Q0 bis Q3 sind die Zählerausgänge, wobei diese als takt fürs D-Latch genutzt werden. D0 = daten Gruß Siegfried
Gal16V8 Beispiel aus National Smiconductor Datenbuch 7-25 Vier-Bit-Zähler mit zwei Paralell-Ladeports Clk A0 A1 A2 A3 B0 B1 B2 B3 GND /E COUNT I1 Q3 Q2 Q1 Q0 I0 CIN VCC /Q0 := /I1 * /I0 * /Q0 + /I1 I0 /A0 + I1 * /I0 * /B0 + I1 I0 /CIN * /Q0 + I1 I0 CIN * Q0 /Q1 := /I1 * /I0 * /Q1 + /I1 I0 /A1 + I1 * /I0 * /B1 + I1 I0 /CIN * /Q1 + I1 I0 CIN Q1 Q0 + I1 I0 /Q1 * /Q0 /Q2 := /I1 * /I0 * /Q2 + /I1 I0 /A2 + I1 * /I0 * B2 + I1 I0 /CIN * /Q2 + I1 I0 CIN Q2 Q1 * Q0 + I1 I0 /Q2 * /Q1 + I1 I0 /Q2 * /Q0 /Q3 := /I1 * /I0 * /Q3 + /I1 I0 /A3 + I1 * /I0 * /B3 + I1 I0 /CIN * /Q3 + I1 I0 CIN Q3 Q2 Q1 Q0 + I1 I0 /Q3 * /Q2 + I1 I0 /Q3 * /Q1 + I1 I0 /Q3 * /Q0 IF(VCC) /COUNT = /CIN + /Q3 + /Q2 + /Q1 + /Q0 Was hast du für einen Gal-Compiler ???? Was hast du für Gal-Typen, ich habe LATTICE GAL20V8. Achtung: Das ist explizit geclockt Logic. Achtung: Nim auch nur den CLK-PIN dafür. Kommst du damit klar ???? Wie gehts diener 8.2 XILINX Soft ? Gruss holger.
Hier noch mal das Pinning. Aber bitte vorher selber prüfen. Protokolldatei des Logik-Compilers GalAsm, (05.02.2007) von holger Bearbeitete Datei: 4bitz.eqn Ziel PLD : GAL16V8 Pinbelegung des PLDs: ==================== ________ --+ \__/ +-- Clk -> | 1| |20| Vcc ==+ +== A0 -> | 2| |19| <- CIN ==+ +== A1 -> | 3| |18| <- I0 ==+ +== A2 -> | 4| |17| =:> Q0 ==+ +== A3 -> | 5| |16| =:> Q1 ==+ +== B0 -> | 6| |15| =:> Q2 ==+ +== B1 -> | 7| |14| =:> Q3 ==+ +== B2 -> | 8| |13| <- I1 ==+ +== B3 -> | 9| |12| -> COUNT ==+ +== Gnd |10| |11| <- /E --+__________+-- Legende: ->: kombinatorischer Aus- bzw Eingang =:>: sequentieller (registered) Ausgang <->: kombinator. Aus- und Eingang (Tristate) X : nicht benutzt, sollte auf Gnd gelegt werden Architekturkontrollbits: ======================= Syn = 0 AC0 = 1 CIN : AC1(1)=1, XOR(1)=1 I0 : AC1(2)=1, XOR(2)=1 Q0 : AC1(3)=0, XOR(3)=0 Q1 : AC1(4)=0, XOR(4)=0 Q2 : AC1(5)=0, XOR(5)=0 Q3 : AC1(6)=0, XOR(6)=0 I1 : AC1(7)=1, XOR(7)=1 COUNT : AC1(8)=1, XOR(8)=0 Konfiguration der OLMCs: ======================= OLMC 1 (Pin 19): CIN Eing. OLMC 2 (Pin 18): I0 Eing. OLMC 3 (Pin 17): Q0 seq.Ausg.,Freig.:/E, rückgek. OLMC 4 (Pin 16): Q1 seq.Ausg.,Freig.:/E, rückgek. OLMC 5 (Pin 15): Q2 seq.Ausg.,Freig.:/E, rückgek. OLMC 6 (Pin 14): Q3 seq.Ausg.,Freig.:/E, rückgek. OLMC 7 (Pin 13): I1 Eing. OLMC 8 (Pin 12): COUNT kombinat. Ausg.
hallo, Also, Sofware GAL35; Gal-Type 22V10; der Zähler ist über Pin 1 mit CLK verbunden; das D-Latch wird im Prinzip durch die Gleichung der Ausgänge des Zählers wie von einem 74LS259 angesteuert; in 8.2 XILINX Software habe ich kurz gestöbert. muß mich darin noch einarbeiten. Wo has du GalAsm her, und läuft dieser unter Windows? Gruß Siegfried
Der Clock-Syntax ist immer mit Doppelpunkt := Das ist eben ne DOS konsole. kein Windows. Die SOURCE kan man aus dem NETZ holen. Einfach mit Google nach "Volker Bosch" Das is von UNI, son Linux u. ATARI spezi. Ich habe die SOURCE schon vor Jahren kompiliert. Die tuts auch. Da habe ich schön C bei lernen können. Da ist so einiges drin, was man für sich immer wieder gebrauchen kan. Ich habe mir dan meinen eigenen GAL Compiler mit Progger gebaut. Damit habe ich dan selber PC-Karten gebaut. Und so habe ich mein Gal-Design auf der Hardware getestet. Nur die haben dan immer neue Fuses positions in den GALS gemacht. Aber mit XILINX ist das bald nur noch ein Klacks. Ich kan dir helfen wen du wilst. Gruss holger.
Hallo Holger, Nehme gerne dein Angebot an. Prima, das du es auch mit älteren Generation aufnimmst. Schade, das dies nur über das Internet erfolgen kann. Dieses wird etwa in 20 Tage erfolgen. Mein Internet Security läuft dann ab, und für das neue setze ich meinen Rechner auf ein neutrales Image auf. Zu Information, habe noch einen Link unter CPLD zwecks Qurtus im Forum. Programmer (GALEP4) besitze ich. Eine kleine Frage, kann ich in XILINX Gal-Code schreiben und kompilieren? PS. falls ich etwas später antworte, liegt es an meinem Rechner. Heute morgen kam immer das Bios oder der Bildschirm war schwarz. Beim Kunden-Service alles normal, bis auf kleine einstellungen wegen Batteriewechsel im Bios. Gruß Siegfried
Hallo Holger schau dir bei Ebay disen Artikel (140047811675) und dem Verkäufer seine Seite mal an Gruß Siegfried
Der Vorteil hier ist man kan auch den XC9572 auch da drauf machen. Das reicht für son Stepper immer. Den Verkäufer habe ich mir auch schon vor langer Zeit angesen. Achtung: Das ist ja nur das nackte Board, ohne CHIP ! Der hat auch welche mit CHIP fix und fertig da drauf, oder wilst du den CHIP selber da drauf machen, das ist SMD, hast du mit SMD etwas Erfahrung ??? dan ist das Ok. Denke auch an das ProggerKabel mit dem 244 Driver. Das brauchst du auch noch dazu. Hat der auch da. Ist glaube ich die 3,3 Volt KernSpg. u. 5V I/0 tolerant Pinne je 20 mA drive Power. Las dir auch den Pinng-Plan geben. Berichte mal XC9572XL Das (XL) ist dan fur 3V Kernn ???? Und Extern kan man 5V dran machen ??? Der hat also VCc Kern und VCC I/O Das ist ne soliden Sache für den Anfang. Kanst du die "Mechanilk" machen. Berichte mal.
Hallo Holger Habe schon öfters SMD-IC gelötet (74XX) Reihe, diese Tausendfüßler aber noch nicht. An Werkzeuge fehlt es mir nicht. Layout kann ich selbst erstellen, habe Cadsoft Eagle 3.55. Vorab, diese Aktion ist eine reines privates Projekt. Bericht: Bin dabei für meine Modelleisenbahn die Fahrendstufen zu entwerfen und bauen. Nehme hierzu eine Doppeleurokarte. Auf dieser müssen 16 Entstufen platz finden. Endstufe wird mit 2 Fet IFR540 und IFR9540 und Optokoppler betrieben. Versorgung für die Endstufe ist plus, minus, Masse. Da ein gewisser Schaltungsaufwand für die Logik betrieben werden muß, wollte ich dies mit GAL's erstellen. Die Logik wird mit einem PC verbunden und mittels einem von mir geschriebene C++ Programm betrieben. Ein Beitrag in Elektor hat mich an den PLCD's begeistert. Bin zu neuem immer offen, solange ich mitkomme. Wenn etwas nicht auf Anhieb funktioniert, gebe ich nicht sofort auf, sonder versuche dem Problem auf den Grund zu gehen. Frage, Habe im Netz die WebPACK_SFD_91i.zip (1,52GB) heruntergeladen. Installiert ist dann Xilinx ISE 9.1i Ist das das Richtige ? Was ist das für Kabel ? (Denke auch an das ProggerKabel mit dem 244 Driver.) z.B. 25pol Parallel 1:1 welche Lieferanten rätst du mir für Chip's welchen Link für Datenblätter? Welchen Chip für mein Projekt, brauche ca 40 I/O TTL bei 5Volt Betriebsspannung Gruß Siegfried
Der Händler Steppermotor hat auch xc9536 mail/ruf mal da an. Reichelt ca 9 Euro PLCC SMD ????? Bei SEGOR ??? www.xeyon.de Stück 1 Euro. ist aber ausgelötet. bei ebay unter "XILINX" suchen 4 Stück + eine Basis Platine ca 18 Euro. Da sind auch Stangenware drin. Das ist zwar nicht in deutsch,oder englisch. Nur die Bilder ansehen da ist fur Cz Studenten. http://www.stud.fit.vutbr.cz/~xvasic11/cl.cpld/ Aber du kanst an den Bildern,u. Schaltungen, genau sehen was du zu designen machen must. die Bilder auch gross anklicken. Dan kommen wir später noch zum Pinning mit den Constraints So kommt deine Hardware an den Pinnen nicht kreuz und quer da raus. Beim Projet ist ein Editor da giste Name z.B Motor1 PIN7 usw ein. Danach kommt die VHDL Gleichung. Dan Compile, Prog, Run, Fertig Gruss Holger. Gruss
-------------------------------------------------------------- Gehe mal auf Holger Klabunde Homepage. Der hat da ne menge TIPS und TRICK für XC9536 Da sind auch die Schaltungen für die JTAG Progger Kables drin. ------------------------------------------------------------- Ulrich Radig Homepage ist auch gut. -------------------------------------------------------------
Such dir die Stromlaufpläne zusammen. So ein Design verzeit kei eizigen Fehler. Die Konzept Page ist für ein CPLD-Design zu testen. Schau mal rein. Beitrag "CPLD-Projekte" Gruss Holger.
PLCC Sockel + Sockel-Driver ect. 25-Sub-D Port. Schau mal da rein, da ist alles Drin wie son Design aussehen kan. High-Driver an den Ports, damit das nicht abfackelt ec.. http://www.xeyon.de/4481/7201.html
Hallo Holger, Hallo Forumsteilnehmer, guten Morgen ich werde eine Pause im Forum einlegen, um meinen Rechner zu aktualisieren. Melde mich sofort wieder, wenn alles funk. Holger, wenn es dir nichts ausmacht, stelle mir eine kleine Liste zusammen, in der in der Reihenfolge von Projekt erstellen bis kompilieren aufgelistet ist. Gruß Siegfried
@Siegfried: Ich empfehle Dir, auch wenn das Englisch möglicherweise schwer fällt, das ISE Quickstart-Tutorial[1] durchzulesen. Dort steht für den ersten Überblick alles drin. Wenn du selbst keine Leiterplatten machen möchtest/kannst, kannst Du auf das eBay-Angebot eingehen. Ansonsten gibt es, wie schon geschrieben, die Seiten von Holger[2] und Ulrich[3], auch mit PCBs für CPLD. @Holger: Versuche doch bitte ganze Sätze zu schreiben. Deine Gedankenfetzen sind schwer verständlich und führen möglicherweise zu Missverständnissen. [1] http://toolbox.xilinx.com/docsan/xilinx7/books/docs/qst/qst.pdf [2] http://www.holger-klabunde.de/projects/Xilinx.htm [3] http://www.ulrichradig.de/home/index.php/cpld/basekit_xilinx_cplds Rick
@Siegfried: Hier unten der Link von "Bernd Rüter" für die ca. 40 I/O Wir bauen uns step by step ein 20 mA per PIN I/O Konzept zusammen. > Du solltest mal hier > http://wiki.blinkenarea.org/bin/view/Blinkenarea/B... etwas > rumsuchen. Da gibt es lauter Projkete, wo LED-Matrizen angesteuert > werden ! Super danke für den Tip. Ist wirklich gut noch zu den Plotter Projekten verlinkt. Das ist eine echte Fundgrube, auch für mein CPLD XC9536 Projekt. 20 mA pro Pin, ca 40 Digital I/O . Auch die Spg. constanter Fahrad-dynamoschaltung mir Reed-kontakt einfach genial. Mach weiter so. Gruss Holger.
Rick Dangerus wrote: > @Siegfried: > > Ich empfehle Dir, auch wenn das Englisch möglicherweise schwer fällt, > das ISE Quickstart-Tutorial[1] durchzulesen. Dort steht für den ersten > Überblick alles drin. > > Wenn du selbst keine Leiterplatten machen möchtest/kannst, kannst Du auf > das eBay-Angebot eingehen. Ansonsten gibt es, wie schon geschrieben, die > Seiten von Holger[2] und Ulrich[3], auch mit PCBs für CPLD. > > @Holger: > > Versuche doch bitte ganze Sätze zu schreiben. Deine Gedankenfetzen sind > schwer verständlich und führen möglicherweise zu Missverständnissen. > > [1] http://toolbox.xilinx.com/docsan/xilinx7/books/docs/qst/qst.pdf > [2] http://www.holger-klabunde.de/projects/Xilinx.htm > [3] http://www.ulrichradig.de/home/index.php/cpld/basekit_xilinx_cplds > > Rick @Rick Dangerus : Ja ich bin schon lange hier passiv am lesen. Ich lerne das erst so wie hier der Funkverkehr läuft. Für mich ist das doch besser das per Voice-mail zu machen. Oder son Spach erkennungs Text System. Du hast mich da auf ne Idee gebracht. Danke für den Tip. Gruss Holger.
@Siegfried per aspera at astra Hier schau dir das Tool Konzept an. http://toolbox.xilinx.com/docsan/xilinx7/books/docs/qst/qst.pdf 1) Project anlegen 2) Hardware aussuchen z.B XC9536 3) Pinning festlegen mit Namen, Typ , Pin_Nummer ect. Halt genau wie bei den Gals z.B Ausgang_Motor ist an Pin-Position 03 und ist vom Typ Ausgang. in deiner Gleichung wird dan der z.B Eingang INP_1 auf auf den Ausgang Ausgang_Moto geschaltet. Später dazu mehr. 4) Sprache aussuchen z.B vhdl. 5) Gleichung erstellen. In der Gleichung sprichst du dan mit den Symbolen z.B Ausgang Motor geht nur wen Eingang auf 1 ist. Der Compiler weiss dan PIN_03 = 1 wenn INP_1 = 1; 6) Compilieren auf syntaxfehler Wen du allses richtig geschrieben hatst kanst du die Harware proggen. 7) Simulieren ist auch noch möglich. da kanst du dir den Ablauf der Signale in Farbe ansehen. 8) Runn all Tools Da wird das JEDC File mit gemacht. 9) Das Jedec-File wird dan in das CPLD mit dem Progger gebrannt. Halt wie bei den Gals. 10) Dan ist der CHIP gebrannt und Kan den Motor an PIN(03) anmachen, aber nur wen du Eingang INP_1 auf 1 hast. 12) Damit das Pinning nicht so Kreutz und quer da aus dem CHIP rauskommt werden ja die Pinne Vergeben. 14) Beim XC9536 hast du ca 2 Extra Pinne die besonders gut für CLOCKS sind. Da sind noch andere Super-Pinne drin. die Z.B Tristate schalten können. Und trickreich genutzt werden. Aber dazu spater mehr. 15) Beim Design sollte man die auch nehmen. Die I/0 Pinne können als Eingang oder Ausgang oder auch Tristate gemacht werden. Den Power und das Timing kan man da einstellen. Ein echter Tausensassa so ein kleiner Chip. 16) Mach dir das Konzept nal so grob klar. 17) Mit den Dingern fleigen die ins All. 18) Das ist nur der Grobe Anfang ..... Gruss Holger.
per aspera at astra. So wie den GALS ist hier der Process (A) am rennen. Keine clock Logic. Das kommt später dran. ------------------------------------------------------------------------ -- process(Fenter_Fraese_Atomat) is begin AUSGANG_Motor <= ES_1 or ES_2; end process; ------------------------------------------------------------------------ -- Also AUSGANG_Motor ist an wenn "ES_1" oder "ES_2 an sind. ------------------------------------------------------------------- ES_X = ENDSCHALTER So kan man "sprechenden" Code in Klartext erzeugen. Projet Fenter_Fräse in der Schreinerei. AUSGANG_MOTOR,AUSGANG_SPINDEL; ES_FRAESE, ES_SICHERHEIT,ES_SÄGE,ES_NOT_AUS; Gruss Holger.
@Siegfried Ich habe ne tolle App. zum Üben. Stchwort XILINX kan auch ABLE. Mit der Sprache Able hat man die alten Galer -Denker so auf VHDL rüberbekommen. Ich versuche dich auch über ABLE GAL Prog. Strache dich da auf VHDL Sprache zu leiten. Gruss, Holger. #Title 'IRQ Controller Program'; #Engineer 'Morgan Taylor'; "Inputs INPUT CLOCK, RMOTDET, LMOTDET, CMOTDET, /EDGE, TIC; "Outputs OUTPUT IRQ, IRQCLOCK; D_FLOP OUTPUT IRQTEMP CLOCKED_BY CLOCK; D_FLOP OUTPUT Rmotdetdd, LMotDetdd, CMotDetdd, Edgedd, IRQStatedd[3] CLOCKED_BY CLOCK; VIRTUAL NODE IRQ1, IRQ2, IRQ3, IRQ4; "Equations IRQTEMP=IRQ1 + IRQ2 + IRQ3 + IRQ4; IRQCLOCK=TIC; "State Machines STATE_MACHINE RMOTDETSM STATE_BITS Rmotdetdd; STATE A [0b]: IRQ1=RMOTDET; IF (RMOTDET) THEN GOTO B; ELSE GOTO A; END IF; STATE B [1b]: IRQ1=/RMOTDET; IF (/RMOTDET) THEN GOTO A; ELSE GOTO B; END IF; End RMOTDETSM; STATE_MACHINE LMOTDETSM STATE_BITS LMOTDETDD; STATE A [0b]: IRQ2=LMOTDET; IF (LMOTDET) THEN GOTO B; ELSE GOTO A; END IF; STATE B [1b]: IRQ2=/LMOTDET; IF (/LMOTDET) THEN GOTO A; ELSE GOTO B; END IF; End LMOTDETSM; STATE_MACHINE CMOTDETSM STATE_BITS CMOTDETDD; STATE A [0b]: IRQ3=CMOTDET; IF (CMOTDET) THEN GOTO B; ELSE GOTO A; END IF; STATE B [1b]: IRQ3=/CMOTDET; IF (/CMOTDET) THEN GOTO A; ELSE GOTO B; end if; End CMOTDETSM; STATE_MACHINE EDGESM STATE_BITS EDGEDD; STATE A [0b]: IRQ4=EDGE; IF (EDGE) THEN GOTO B; ELSE GOTO A; END IF; STATE B [1b]: IRQ4=/EDGE; IF (/EDGE) THEN GOTO A; ELSE GOTO B; END IF; End EDGESM; STATE_MACHINE IRQSTATE STATE_BITS IRQStatedd; STATE A [000b]: IRQ=0; IF (IRQTEMP) THEN GOTO B; ELSE GOTO A; END IF; STATE B [001b]: IRQ=1; GOTO C; STATE C [010b]: IRQ=1; GOTO D; STATE D [011b]: IRQ=1; GOTO E; STATE E [100b]: IRQ=1; GOTO F; STATE F [101b]: IRQ=1; GOTO G; STATE G [110b]: IRQ=1; GOTO H; STATE H [111b]: IRQ=1; GOTO A; END IRQSTATE;
@Siegfried Das ist der Fachkundige für dich. http://www.mikrocontroller.net/articles/Startseite_CPLD%2C_FPGA%2C_HDL
@Siegfried Für das Projekt. C++ an deinem LPT Port mit den CPLD's Der Link: http://www.mikrocontroller.net/articles/Projekt_LCD_an_Parallelport Gruss, Holger.
hallo, guten Abend Forumsteilnehmer bin wieder da. waren harte Tage. Statt den PC aktualisieren, habe ich nach einem Kabel- Steckverbindung Schmorbrand ein neues Mainboard, Netzteil, Prozessor, Speicher und Betriebssystem. Ihr kennt ja, das installieren der Software. Da die Betreffzeile nicht mehr zu diesem fortgeschrittenen Thema passt, mache ich ein neues. --> CPLD - Projekt <-- Danke an alle, die sich hier beteiligt haben. Gruß Siegfried
@Holger du hast sehr Recht. Wenn der Schatz nicht läuft, dann .... habe noch nicht alles installiert, aber die Verbindung steht. Gruß Siegfried
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.