Guten tag, ich wollte mit hilfe eines GAL-16V8 ein Auf-, Abwärtszähler Realisieren. Der Umfang soll dabei 0-19 (20) sein. Der GAL soll einen Richtungseingang und Zähleingang haben. Als Ausgabe dachte ich mir das jeweils das Bit durch eine Diode dagestellt werden soll. Das Problem was sich mir jetzt stellt ist das ich nicht weiß wie ich das ganze in einer Schaltung umsetzte bzw. wie ich den GAL programmieren soll. Kann mir da jemand bitte helfen?
Wo soll man beim erklären anfangen? Kleine Testfrage: Wieviel FFs benötigt die Schaltung? Bevor du das nicht richtig beantworten kannst, solltest du dich noch ein bissele in das Zeugs einlesen. Wenn du die richtige Antwort bringst geht meine Hile eventuell weiter....;-)
5 D-Flipflops. Für jedes BIT eines. Weil man mit den FF bis 2 hoch n zählen kann.
Sehr schön ;-) Weißt du auch das du eine "kombinatorische Logik" für die Rückkopplung benötigst? Falls ja dann bist du ja schon sehr gut für die Aufgabe vorbereitet. Und weißt wie die Schaltung im Gal auszusehen hat. Du könntest dein Design mit notepad direkt in die jedec-Datei schreiben. So habne wir das in der Berufsschule bei so wenig verwendeten Gattern noch gemacht. Im Betrieb haben wir dann noch ein bissele mit dem Synario rumgemacht. Gal Programmieren würde ich mit einem Programmiergerät ;-) Ansonsten noch ein guter Tipp von mir falls du dir eventuell noch einen anderen Chip aussuchen kannst. Nimm einen CPLD aus der 9500 Reihe von xilinx. Die lassen sich leichter programmieren und man arbeitet mit der exact gleichen Entwicklungsumgebung wenn man später auf FPGAs umsteigt... Außerdem eventuell billiger und stromsparender
Schaltungseingabe ist mir zu kompliziert. Zähler macht man am einfachsten mit einem Sequenzer:
1 | Name x; |
2 | Partno ; |
3 | Date ; |
4 | Revision ; |
5 | Designer ; |
6 | Company ; |
7 | Assembly ; |
8 | Location ; |
9 | Device g16v8; |
10 | |
11 | |
12 | /** Inputs **/
|
13 | |
14 | Pin 1 = clock; |
15 | Pin 2 = up_xdown; |
16 | Pin 3 = reset; |
17 | |
18 | /** Outputs **/
|
19 | |
20 | Pin [18, 17, 16, 15, 14] = [CT4..0]; |
21 | |
22 | |
23 | /** Definition **/
|
24 | |
25 | FIELD count = [CT4..0]; /* Index = Bitposition! */ |
26 | |
27 | /** Logic Equations **/
|
28 | |
29 | Sequenced count { |
30 | $Repeat i = [0..19] |
31 | |
32 | Present 'd'{i} |
33 | |
34 | if !reset & up_xdown Next 'd'{(i+1)%20}; |
35 | |
36 | if !reset & !up_xdown Next 'd'{(i+19)%20}; |
37 | |
38 | if reset Next 'd'{0}; |
39 | |
40 | $Repend |
41 | }
|
Peter
...das Programmiergerät wird mir gestellt. Das andere Problem was ich nach wievor habe ist wie die Schaltung ingesamt aussehen zusehen hat. Also was ich am GAL anschließen muss. Ich hab hier mein kleines Mikrocontrollerboard... der erste Pin für den Takt ( wie soll ich den erzeugen). Also um ganz genau zusein such ich halt ein Schaltplan nachdem ich das alles zusammenbauen ( bzw. bestellen ) kann. Könnt ihr (du) mir helfen? PS: danke für die hilfe bis jetzt.
Der Takt ist der Zähltakt. Also die FFs reagieren auf deinen Zähltakt.
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.