[elektro] FPGA nagyon kezdo kerdesek
Zoltán Radó
levlista at maxcore.hu
Sat Nov 14 00:09:32 CET 2015
Az FPGA-nak nincs olyanja, hogy reset.
Alapvetően az FPGA-kat szinkron rendszerek megvalósítására tervezték,
tehát minden regiszter egy (vagy több) órajel le vagy felfutó élénél
tárolja el az elötte lévő kombinációs hálózat aktuális eredményét.
A legtöbb esetben nem mindegy, hogy melyik regiszter milyen állapottal
kezd. Ezért szükséges egy "reset" jel. Ezt neked kell megvalósítani a
kódban és nem szerencsés az FPGA "kezdeti" értékére hagyatkozni.
Tapasztalataim szerint (meg mintha egyszer olvastam is volna, de lehet
csak egy fórumban) a Xilinx-nál alapértelmezetten 0 értékű minden
regiszter és asszem nem definiálható - de ezt ne vedd készpénznek.
A regisztereknek, vannak aszinkron Set, illetve Reset bemenetei. Hogy
ezeket használod-e vagy nem, az rajtad és a megvalósított kapcsolástól
függ. (Szinkron vagy asszinkron reset.)
Szinkron esetben a kombinációs hálózatba "integrálódik" a reset
feltétel, ami csökkenti a maximális elérhető órajel frekvenciát.
Asszinkron esetben egyszerűbb a kombinációs hálózat, de figyelni kell
arra, hogy a reset jel (terjedési idejét is figyelembe véve minden
regiszterre figyelve) az órajel aktív éléhez képest betartsa az előírt
időket. (Hazard jelenségek elkerülése végett)
(Ez a döntés egyébként a fórumokat olvasva néha hitvitának tűnik.)
Én kezdőként asszinkron resettel teljesen jól elvoltam. Kezdőként
érdemes szinte az összes regiszternek értéket adni a reset jelre. - sok
szívástól megóvod magad.
Ebben találsz kód mintákat:
http://www.sunburst-design.com/papers/CummingsSNUG2003Boston_Resets.pdf
Z.
2015-11-12 22:51 keltezéssel, Gergely Vakulya írta:
> Udvozletem!
>
> Kozben felmerultek ujabb kerdesek. Mi hatarozza meg egy FPGA
> regisztereinek allapotat reset utan? En olyasmit olvastam, hogy kezdo
> erteket nem lehet nekik adni, vagyis lehet, csak nem szintetizalhato.
> Akkor erre milyen formaban van lehetoseg?
>
> 73/DX
> HA4UC Gergo
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list