-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Sebastian Biały <h...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: FPGA z punktu widzenia programisty
Date: Sun, 14 Feb 2016 10:56:19 +0100
Organization: ATMAN - ATM S.A.
Lines: 106
Message-ID: <n9pj28$6kt$1@node1.news.atman.pl>
References: <3...@g...com>
<n9ms9k$mhq$1@node2.news.atman.pl>
<4...@g...com>
NNTP-Posting-Host: 176-115-85-233.via.zamek.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1455443848 6813 176.115.85.233 (14 Feb 2016 09:57:28
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sun, 14 Feb 2016 09:57:28 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
In-Reply-To: <4...@g...com>
Xref: news-archive.icm.edu.pl pl.comp.programming:209131
[ ukryj nagłówki ]On 2016-02-13 23:51, Maciej Sobczak wrote:
>> 2) CPU + FPGA na osobnych płytkach.
> Tak. Albo na tej samej płytce.
Zapomnialem dopisać: krzemu. Oczywiście na jednym PCB.
>> Niestety VHDl jest w odwrocie
> Czyli co - coraz gorszy jest? :-)
Nie wiem czy gorszy. Z punktu widzenia tego gdzie siedzę verilog jest
kumulacją wszelkiego zła (z punktu widzenia teorii języków
programowania). I jednocześnie jest znacznie mniej verbose niż vhdl. W
dodatku verilog wymyslano na kolanie dzięki czemu ma fundamentalne bugi,
natomiast vhdl wymyslali matematycy (kradnąc adę :) dzięki czemu
szybciej zużywasz klawiaturę.
Tak czy inaczej verilog ma obecnie najlepiej zorganizowane testowanie
jednostkowe i kompleksowe i widać rozwoj. vhdl ma zaś ten sam problem co
C++: nowy feature? W przyszyłm dziesięcioleciu może...
>> z uwagi na zdumiewające tempo rozwoju
>> narzedzi do testowania w verilogu w ostatnich latach.
> Rozumiem, ale nie przeszkadza mi to.
Musi. Z tego powodu że popularnośc rdzeni w verilogu rośnie. To powoduje
że często nie masz wyboru innego jak verilog.
Co prawda większość mechanizmów syntezy i symualcji radzi sobie z mixed
language, ale to jest spory kłopot ponieważ te jezyki nie są wprost
kompatybilne na "poziomie drutów", mają inną filozofię i terzeba dobrze
wiedzieć co się robi.
> Interesuje mnie minimalizacja ilości użytych narzędzi
Zakladając że użyjesz tylko narzędzi do syntezy i symulacji i tak
zassasz 30GB szitu ktory zawieras wszystko co tylko dali radę upchnąć.
> Wyobrażam to sobie tak, że podobnie jak w przypadku uC
>, proces wymaga nominalnie dwóch narzędzi:
> a) translatora, który przerobi źródło w VHDLu na coś
Synteza. Z grubsza zmienia algorytmy na bramki i druty. Oczywiście nie
wszystkie konstrukcje sa syntezowalne. Niektóre syntezują się inaczej
niż byś chciał choćby dlatego że w FPGA nie ma algroytmiki. Z tego
powodu projekty hdlowe pisze się często 2 razy: raz behavioralnie a raz
na poziomie rtl. I tylko rtl jest syntezowalne i da się zaimplementować
w sprzęcie.
> , co można b) wgrać do układu.
Tu już prosciej, zazwyczaj w tym celu jest albo jtag albo jakaś pamięć
(albo symulator w postaci cpu).
>>> - narzędzia raczej open-source niż zamknięte
>> Świat EDA składa się w 99% z komercyjnych, absurdalnie drogich,
>> popsutych i czerpiących całymi garściami z lat 60-tych narzędzi.
> Szkoda. Więc upraszczamy pytanie: czy jeśli zminimalizujemy zestaw narzędzi
> do tych dwóch wymienionych powyżej (czyli translator + upload)
>, to zmieścimy się w open-source
Nie. Z grubsza dlatego że architektura fpga jest zamknięta. To oznacza
że OS narzędzia syntezy nie tylko nie wiedzą jakie bloki funkcjonalne
generować ale nie wiedzą też jak stworzyć bitstream do wgrania do fpga.
To wie tylko narzędzie producenta danego chipa. Ostatnio obwieszczono
światu że jakiś darmowy syntezer dał rade wygenerować bitstream do CPLD
(ktorego już chyba nie ma na rynku). To świadczy o tym jak daleko w tyle
są programy OS.
>, czy nie da rady?
Nie da rady. Rynek EDA jest zupełnie inny niż rynek uC. Zachowanie
producentów jest raczej podobne do MicroChipa niż Atmela.
> I nie chodzi o samą cenę nabycia tych narzędzi, tylko o metodę ich rozwoju i
filozofię użycia.
Filozofia użycia sprawadza się do 2 elementów:
a) "a co to jest make"? Zaś po mojej odpowiedzi "ale my i tak zawsze
budujemy od zera bo jest pewniej".
b) "na h.. nam jakieś systemy kontroli wersji, mamy ftpa".
Nie przesadzam. Lata 60-te, zarowno w obsłudze narzedzi jak i w
mentalności userów i nic nie wskazuje na zmiany. Miałem kiedyś nadzieje
że to kwestia poczekania aż problem sam się rozwiąże bilogicznie, ale
nie... to tak nie zadziałało.
PS. Niedawno verilog wzbogacił się o obiektowość (potrzebną przy
testowaniu w symulatorach). To tak strasznie bolało programistów
hdlowych że rynek zapełnił się narzedziami ktore myślą i piszą kod tego
typu za nich.
>> Szukaj Zynq jeśli pieniądze to nie problem.
> Czy ten wybór ma wpływ na dalszy wybór narzędzi?
Wybór vendora FPGA oznacza przywiązanie się do jakiegoś narzędzia. Model
pamięci DDR będzie inny u jednego a inny u drugiego. Zawartość FPGA też
(np. układy mnożące, peryferia itd). Może pisać częsciowo abstrakcyjnie,
ale w HDLu nie wymyslono tego tak skutecznie jak w normalnych językach.
Tam masz druty i tyle, a abstrakce zapewnia się w taki sposób że się nią
nikt nie przejmuje.
Zerknij na OpenCores dla sportu. Przygotuj się na utratę szarych komórek
po zerknięciu w niektóre projekty. Tak, Ci sami ludzie piszą tworzą
elektronikę do respiratorów.
Następne wpisy z tego wątku
- 14.02.16 16:54 Maciej Sobczak
- 14.02.16 18:06 Sebastian Biały
- 15.02.16 18:04 k...@g...com
- 16.02.16 11:15 Wojciech Muła
- 17.02.16 18:50 platformowe głupki
- 17.02.16 20:19 szemrany
- 18.02.16 15:59 Roman W
- 18.02.16 16:24 platformowe głupki
- 18.02.16 16:27 platformowe głupki
- 18.02.16 19:15 Sebastian Biały
- 18.02.16 22:13 M.M.
- 19.02.16 10:16 Sebastian Biały
- 19.02.16 15:14 M.M.
- 19.02.16 15:37 Sebastian Biały
- 19.02.16 16:34 M.M.
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=