Novy(?) rychly binarni citac pro pomala FPGA (bez carry, jakoActel) -- prosba o kritiku
Marek Peca
marek na duch.cz
Středa Září 12 12:06:05 CEST 2012
Ahoj Weku,
> Az po tychto obrazkoch som pochopil, o co ide. Predovsetkym, ako
> nedotknuty FPGA som nevedel (aj ked tusil), co je vstup E na klopaku; no
> a ako nebojaci sa asynchronnej logiky mi nedoslo hned, ze je to vlastne
> obycajny ripple counter akurat so "zasynchronizovanym ripple" (mozete to
> nazvat aj pipelineovany ripple, ak chcete ;-) ) No a kedze Vam asi to
> FPGA nedovoli zaroutovat vystup Q na CLK nasledujuceho klopaku, tak ste
> to nahradili tym udelatorom s ANDom a tou vlastnostou E na klopaku.
pochopil's to presne spravne. Je to synchronni, pipelinovana (bohuzel,
ale o to tak nejak jde) verze obycejne kaskady delicek dvema. To jsem se
snazil tak trochu naznacit i nazvoslovim.
> Ak by ste sa nehanbili vyplytvat ((N-1)^2)/2 klopakov (mozno aj trocha
> menej, nemam to celkom domyslene, ale ten stvorec resp. pravouhly
> trojuholnik tam bohuzial je), tak sa z toho da urobit aj normalny citac
> "pipelineovanim" jednotlivych vystupov Qn o n-1 krokov. Aj ked to je z
> hladiska poctu tranzistorov perverzne, viem si predstavit, ze v FPGA by
> to mohlo byt pre mierne velke N aj vyhodnejsie, nez ten dekoder (teda ak
> je ho v danej aplikacii treba).
Ano. Popravde, muj pocatecni navrh prave pocital s bankou zpozdovacek
pulsu, ktere jsem pak seskrtal. Pokud by byla zpozdeni trivialni, stacily
by posuvne registry. No ale to by treba 30bit citac sezral pres 500
dlazdicek, 64bit citac 2000 dlazdicek a to uz je fakt ulet. Ve skutecnosti
o neco min, nebot staci zpozdovat o ((n-k) modulo 2^k) taktu, ale spotreba
plochy je porad O(n^2).
*Teoreticky* by to slo obejit na zaklade toho, ze "zpozdit osamoceny puls
o M taktu" neni nutne resit informacne plnohodnotnym posuvnym registrem,
ale staci na to citac o log(n) bitech. Ten by mel misto n bitu uz jen
log(n) bitu a mohl by tedy byt rychlejsi, i kdyby byl postaveny na
klasicke architekture.
Delal jsem nejake vyhaluzene odhady na papire a porad mi to vychazelo na
neunosny spotreby pro 64bit, tak jsem to nakonec zahodil a rozhodl se
predstavit jen tu verzi s prevodni funkci.
Nicmene, nebranim se zadnym zlepsenim, ma-li kdokoli chut si hrat, rad
pridelim prava k zapisu na OpenCores projekt :-)
Zdravi Marek
Další informace o konferenci Hw-list