FPGA Workshop

S-RAM based

22k Logic Cells

Lookup-Table, 16 in, FlopFlop, 1 out

Programmierbare Interconnection Points.

2 Programmiermethoden
- Struktural, auf Hardwareebene (1980)
- Verhaltensbasiert, Funktional (Verilog)

Programmiert wird:
- Lookup Table
- Startwert vom FlipFlop
- Interconnection points

Seither weiterentwicklung:
- RAM (512k) in 9k Blöcken
- PLLs, gut, wenig jitter
- Hardware Multiplier
- keine Divisionen: müssen sequentialisiert werden..

Unser Modell:
- 6 PLLs

Einsatzgebiet:
- Spezialanfertigung, wenn kein Baustein vorhanden ist, alternative zu Microcontroller, die mehr Paralellität ermöglicht
- neu auch: Bildcodierung
alternative ASIC (schneller, hohe Auflage günstiger, initialkosten 10 Mio)

VHDL vs. Verilog vs. System-Verilog

VHDL
- eher Softwareentwicklerbasiert
- Ministry of Defense

Verilog
- eher Elektrotechnikerbasiert
- Private Firma

New Project:
- Top Level Entity Name merken
- keine Files hinzufügen
- Devices herstellerübergreifend Kompatibel, unterschiede bezüglich Pinout
Arria: 15 Jahre alt
MAX: CPLD (fpga mit integriertem flash, früher auf)
FPGA: Flüchtig (braucht immer Programmierdevice)
Cyclone: Günstig, stromsparend
Stratix: HighEnd Serie, teuer, Grafikprozessorenprototypen

–> wir arbeiten mit Cyclone IV

VHDL an ADA angelehnt, extremst strongtypig (streng in der Verwendung der Datentypen)

Verilog an C angelegt

VHDL Datei Aufbau:

  • Libs
  • interface description “entity”
    Taste ->
    Led <-
  • Architecture
Flow:
  • Coding
  • Analysis & Synthesis
  • Compile
  • Pin Planer
  • TimeAnalyzer (TimeQuest Timing Analyzer, time constraints)
    • Create clock: Period 20 ns
  • Programmer
Konstrukt: Process für getaktete
Demo.qsf
set_global_assignment -name NOMINAL_CORE_SUPPLY_VOLTAGE 1.2V

ModelSim

New Project

Add File Demo_tb.vhd

entity Demo_tb is
 port
 (
 );
 end entity;

=> Verbindung (wire)

<= Zuweisung (reg)

Array: Datenstruktur

Vektor: Datantyp

Tools:
Compile
TimeQuest TimeAnalyzer
Create Timing Netlist
Constraints/Create clock
write sdc file
assignments/settings/../TimeQuest Time analyzer/sdc filename
compile

One thought on “FPGA Workshop

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>