www.mikrocontroller.net

Forum: FPGA, VHDL & Co. GAL RS-FF programmieren


Autor: Camel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin total verzweifelt, ich bekomme einfach keine RS-FlipFlops 
programmiert.
Ich arbeite mit "isp Lever" von Lattice. Bei der grafischen 
Programmierung komme ich nicht weiter. Jetzt habe ich es mit einer 
Wahrheitstabelle probiert, aber da bleiben die Zustände an den Ausgängen 
ja nur konstant wenn die Signale so anliegen und ich habe Taster am 
Eingang.

Könnt ihr mir bitte mal nen Anfangspunkt sagen, ich komme gerade einfach 
nicht mehr weiter?

(Die Artikel hier im Forum haben mich auch nicht weiter gebracht.)
(Ich habe mein "Wahrheitstabellenentwurf" mal als anhang dazu gehängt)

Vielen Dank
Camel

Autor: Camel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
   if set_HP0 ='10' then
      HP0 <= '1';
   else if res_HP0 ='1000' then
      HP0 <= '0';

so funktionierts auch nicht!

Autor: Camel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so hatte ich es auch schon probiert: (Auszug von HP0)

  when (set_HP0 =='01') then

   HP0  = '1';

  when (set_HP0 =='10') then

   HP0  = '1';

//  when (set_HP0 =='11') then

//   HP0  = '1';

  when (res_HP0 =='0001') then

   HP0  = '0';

  when (res_HP0 =='0010') then

   HP0  = '0';

  when (res_HP0 =='0100') then

   HP0  = '0';

  when (res_HP0 =='1000') then

   HP0  = '0';

//  when (res_HP0 =='1111') then

//   HP0  = '0';

Autor: Holger Harten (holger-h-hennef) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Link plani.Exe holen.
Da habe ich selber schon GALS mit Gebrannt.
Plani hat auch Beispiele für dein D-Latch SR FF ect.

Beitrag "Freeware für GAL-programmierung"
Gruss, Holger.

Autor: Camel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber mit den Antworten hast du mich leicht überfordert, was war 
das mit den Pins?

Camel

Autor: Holger Harten (holger-h-hennef) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Camel Hallo!
Wichtig: halte den PIN 1 frei von Eingängen.
Da kommt nur der Clock dran.
Sonst geht das nicht.
Es gibt so viele Dialekte in der Gal-Asm Sprache.
z.B WinCUPL ,ABEL ect. pp.....
In deinem Usermanual mus auch so was
wie xx.fb oder xx.D  xx.AR ....xx.SP  usw drinstehen.
Hier ist das mit .fb also Feedback.
***********************************
.D /* D input of D-type flip-flop */
************************************
Mit den Ausgangs SignalNamen Out_sigal_rot.fb
****************************************
Ein toggelndes Flipflop machen , mit  z.B  GAL 16V8.
****************************************

 CLK, OE    pin 1, 11;    "Namen an Clock- und OE-Pin zuweisen
-----------------------------------------------------------
CLOCK muss auf PIN#1 bei z.B  GAL 16V8
OE ist unbedigt an  PIN#11 also an GND sonst ist das Disabled. bei z.B 
GAL 16V8.

Hier wird dem Signalnahmen ein '.fb' angehängt.
Mit := ist geclockte Logic gemeint ....
-------------------------------------
Flip-Flop mit Takt:
Out_sigal_rot := !Out_sigal_rot.fb;
Out_sigal_rot := !RESET & !Out_sigal_rot.fb # SET;

Hier ist das mit .fb also Feedback.
-------------------------------------------------------
Zusätzlich noch die Kopplung ?????
an den CLOCK,_=_=_ und Out_enable an (GND)
Out_sigal_rot.clk = CLK;    "Clock-Pin mit Flipflop verbinden
Out_sigal_rot.oe  = !OE;    "OE-Pin mit Ausgang verbinden (invers!)

----------------------------------
Der Link hier noch bitte ansehen :
http://wwwlrh.fh-bielefeld.de/abel/k241.htm
Viel Erfolg.
Hast du schon ein einfaches Gal-Modell
als Hardware am laufen ?????.
Was wilst du mit den Gal-Teilen genau machen ???.
---------------------------------------------------
Der Link hier bitte ansehen :
http://www.eng.mu.edu/~perezjc/eece143/Handout04.pdf
Das ist ein Beispiel daraus mit .d Syntax.
B.d = s&!B&A # s&B&!A;

Gruss Holger.



Autor: Holger Harten (holger-h-hennef) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe diesen Assembler:

Autor: Holger Harten (holger-h-hennef) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.



Autor: Holger Harten (holger-h-hennef) Benutzerseite
Datum:
Angehängte Dateien:
  • L1.zip (2,25 KB, 35 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
@Camel
Kanst du mit der isp Lever Soft mal testen ob das geht ?????
GAL 20V8  jetzt ein STK200 Dongle.
Ich habe aber an den Ausgängen keinen echten "TRISTATE".


Hier noch ein Beispiel für "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
                             |______________|

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.