Manipulacia s cislami v two's component zapise

Danhard danhard@volny.cz
Neděle Květen 21 21:25:25 CEST 2006


Zajiste, ze to bude fungovat, ale ruku na srdce, kolik mas Balu na ten
vypocet casu ? ze to chces realizovat paralelni nasobickou 16x16 (ktera je k
mani hotove, ze :o) a sezere v normalnim Spartanu 220 CLB a ma zpozdeni 5
taktu, k tomu nejake siftovani az 12 taktu a nejka ta rezie 2-3 takty.
Prima seriova delicka 28/12 bit to udela na 30 taktu s 12bitovou scitackou.
To je tak, kdyz uz se nemusi setrit materialem.

Danhard
*******

Zdravim,
koli potvrdeniu mojej hypotezy by som sa chcel spytat na nezavisly nazor :-)
Uz som spominal to delenie vo VHDL, dnes som sa s tym trochu hral a
snazil sa to nejak zoptimalizovat. Este raz pripomeniem ulohu: na vstupe
su 16 bitove vzorky (signed) z ktorych potrebujem vypocitat priemer.
Pocet vzoriek moze byt 1 az 4095 (12 bitov). Pocet vzoriek sa u kazdeho
vypoctu meni, ale kolko ich je vzdy viem. Vysledna presnost mi staci
rovnaka ako je kazda vzorka t.j. 16 bitov. Cele snazenie tohoto cvicenia
je motivovane nahradou sirokej delicky (27 bitov : 12 bitov) ovela
jednoduchsou nasobickou 16x16.

Teraz moja uvaha (vid obrazok
http://dvaluch.web.cern.ch/dvaluch/temp/division.pdf):
- ked uvazujem 16 bitove vzorky a chcem ich spocitat tak s kazdym
zdvojnasobenim poctu vzoriek sa prida jeden bit, t.j. pre 2-3 vzorky
potrebujem 17 bitov, 4-7 18 bitov a tak dalej az po 4095 vzoriek kde je
potrebnych 27 bitov.
- moj napad - mozno scestny. Kedze je pozadovana vysledna presnost
rovnaka ako presnost vstupnej vzorky teoreticky viem rotaciou posunut
vstupne cislo o prislusny pocet bitov do prava aby som vstupne cislo
skratil na 16 bitov (vid obrazok)
- toto cislo potom vynasobim koeficientom 1/N (z vyhladavacej tabulky).
Kedze som posunom uz vydelil prislusne cislo mocninami dvojky ostane mi
vzdy uz len koeficient z rozsahu 0.5 az 1. V realnom systeme je este
vynasobeny vhodnou konstantou aby som vyuzil plny dynamicky rozsah
nasobicky (32767).
- vynasobenim 16x16 cisiel dostanem 32 bitovy vysledok z ktoreho zahodim
spodnych 16 bitov a mam vysledok

Otazky:
- bude tento algoritmus fungovat?
- su popisane operacie korektne ak uvazujem ze cisla mam v tvare signed
(two's complement)?

Dik,
balu

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list