eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaJak działa FPGA?
Ilość wypowiedzi w tym wątku: 14

  • 1. Data: 2016-01-02 13:18:40
    Temat: Jak działa FPGA?
    Od: Ignacy <n...@s...ignacy>

    Gdy bramka mam 2 wejścia i jedno wyjście, potrzeba 4 bitów do zapisu
    typu bramki.
    Mamy 16 możliwości:
    0000 - nudne, zawsze da zero
    0001 - or
    0010 - NOT implikacja
    0011 - tylko drugi się liczy
    0100 - NOT zamieniona implikacja
    0101 - tylko pierwszy się liczy
    0110 - xor
    0111 - and
    1000 - nand
    1001 - xnor
    1010 - tylko NOT pierwszego się liczy
    1011 - zamieniona implikacja
    1100 - tylko NOT drugiego się liczy
    1101 - implikacja p,q
    1110 - nor
    1111 - nudne, zawsze da jeden

    A jak to jest w FPGA? 1 CLB = 4 slice, które dzielą się na dwie tablice
    LUT, z których każda ma 4 wejścia i jedno wyjście.
    Programuje/konfiguruje się w ten sposób że dla LUT przekazuje się 16
    bitową wartość określającą jak ma się zachowywać?
    Czy nie lepiej były by drobniejsze elementy, takie jednobramkowe?
    Choć ilość, mimo że układy FPGA są tworzone w technologii liczonej w
    nanometrach, nie jest imponująca. Ilość bramek i pamięci mierzy się w
    tysiącach, jak to się ma do 16 GB pamięci flash? Dlaczego pamięci mogą
    mieć znacznie więcej podstawowych elementów?
    Jeszcze Xilinx ma te układy bogatsze a układy innych firm mają dość mało
    bramek.


  • 2. Data: 2016-01-02 22:13:14
    Temat: Re: Jak działa FPGA?
    Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>

    W dniu 02.01.2016 o 13:18, Ignacy pisze:
    > Gdy bramka mam 2 wejścia i jedno wyjście, potrzeba 4 bitów do zapisu
    > typu bramki.
    > Mamy 16 możliwości:
    > 0000 - nudne, zawsze da zero
    > 0001 - or
    > 0010 - NOT implikacja
    > 0011 - tylko drugi się liczy
    > 0100 - NOT zamieniona implikacja
    > 0101 - tylko pierwszy się liczy
    > 0110 - xor
    > 0111 - and
    > 1000 - nand
    > 1001 - xnor
    > 1010 - tylko NOT pierwszego się liczy
    > 1011 - zamieniona implikacja
    > 1100 - tylko NOT drugiego się liczy
    > 1101 - implikacja p,q
    > 1110 - nor
    > 1111 - nudne, zawsze da jeden
    >
    > A jak to jest w FPGA? 1 CLB = 4 slice, które dzielą się na dwie tablice
    > LUT, z których każda ma 4 wejścia i jedno wyjście.
    > Programuje/konfiguruje się w ten sposób że dla LUT przekazuje się 16
    > bitową wartość określającą jak ma się zachowywać?
    > Czy nie lepiej były by drobniejsze elementy, takie jednobramkowe?
    > Choć ilość, mimo że układy FPGA są tworzone w technologii liczonej w
    > nanometrach, nie jest imponująca. Ilość bramek i pamięci mierzy się w
    > tysiącach, jak to się ma do 16 GB pamięci flash? Dlaczego pamięci mogą
    > mieć znacznie więcej podstawowych elementów?
    > Jeszcze Xilinx ma te układy bogatsze a układy innych firm mają dość mało
    > bramek.


    Nie wiem jak w innych, ale np w Xilinx-ie (Spartan 3) LUT to jest w
    sumie szesnastobitowa pamięć RAM w organizacji 16x1. Te cztery wejścia
    LUT to szyna adresowa tej pamięci. Czyli nie jest to "programowanie typu
    bramki" tylko wpisując wartości do tej pamięci w trakcie programowania
    FPGA taki LUT może realizować dowolną funkcję czterech zmiennych logicznych.

    --
    Pozdrawiam
    Grzegorz


  • 3. Data: 2016-01-02 22:55:42
    Temat: Re: Jak działa FPGA?
    Od: Ignacy <n...@s...ignacy>

    W dniu 02.01.2016 o 22:13, Grzegorz Kurczyk pisze:
    > Nie wiem jak w innych, ale np w Xilinx-ie (Spartan 3) LUT to jest w
    > sumie szesnastobitowa pamięć RAM w organizacji 16x1. Te cztery wejścia
    > LUT to szyna adresowa tej pamięci. Czyli nie jest to "programowanie typu
    > bramki" tylko wpisując wartości do tej pamięci w trakcie programowania
    > FPGA taki LUT może realizować dowolną funkcję czterech zmiennych
    > logicznych.

    Próbuję zrozumieć elektronikę od strony tranzystorów. Gdyby tablice LUT
    miały tylko dwa wejścia i były czymś w rodzaju bramek, narzut elementów
    obsługujących tę jedną bramkę byłby jeszcze większy.
    Teraz w LUT oprócz innych elementów jest 16 komórek pamięci. Są robione
    w technologii CMOS? Czy komórka pamięci to tranzystor, może więcej +
    kondensator? Organizacja pamięci to 16x1, czyli zamiast wpisać coś do
    pamięci od razu, wpisujemy po bicie - na czterech wejściach adres i na
    jeszcze dodatkowym wartość bitu? Każdy LUT musi mieć swój adres przy
    programowaniu całej kostki, jest jeszcze hierarchia - slice,CLB.
    czy te 4 wejścia działają w dwóch trybach? gdy programuje się je to jest
    to szyna adresowa, a gdy wykonuje operacje, to jest wykonywana na nich
    funkcja? teraz przyszło mi do głowy, że wykonanie funkcji to odczytanie
    n-tego bitu z szesnastu. Czyli w tym tkwi tajemnica.
    Komórka musi być połączona z 8 sąsiadami, więc też trzeba by
    zaprogramować z kim się łączy, bo nawet gdybyśmy mieli same branki NAND,
    to obwód zależałby od ich połączeń.
    Skoro to są tablice 16-bitowe LUT zamiast bramek, to jak przetłumaczyć
    sieć bramek na takie tablice? Sumator 1-bitowy połowiczny to XOR i AND,
    a pełny to 5 różnych bramek, nie mówiąc o bardziej skomplikowanych
    układach. Teraz zamiast bramek są tablice LUT.



  • 4. Data: 2016-01-02 23:03:33
    Temat: Re: Jak działa FPGA?
    Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>

    W dniu 02.01.2016 o 22:55, Ignacy pisze:
    > W dniu 02.01.2016 o 22:13, Grzegorz Kurczyk pisze:
    >> Nie wiem jak w innych, ale np w Xilinx-ie (Spartan 3) LUT to jest w
    >> sumie szesnastobitowa pamięć RAM w organizacji 16x1. Te cztery wejścia
    >> LUT to szyna adresowa tej pamięci. Czyli nie jest to "programowanie typu
    >> bramki" tylko wpisując wartości do tej pamięci w trakcie programowania
    >> FPGA taki LUT może realizować dowolną funkcję czterech zmiennych
    >> logicznych.
    >
    > Próbuję zrozumieć elektronikę od strony tranzystorów. Gdyby tablice LUT
    > miały tylko dwa wejścia i były czymś w rodzaju bramek, narzut elementów
    > obsługujących tę jedną bramkę byłby jeszcze większy.
    > Teraz w LUT oprócz innych elementów jest 16 komórek pamięci. Są robione
    > w technologii CMOS? Czy komórka pamięci to tranzystor, może więcej +
    > kondensator? Organizacja pamięci to 16x1, czyli zamiast wpisać coś do
    > pamięci od razu, wpisujemy po bicie - na czterech wejściach adres i na
    > jeszcze dodatkowym wartość bitu? Każdy LUT musi mieć swój adres przy
    > programowaniu całej kostki, jest jeszcze hierarchia - slice,CLB.
    > czy te 4 wejścia działają w dwóch trybach? gdy programuje się je to jest
    > to szyna adresowa, a gdy wykonuje operacje, to jest wykonywana na nich
    > funkcja? teraz przyszło mi do głowy, że wykonanie funkcji to odczytanie
    > n-tego bitu z szesnastu. Czyli w tym tkwi tajemnica.
    > Komórka musi być połączona z 8 sąsiadami, więc też trzeba by
    > zaprogramować z kim się łączy, bo nawet gdybyśmy mieli same branki NAND,
    > to obwód zależałby od ich połączeń.
    > Skoro to są tablice 16-bitowe LUT zamiast bramek, to jak przetłumaczyć
    > sieć bramek na takie tablice? Sumator 1-bitowy połowiczny to XOR i AND,
    > a pełny to 5 różnych bramek, nie mówiąc o bardziej skomplikowanych
    > układach. Teraz zamiast bramek są tablice LUT.
    >
    >

    Jeśli znasz rodzinę TTL, to mogę wyjaśnić budowę takiego LUT-a
    rozpisując go na TTL-e :-)
    Da się to zrobić z dwóch 74164 i jednego 74150 ;-)


    --
    Pozdrawiam
    Grzegorz


  • 5. Data: 2016-01-03 00:04:09
    Temat: Re: Jak działa FPGA?
    Od: Ignacy <n...@s...ignacy>

    W dniu 02.01.2016 o 23:03, Grzegorz Kurczyk pisze:
    > Jeśli znasz rodzinę TTL, to mogę wyjaśnić budowę takiego LUT-a
    > rozpisując go na TTL-e :-)
    > Da się to zrobić z dwóch 74164 i jednego 74150 ;-)

    To jeden LUT taki skomplikowany jak trzy TTL-e? Nie znam, mają chyba
    duży pobór mocy, czy są stosowane w układach o dużej skali integracji?



  • 6. Data: 2016-01-03 01:30:01
    Temat: Re: Jak działa FPGA?
    Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>

    W dniu 03.01.2016 o 00:04, Ignacy pisze:
    > W dniu 02.01.2016 o 23:03, Grzegorz Kurczyk pisze:
    >> Jeśli znasz rodzinę TTL, to mogę wyjaśnić budowę takiego LUT-a
    >> rozpisując go na TTL-e :-)
    >> Da się to zrobić z dwóch 74164 i jednego 74150 ;-)
    >
    > To jeden LUT taki skomplikowany jak trzy TTL-e? Nie znam, mają chyba
    > duży pobór mocy, czy są stosowane w układach o dużej skali integracji?
    >
    >

    Pod względem logicznym taki LUT4 to 16-bitowy rejestr przesuwny
    szeregowo/równoległy (2szt 74164), którego wyjścia równoległe połączone
    są z wejściami 16-to wejściowego multipleksera (74150). Cztery wejścia
    adresowe multipleksera to są wejścia LUT, a wyjście multipleksera to
    wyjście LUT. Rejestr przesuwny jest programowany podczas inicjalizacji
    układu FPGA (np. przez łańcuch JTAG).
    Co do poboru mocy... umówmy się, że są to 74HCT164 i 74HCT150 ;-)
    To nie jest dokładne odzwierciedlenie tego co jest w TTL-ach.
    Multiplekser 16x1 to nie musi być wiadro bramek :-)

    Czy taki LUT jest skomplikowany ? Pojęcie względne. W skrajnie "złym"
    przypadku LUT może stać się dwuwejściową bramką AND lub nawet zwykłym
    inwerterem!!! Jakże paskudne marnowanie zasobów :-/ Z drugiej strony
    taki LUT4 może zastąpić dowolny układ kombinacyjny funkcji czterech
    zmiennych czyli już całkiem niezłą garstkę bramek. Również może stać się
    rejestrem przesuwnym "zastępując" dwa scalaki 74HCT164 ;-)

    --
    Pozdrawiam
    Grzegorz


  • 7. Data: 2016-01-03 07:33:39
    Temat: Re: Jak działa FPGA?
    Od: Ignacy <n...@s...ignacy>

    W dniu 03.01.2016 o 01:30, Grzegorz Kurczyk pisze:
    > Czy taki LUT jest skomplikowany ? Pojęcie względne. W skrajnie "złym"
    > przypadku LUT może stać się dwuwejściową bramką AND lub nawet zwykłym
    > inwerterem!!! Jakże paskudne marnowanie zasobów :-/ Z drugiej strony

    W skrajnie złym przypadku może nic nie robić. A jak to jest gdy
    skonfiguruje się tylko 1% bramek a resztę nie? czy są wtedy ustawione
    tak, że są przezroczyste dla sygnału, czy sygnał je omija?

    > taki LUT4 może zastąpić dowolny układ kombinacyjny funkcji czterech
    > zmiennych czyli już całkiem niezłą garstkę bramek. Również może stać się
    > rejestrem przesuwnym "zastępując" dwa scalaki 74HCT164 ;-)

    Rejestr przesuwny opisany jest w
    https://en.wikipedia.org/wiki/Shift_register.
    Co to są za prostokątne bloki na rysunku na dole oznaczające 1 bit? Mają
    wyjścia? D,S,Q,Q,R.



  • 8. Data: 2016-01-03 07:51:50
    Temat: Re: Jak działa FPGA?
    Od: Ignacy <n...@s...ignacy>

    W dniu 03.01.2016 o 07:33, Ignacy pisze:
    > Rejestr przesuwny opisany jest w
    > https://en.wikipedia.org/wiki/Shift_register.
    > Co to są za prostokątne bloki na rysunku na dole oznaczające 1 bit? Mają
    > wyjścia? D,S,Q,Q,R.

    W symulacji http://www.falstad.com/circuit/ dobrze widać działanie
    inwertera. Czy zawsze bateria dodatnia? Ziemia zero, więc ruch prądu
    przedstawiony jest odwrotnie (zawsze?) niż ruch elektronów.
    U góry mamy typ PNP który przepuszcza prąd gdy na bazie nie ma napięcia,
    a u dołu wychodzący czyli NPN który przepuszcza prąd gdy na bazie jest
    napięcie.



  • 9. Data: 2016-01-04 00:24:27
    Temat: Re: Jak działa FPGA?
    Od: k...@g...com

    W dniu niedziela, 3 stycznia 2016 07:32:53 UTC+1 użytkownik Ignacy napisał:
    > Rejestr przesuwny opisany jest w
    > https://en.wikipedia.org/wiki/Shift_register.
    > Co to są za prostokątne bloki na rysunku na dole oznaczające 1 bit? Mają
    > wyjścia? D,S,Q,Q,R.
    Przerzutniki. Jak klikniesz gdzieś na tej stronie na 'flip flop', to dostaniesz opis.
    Aczkolwiek ten schemat jest w zasadzie na poziomie RTL i wcale nie musi oddawać
    fizycznej struktury takiego rejestru przesuwnego.

    Pozdrawiam,
    --
    Karol Piotrowski


  • 10. Data: 2016-01-04 14:54:26
    Temat: Re: Jak działa FPGA?
    Od: Ignacy <n...@s...ignacy>

    W dniu 03.01.2016 o 01:30, Grzegorz Kurczyk pisze:
    > Czy taki LUT jest skomplikowany ? Pojęcie względne. W skrajnie "złym"
    > przypadku LUT może stać się dwuwejściową bramką AND lub nawet zwykłym
    > inwerterem!!! Jakże paskudne marnowanie zasobów :-/ Z drugiej strony
    > taki LUT4 może zastąpić dowolny układ kombinacyjny funkcji czterech
    > zmiennych czyli już całkiem niezłą garstkę bramek. Również może stać się
    > rejestrem przesuwnym "zastępując" dwa scalaki 74HCT164 ;-)

    A jak to wygląda, gdy mamy mały układ na kilka slicy a reszta układu
    jest nieużywana? Wszystkie inne LUT programowane są tak, aby były
    przeźroczyste? choć to i tak byłoby marnowanie czasu, gdyby sygnał przez
    nie przechodził.


strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: