XILINX ISE WEBPACK und DIGILENT BASYS2

Eine kurze Einführung. Download ISE Projektdateien auch links im Menü (ZIP)




Abteilung Elektronik an der HTL Mödling 2011/2015

Grundbegriffe

    Baustein Spartan XC3E100S CP132 -4

    1. FPGA

    2. Package CP132 (132 Pin Ball Grid Array)

    3. Standard Speed Grade -4 (Laufzeit von Eingang auf Ausgang ca. 10ns)





Innenleben

Features



      CLB = Konfigurierbarer Logikblock (LUT Wahrheitstafel + Flipflops)
      Block Ram oder verteiltes Ram
      18x18bit Multiplizierer
      DCM Digitale Clock Manager (erzeugt aus langsamen Takten schnelle usw.)
      Ausgänge auch differenziell (für höhere Störsicherheit)

IO

      1. Slew Rate einstellbar; Pullups zuschaltbar u.v.a.m

      2. Kompatibel zu





    Projekt anlegen



Projekt öffnen und Einstellungen kontrollieren

    Schaltplan zeichnen


    keine Sonderzeichen nirgendwo! (auch nicht in Kommentaren; english spoken)
    Verschieben von Schaltungsteilen mit Attributen (z.B: Signalnamen) ist nicht möglich, daher ist vor dem Platzieren ein Floorplaning nötig oder Attribute erst zuletzt am Schaltplan sichtbar machen.

Location-Attribut vergeben

legt fest, bei welchen Pins die Ein- und Ausgänge angeschlossen sind

  1. Location-Attibut über User Constraints File (.UCF)

Vorlage kopieren von : http://kner.at/home/60.Elektronik/xilinx/tb.template1.zip





Beispiel:

#loc=p38 ... Achtung, die Pin-Namen ändern sich je nach Package des ASICS

#bufg=clk ... führt das Signal clk über eine Lonngline (=schnelle Leiterbahn zur Signalverteilung)

#data_gate Eigenschaft führt das Signal über ein Latch, dadurch wird Strom gespart, weil nicht jede Signaländerung am Eingang interne Logik umschaltet


net clk loc = p38 | bufg=clk | data_gate;

Häufige Fehler:

Takt für Flipflops über normale Leiterbahn zur Verfügung stellen ist ein Fehler; Clock muss über schnelle Leiterbahnen verteilt werden, dafür gibt es eigene Clock-Eingänge am ASIC

Abhilfe: NET "mclk" CLOCK_DEDICATED_ROUTE = FALSE; in das UCF File schreiben erlaubt die Verwendung von normalen Pins

Schaltplan prüfen

  1. menu://Tools/Check Schematic



    Simulation

siehe ISIM

Simulation starten

  1. Projektansicht auf „Simulation umschalten

  2. auf das zu simulierende Modul klicken (top.sch)

  3. [Simulate Behavioral Model] startet den Simulator.

Bedienung Simulator



    Implementierung



    Erzeugen der Firmware

    1. Generate Programming File

    2. submenu://Process Properties/Startup Options/JTAG Clock



    Programmierung über ADEPT2 Software und JTAG Interface

    1. Anschließen an USB Kabel

    2. Checken, ob Demoboard auf JTAG eingestellt ist (Jumper JP6 in Stellung „PC“)



Ein VHDL Modul in den Schaltplan einbauen

  1. VHDL Modul schreiben und debuggen

    1. z.B: menu://Language Templates/VHDL/Synthesis Constructs/Coding Examples/Misc/7-Segment Decoder

    2. processes://synthesize-XST/Check Syntax

  2. processes://DesignUtilities/Create Schematic Symbol
    erzeugt ein Symbol in der Library „WORK“

  3. das Symbol einbauen und anschließe



Links