-
11. Data: 2014-02-22 10:51:03
Temat: Re: zajętość komórek LUT przez "typowy" program
Od: MiSter <U...@w...pl>
Np. czy
> mając FPGA, które ma na pokładzie 1200 lutów, da radę wepchnąć w niego
> odczyt dwóch czujników po i2c, komunikację po uarcie, i sterowanie dwoma
> silnikami dc regulatorem typu pid lub podobnym na podstawie odczytów z
> tychże czujników?
>
> Dlaczego pytam? Bo mam płytkę z lattica machxo2-pico-devkit i
> zastanawiam się czy to mi wystarczy czy muszę szukać jakiegoś innego
> większego zestawu? Bo ceny takich zestawów nie są zachwycające...
Witam,
Nie bawiłem się wspomnianą płytą ale z moich notatek wynika dla
stosunkowo starego układu ECP2i podobnie dla ECP2M:
Komponent i2c obsługujący arbitraż : 268 LogicCells(ECP2).
Komponent Serial: 394LC(ECP2)
Komponent Timer:218LC(ECP2)
Komponent PWM8: 138LC(ECP2)
Przydałaby się jakaś logika sterująca np procesor
Komponent 8051: 2326LC(ECP2)
Więc widzisz mniej więcej jakie masz możliwości.
Pozdrawiam
MiSter
-
12. Data: 2014-02-22 11:08:58
Temat: Re: zajętość komórek LUT przez "typowy" program
Od: MiSter <U...@w...pl>
> Nie znam Lattice ale dłubię w Xilinx-ie i chyba najprostszą metodą
> będzie naskrobać w VHDL/Verilog opis tego co nas interesuje w
> "kompilatorze" (dla Xilinxa to środowisko ISE) i spróbować skompilować
> na konkretny hardware. Kompilator poda informację czy opis "zmieści" się
> w podanym chipie.
Przy projektowaniu sprzętu mówienie o kompilacji jest pewnym nadużyciem.
Projektu narysowanego czy opisanego hdl-em się nie kompiluje tylko
syntezuje, w wyniku czego otrzymujemy netlistę, "uniwersalną" netlistę
niezależną od SPRZĘTU ani TECHNOLOGII.
Następnym etapem jest implementacja w wybranej rodzinie układów
programowalnych i technologii. Oczywiście implementacja też składa się z
kilku etapów, ale to odsyłam do literatury.
Pozdrawiam
MiSter
-
13. Data: 2014-02-22 19:41:08
Temat: Re: zajętość komórek LUT przez "typowy" program
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
W dniu 22.02.2014 11:08, MiSter pisze:
> Przy projektowaniu sprzętu mówienie o kompilacji jest pewnym nadużyciem.
>
> Projektu narysowanego czy opisanego hdl-em się nie kompiluje tylko
> syntezuje, w wyniku czego otrzymujemy netlistę, "uniwersalną" netlistę
> niezależną od SPRZĘTU ani TECHNOLOGII.
Oczywiście ma Kolega rację. W następny poście już użyłem bardziej
poprawnego określenia syntezy. Od takie programistyczne przyzwyczajenia
;-) Pamiętam jak zaczynałem przygodę z CPLD/FPGA to z początku nie
mogłem wyzbyć się myślenia sekwencyjnego i patrząc na opis w HDLu czy
Verilog-u mózg uparcie widział sekwencje rozkazów :-/ Wymagało to trochę
czasu aby w linijce opisu zacząć "widzieć" bramki, przerzutniki,
liczniki, rejestry przesuwne itp ;-)
Najweselej się robi, jak się rzeźbi jakiś CPU. W tej chwili dłubię sobie
16-bitowy CPU i w jednym okienku mam opis CPU i peryferiów w Verilogu, w
drugim oknie program napisany w assemblerze procesora rzeźbionego w tym
Verilogu, a w trzecim oknie źródłówkę cross-assemblera do tego procesora
pisaną w C :-) Dodatkowo w czwartym oknie obraz z symulatora tego
wszystkiego.
P.S. Przy okazji pytanie do Kolegów mających do czynienia ze
środowiskiem Xilinx-a ISE. Czy symulator ISim może jakoś symulować
opóźnienia powstające w blokach kombinacyjnych? Bo w tej chwili podczas
symulacji zachowuje się jakby propagacja tych bloków wynosiła zero co
oczywiście nie jest prawdą.
Pozdrawiam
Grzegorz