Hi brauche für ein Schulprojekt dringend Hilfe Vereinfacht gesagt geht es darum mit einem GAL (GAL22V10 15LP) einen D-Latch zu simulieren. Soweit ich aus dem Datenblatt schlau werde müsste das im RegisterMode mit aktive High am einfachsten gehen. (Datenblatt im Anhang) Die Frage ist jetzt wie sieht das in ISP Logik und Beschaltung aus? Wenn man auf den I/CLK einen externen Clock hängt und Pin Nr 2 als Eingang des simulierten D-Latchs sieht während z.B. Pin Nr 14 als Ausgang verwendet wird wie muss ich das dann in ISP Logik beschreiben? Hier mal ein erster Entwurf: DECLARATIONS E,A PIN 2,14 ISTYPE 'buffer,com'; Equations A = E; END; funktioniert das so oder muss ich irgendwie den Clock noch in den Quelltext einbinden und wie stell ich sicher das beim schreiben des GALs auch wirklich der Registered Mode mit aktive High gewählt wird? Vielen Dank im Voraus für eure Hilfe Michael
Das würde so nicht funktionieren, aber der Ansatz ist schonmal nicht schlecht. Ich habe mal Beispielcode geschrieben. module mac title 'D latch demo' m1 device 'P16V8' ; D,wr pin ; out pin istype 'buffer' ; !oe pin ; equations ; out.oe = oe ; when wr == 1 THEN out = D else out = out; Die Simulation hat jedenfalls funktioniert mit dem Code Simulate EZ-ABEL 4.30 Date: Sun Apr 10 12:01:48 19:5 Fuse file: 'mac.tt1' Vector file: 'mac.tmv' Part: 'PLA' o w o u D r e t V0001 0 0 0 L V0002 0 0 0 L V0003 1 0 0 L V0004 1 1 0 H V0005 1 0 0 H V0006 0 0 0 H V0007 0 1 0 L V0008 0 0 0 L V0009 0 0 0 L V0010 0 0 0 L 10 out of 10 vectors passed. G. Tobi
Sorry hatte noch einen Fehler drin. Zeile: out pin istype 'buffer' ; muss ersetzt werde durch: Zeile: out pin istype 'buffer,invert' ; dann erstellt das programm auch die jedec
Hi, erst mal danke für die Antwort aber ich fürchte ich peils nicht (: Das Problem ist das wir das ganze Thema in der Schule mit DesignExpert durchgenommmen haben ich schätz mal du verwendest eine andere Sotware (oder eine andere Version) jedenfalls ergeben sich für mich ein paar fragen. ok also oe heißt denk ich output enabel und is der Clock ? out der Ausgang? D der Daten Eingang? aber was ist wr? (ich mein zumindest in unserer Formelsammlung hat ein D-Latch nur Clock,In,Out und das wars) welche dieser Signale sind Intern welche an Pins gebunden? heißt das ! vor oe das du den Clock invertierst? und nicht zuletzt raff ich die Simulation nicht (: äh ich mein is das nicht irgendwie unlogsich V0001 0 0 0 L V0006 0 0 0 H ... aber ok ich weiß auch nicht wirklich was da durchgeprüft wird. oh und eh ichs vergess was bewirkt buffer,invert ich kenn nur buffer,com und buffer,reg Naja das waren jetzt viele Fragen und die meisten davon sind wahrscheinlich totale Anfängerfragen /: aber was will man machen. Ich hoff mal das macht dir nicht zuviel Arbeit und du kannst die Fragen beantworten. Gruß Michael
Kein Problem, Es gibt zwei Arten von D- Flipflops. 1. Variante: getaktet einzustandgesteuert englische Bezeichnung: Latch danach hattest du gefragt: Dateneingang D übernimmt die Daten bei high Pegel von Clk oder wie bei mir bezeichnet "wr" und speichert sie intern ab, sowie übergibt sie nach einer gewissen internen Verzögerungszeit in Abhängigkeit von dem verwendeten Baustein an den Ausgang des Flipflops. Bei Low Pegel von clk oder "wr" bleibt der interne Zustand des Flipflops erhalten. o w o u D r e t V0003 1 0 0 L V0004 1 1 0 H V0005 1 0 0 H V0006 0 0 0 H Das output enable !oe sagt nur aus, dass wenn am Eingangspin !oe Low d.h. 0 Volt anliegt der Flip Flop auf hochohmig schaltet man sagt auch der Flip Flop hat Tri-State Ausgänge also 3 Zustände Low = L = 0 Volt High = H = 1 Volt und Z = hochohmig. 2. Variante getaktet einflankengesteuert. Verhält sich genauso wie Variante 1 nur das die Daten bei Übergang der Taktflanke des Clk Signals von Logisch 0 auf Logisch 1 wechselt. Ich bezeichne die Pins meiner Bausteine dann mit clk anstatt mir wr (engl. abkürzung von write), so weiss ich sofort um welchen Typ von Flip Flop es sich handelt, aber das kann jeder so machen wie er will Hier noch die Anwort auf die Frage mit den Pins ==== P16V8C Chip Diagram ==== P16V8C +---------\ /---------+ | \ / | | ----- | D | 1 20 | Vcc | | wr | 2 19 | | | oe | 3 18 | !out | | | 4 17 | | | | 5 16 | | | | 6 15 | | | | 7 14 | | | | 8 13 | | | | 9 12 | | | GND | 10 11 | | | | | `---------------------------' o w o u D r e t V0001 0 0 0 Z V0002 0 0 0 Z V0003 1 0 0 Z V0004 1 1 1 H V0005 1 0 1 H V0006 0 0 1 H V0007 0 1 1 L V0008 0 0 1 L V0009 0 0 1 L V0010 0 0 1 L 10 out of 10 vectors passed. Verdeutlicht nochmal die Sache mit der Wirkung von oe Das Ausrufezeichen sagt, das du dir die Pegel aus der Simulation des out signal nochmal invertiert denken musst. Warum fängt euer Lehrer gleich mit Programmierbarer Logik an, ohne euch erst mal die Grundlagen beizubringen. Das ganze Konzept ist doch von vornherein zum Scheitern verurteilt. Geh mal einfach in die Bücherei und Leih dir ein anständiges Buch über Digitalelektronik aus, dann geht der Rest mit PLD und GAl wie von selbst glaub mir. G. Tobi
gut ich glaub jetzt hab ichs kapiert (: allerdings bringts mir leider nich viel seufz ich brauch nämlich eigentlich was zu einem flankengesteuerten. (in unserer Formelsammlung is der so eingezeichnet als D-Latch) aber davon mal abgesehen wieso hängst du die Daten auf Pin 1 da liegt doch laut datenblatt der Clock (Datenblatt in meinem 1. Post angehängt)? also nochmal hier die genaue beschreibung von dem was ich brauch: mit dem Gal 22V10 soll ein D-Latch simuliert werden. Dafür will ich diesen Register Mode verwenden. Also sollte das so laufen das auf den Pin 1 (auf den I/Clk) ein Clock gelegt wird und der bei jeder Highflanke dann vom Eingang 1 an den Ausgang 1 übernimmt. deine Lösung so wie ich sie jetzt verstehe bringt mir leider nix weil ich eben mit einer Flanke arbeiten muss und nicht mit einem Pegel und weil ich diesen I/Clk verwenden sollte. so und jetzt mal was ganz anderes Buch lesen: kannst du mir eins empfehlen (will ja nicht auf ewig unschuldige Forennutzer terrorisieren) Gruß Michael
Gute Frage das mit den Pins, ich lasse das Programm entscheiden,welche Pins er nehmen soll. Der Gal hat ja auch 3 verschiedene Modi, den richtigen Mode wählt das Programm auch selbstständig aus, habe jetzt mal 2 D-Flip Flops Taktuzstandgesteuert eingehakt, dann wählt der ganz andere Pins aus. Ich konnte mich immer auf das Programm verlassen, da ich bei Aufbauten auf dem Steckbrett immer das erwartete Ergebniss hatte wenn die Simulation meinen Wünschen entsprach. Welche Pins zugewiesen werden hängt wohl auch mit dem Mode zusammen, den der Gal benutzen soll. Hier mal das mit den 2 Latches EZ-ABEL 4.30 - Device Utilization Chart Mon Apr 11 18:54:00 19:5 Demonstrates to difference between MACROs and declared equations ==== P16V8C Chip Diagram ==== P16V8C +---------\ /---------+ | \ / | | ----- | D1 | 1 20 | Vcc | | D2 | 2 19 | | | wr | 3 18 | !out2 | | oe | 4 17 | !out1 | | | 5 16 | | | | 6 15 | | | | 7 14 | | | | 8 13 | | | | 9 12 | | | GND | 10 11 | | | | | `---------------------------' SIGNATURE: N/A ♀ D- Flip Flops Taktflankengesteuert werden so erzeugt: m1 device 'P16V8'; clk pin ; Q pin 19 istype 'reg,invert' ; D pin ; equations ; Q.clk = clk; Q := D ; TEST_VECTORS ([clk ,D ] -> [Q]) [ .c. ,0 ] -> [.X.] ; [ .c. ,0 ] -> [.X.] ; [ .c. ,1 ] -> [.X.] ; [ .c. ,1 ] -> [.X.] ; [ .c. ,1 ] -> [.X.] ; [ .c. ,0 ] -> [.X.] ; [ .c. ,0 ] -> [.X.] ; [ .c. ,0 ] -> [.X.] ; end Hier mal für Gal22V10 erzeugt P22V10 +---------\ /---------+ | \ / | | ----- | clk | 1 24 | Vcc | | D | 2 23 | | | | 3 22 | | | | 4 21 | | | | 5 20 | | | | 6 19 | !Q | | | 7 18 | | | | 8 17 | | | | 9 16 | | | | 10 15 | | | | 11 14 | | | GND | 12 13 | | | | | `---------------------------' SIGNATURE: N/A Also du siehst, das Programm wählt schon die richtigen Pins selbst. Q := D ; Bedeutet bei steigender Taktflanke Daten übernehmen Q.clk = clk ; Das Signal clk wird mit dem takteingang von Q verbunden Habe schon lange nicht mehr Bücher über digitalelektronik gelesen, wenn ich was nicht mehr weiss, dann benutze ich ein Nachschlagewerk von Kories,Schmidt-Walter "Taschenbuch der Elektrotechnik", da stehen so alle sachen drin die man so mal schnell Wissen will. Ansonsten habe ich mir damals ein Six-Pack Bücher aus der Bibliothek gegriffen, und die die ich nicht verstanden habe wieder zurückgegeben. Kann dir da kein spezielles empfehlen. G. Tobi
Hi also ein großes Danke an dich! Ich habs jetzt endgültig kapiert und weiß auch wie ich s anwenden muss (: mach mich dann mal an die Arbeit gg Gruß Michael
Ist jemand noch erreichbar der mir genau in diesem Thema weiterhelfen kann ?
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.