wincupl i 20v8

Jul 16, 2010 8 Replies

czy te scalaki dostêpne w wincupl s± ca³kowicie kompatybilne - identyczne jak gal20v8 i gal16v8 lattice?


a przy okazji, tu jeszcze nie pytałem, czy Ktoś tu zna metodę mnożenia zamiast dzielenia liczb? podobno popularne to było za czasów dawnych procesorów? czy Ktoś może podać jakiś przykład?

Użytkownik "identifikator: 20040501" snipped-for-privacy@go2.pl napisał w wiadomości news:i1qb58$f9c$ snipped-for-privacy@mx1.internetia.pl...

Zamiast dzielić przez 2, mnożyło się przez 0.5, bo mnożenie było szybsze. Na tym to polegało.

Podobnie było z potęgowaniem. Zamiast podnosić X do 11 potęgi mnożyło się 11 razy X przez siebie. Takie mniej więcej były proporcje na procesorze

8086 6 MHz bez koprocesora.

Jeszcze lepsze proporcje bywały dla 8085.

Pozdrowienia. Krzysztof z Tychów.

Do celow projektowania tak - tzn dawno dawno temu lattice gal20v8 spelnial ogolnie przyjety standard gal20v8 i dawal sie zaprojektowac w Cupl na urzadzenu G20V8.

Czy w kosciach Lattice nie bylo jakis rozszerzen, albo czy nie ma ich dzis to nie dam glowy. Chyba sa. Ale w wersji podstawowej wystarczy.

Programowanie to osobna kwestia - najlepiej miec programator obslugujacy kosci danego producenta, i to najlepiej w aktualnej wersji.

J.

tego się domyśliłem, ale zupełnie nie rozumiem dlaczego dzielenie przez 10 odpowiada mnożeniu przez 0xcccd? skąd się bierze ta liczba?

jak przemnozysz np 15621 [3D05h] przez CCCDh to wyjdzie

30D0D901

bierzemy teraz dwa najstarsze bajty 30D0 i przesuwamy jeszcze o 3 bity i wychodzi nam 061A czyli .. 1562.

Oczywiscie nie zdziw sie ze 2^19/10 = 0xCCCC.CCC

J.

diabelskie sztuczki, próbuję zrozumieć jak na coś takiego można wpaść...

trywialnie prosto.

Najpierw pomysl dziesietnie: chcemy np podzielic przez 13. Jest to rownoznaczne z mnozeniem przez 1/13 = 0.0769230769230769..

Oczywiscie my bedziemy sprytni i sobie najpierw pomnozymy przez

76923, a potem podzielimy przez milion.

A binarnie bedziemy chcieli na koncu dzielic np przez 2^17. Wiec trzeba przemnozyc przez 2^17/13=10082.46..

I juz widac ze lepszy bylby 2^18/13=20164.92.. ~= 20165

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required