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

Join the Conversation

1 Comment

Leave a comment

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.