"Ciklas" in FPGA

S

Shoaib

Guest
Kaip galiu naudoti kilpa ant FPGA.Man reikia optimizuoti vieną.________________
Shoaib

 
for i in LOWER_LIMIT į UPPER_LIMIT kilpa
<some operators>
end loop;

 
naudoti generuoti pareiškimą VHDL

bus sudarytos iš elementų, kaip aprašyta už ... generuoti linijos kūno matricoje,

panašaus už pareiškimas nėra skirta C būti synthesizable

Į sveikatą

the_penetrator_in_extremisŠ
Paskutinį kartą redagavo the_penetrator m. kovas 26, 2004 13:36, edited 1 kartą

 
Label:
for i in <lower_limit> į <upper_limit> kilpa
<statement>
end loop;
- Pavyzdžiui:
- Aš nuo 1 iki 10 kilpą
- I_SQR (I): = I * I;
- end loop;

 
Manau plakatas bando daryti iš eilės operacijų skaičių keletą kartų.Ciklas paprasta, kaip aprašyta aukščiau, yra nenaudingas tokiu atveju, nes visos operacijos atliekamos vienu metu HDLs.Use mašinos tokiu atveju.

 
pirma, turiu pasakyti, "už linijos" yra ne FPGA tiesiogiai, tai ir sintezės priemones, iš tikrųjų.It's just combintional logika pareiškimą.sintezė įrankiai calculte logika lygtis rezultatą ir žemėlapio ji prie vartų!
ieškoti sintezės programos vadovą.

 
Nesuprantu klausimo.Ciklas savaime nėra synthesizable.
Sintezuoja tai aparatinė vertimas.Aparatūra gali atsirasti naudojant kai kurias kitas ataskaitas su Ciklas pvz generuoti.Jums reikės kartu su kitais pareiškimai / funkcija plėtoti susintetintas grandinė.

vėlavimą (vėluoja technologija)

 
ZeleC rašė:

Label:

for i in <lower_limit> į <upper_limit> kilpa

<statement>

end loop;

- Pavyzdžiui:

- Aš nuo 1 iki 10 kilpą

- I_SQR (I): = I * I;

- end loop;
 
rekomenduojame nenaudoti linijos RTL kodas.Sunku palaikyti ir suprasti.Ypač synthesizor nepalaiko linijos valstybė kaip kad:for i in "start-taškas" į "kintamasis" kilpa
...
...
...
end loop

 
Jums reikia naudoti galutinio valstybės aparatas (FSM).

Taip pat galite naudoti paprastą skaitiklis, didėja kiekvieno takto ciklą.

 
Ciklas gali būti apibendrinti, jei ir tik jei jo parametrai yra konstantų, dar negalima apibendrinti, galite naudoti vietoj FMV, kuris, žinoma, bus pradėti nedelsiant, tačiau jums gali vamzdynų projektavimo, arba kitaip, galite naudoti asinchroninis FMV, kuris yra labai indesirable į FPGA dizaino daugiausia dėl maršruto vėlavimas nėra nuspėjamas, todėl FMV ir vamzdynas gali daryti tai, ko gi jūs norite daryti.

Thats visi žmonės

 
Kilpos synthesable
jei apribojimai yra statiniai kintamieji
ir funkcijas kilpa yra synthesable,
o susintetintas netlist tinka FPGA ištekliai.
Kiekviena iteracija yra priskirti savo išteklių.
Tai reiškia, kad linijos yra visiškai unrolled ir kaip sintezės.
Todėl kilpa aš 1-100
su kūno x * y suteikia 100 lygiagrečiai skleidėjai.
Kartais linijos yra labai naudinga.
Pavyzdžiui ieškantiems už pirmaujančių 1 linijos vektorius
suteikia excellent paritetas patikrinti vienetą.

 
Galite naudoti DTL bet tikslinį lygį (FPGA, ASIC).Bet jūs turite tai padaryti septyniasdešimties.
1 - Nenaudokite pertrauka ar išvykimo į.
2 - Negalima naudoti kintamojo ilgio kilpos.
3 - nenaudokite sudėtingas kilpas.Pavyzdžiui: "for (if (). if ())".(ji visada nėra geras sprendimas, tačiau kartais synthesizable).
4 - Pabandykite naudoti "kurti" pareiškimus, o ne "už linijos".

 

Welcome to EDABoard.com

Sponsor

Back
Top