Altera FPGA Quartus II Cyclone V (Læst 4868x)

Offline Jakobsen

  • Højpas filter
  • *****
  • Indlæg: 302
  • Antal brugbare Indlæg: 45
    • Vis profil
Altera FPGA Quartus II Cyclone V
« Dato: Juni 16, 2014, 17:14:36 »
Hej
Jeg rodder lidt med FPGA og har et Altera dev kit Cyclone V GT board med  "5CGTFD9E5F35C7" chip.
Jeg tror jeg har rimelig god forståelse for hvordan en FPGA fungere og har lavet en hel del test med verilog og vhdl samt schematics. Kan godt få tingene til at virke så det er også helt fint.

Men så kommer udfordringen, når jeg begynder at presse FPGA'en med højere clock frekvens og større logic løsninger så kan jeg ikke kommer så højt op i frekvens som forventet.
Har rodet med chip planer og placer logic blocks strategisk hvilket hjælper lidt.
Det er lidt ligesom om at det er tilfældigt hvad compileren kommer frem til af løsning fra gang til gang.
Jeg er ganske klar over at det formentlig er routing af signaler mere en den logiske løsning der er problemet.

Næsten lige meget hvad jeg gør kommer jeg ikke meget højere end ca. 250 Mhz
Hvis jeg laver noget meget simpelt kan jeg godt komme over 300Mhz.
Havde faktisk forventet at man kunne fylde FPGA'en meget og så længe man  har register (latch) mellem alle ALM's (LUT's, LE) så kunne den køre fuld hastighed op mod de 400 Mhz.
Håber der er andre herinde der roder med FPGA's og som ved lidt om hvordan man får mest ud af dem :-)
Det er super spændende og der er så mange muligheder

Vh. Jakobsen
« Senest Redigeret: Juni 16, 2014, 17:17:40 af Jakobsen »

 

Offline bws

  • Lavpas filter
  • ****
  • Indlæg: 261
  • Antal brugbare Indlæg: 24
    • Vis profil
Sv: Altera FPGA Quartus II Cyclone V
« Svar #1 Dato: Juni 16, 2014, 20:57:28 »
hey

nu kommer det rigtigt meget an på hvad du prøver at få FPGA'en til ?

og ja det er ikke altid klart hvad alteras VHDL compiler fortager sig, men for det bedst mulig resultat så skal man lave sine "entity" så simple som muligt og så byg kredsløb op til sidst.

MVH

 

Offline Jakobsen

  • Højpas filter
  • *****
  • Indlæg: 302
  • Antal brugbare Indlæg: 45
    • Vis profil
Sv: Altera FPGA Quartus II Cyclone V
« Svar #2 Dato: Juni 16, 2014, 22:11:35 »
Hej

Jeg roder med noget algoritme hvor man laver det samme igen og igen.
Jeg har kun noget rs232 in/out at FPGA og noget VGA til debug og har ikke brug for high speed in/out, kun til beregning intern i FPGA'en

Klart nok man skal lave sin logik så simpel som muligt og så binde det hele sammen.

Men i bund og grund er en FPGA jo "bare" en masse SRAM blokke (LUT's)  som udgør en FPGA
I den jeg bruger er der typisk 6 input / 1 out bit og valgfrit om man vil latche eller ej. dem er der så x antal hundre tusinde af.
Så hvis man har squezet sin logike funktion ned i lad os sige 100 LUT's (sandhedstabeller) så burde 1 LUT vel altid kunne køre ved en give frekvens?
Når man så kobler dem sammen (fitter / router)fornemmer jeg det er her det bliver svært at tvinge Quartus til at gøre det logisk (eller jeg gør det forkert) og dermed bliver det tilfældigt = blandet resultat i Fmax.

Jeg har en opfattelse af hvis man selv placerede hver eneste LUT i forhold til den næste og dermed routing blev pæn / parallel vil man få det bedste resultat, (det virker bare lidt overskueligt).
Tror routingen ligner en høstak nogle gange. :-)

Jeg har faktisk med held fået bedre og mere kompakt løsning defineret LUT 6in1 out og samlet flere af disse manuelle LUT's til i funktion som er bedre pipelined og med færre step end hvis man blot har giver de logiske funtioner til Qurtus da den så planter lidt her og der hvor der nu er plads mens den compiler.

Man ser lidt det samme hvis man bruger "Region Lock" og presser funtionen ind på et lille areal.


Hvad gør I andre for at optimere Fmax?