Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Open Source nástroje pro FPGA

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: so květen 09 2020, 11:59    Předmět: Open Source nástroje pro FPGA Citovat

Ahoj. Vždycky mě štvalo, že kvůli práci s FPGA musím rebootovat z Linuxu na Windows a používat tu několika GB obludu s uzavřeným kódem a od určitého vydání free verze záměrně zpomalenou.

Když jsem se snažil najít Open Source variantu nástrojů objevil jsem jen několik zmínek v diskusním fóru, že se tím zabývají na univerzitách v rámci výzkumu, ale pro běžné použití to není, protože výrobci tají popis bitstreamu a vnitřního uspořádání a než se reverzním inženýrstvím potřebné informace získají, daný čip se přestane vyrábět.

V posledních letech se ledy hnuly a nemožné se stává skutečností. Našel jsem spoustu odkazu a videí. Některá jsou v češtině. Nejlépe jsou podporovány FPGA od Lattice a částečně některé řady od Xilinx. Trochu mi kazí radost jen to, že preferovaným jazykem je Verilog na úkor VHDL, které jsem se kdysi učil a mám k němu literaturu a tutoriály. Jak se zdá, Verilog se stává použávanějším jazykem v praxi, tak mi asi nezbyde než se jej naučit.

Nejdříve videa v češtině
FPGA: Nebojte se hradlových polí (Tomáš Mudruňka)
LinuxDays 2015 - FPGA pro BFU - Marek Vašut
FPGA intimne (Marek Vašut)
Martin Hubáček: Jak na FPGA s open-source nástroji (horší kvalita zvuku)
Genetické vylepšování a aproximace hardware a software - Lukáš Sekanina
Zlepšení evolučními výpočty - Lukáš Sekanina

Anglicky
Open-Source Tools for FPGA Development - Marek Vašut
Open-Source FPGA tools, how and why?
35C3 - Snakes and Rabbits
Timothy Ansell - Xilinx Series 7 FPGAs Now Have a Fully Open Source Toolchain!
Taking nextpnr to the next level! - David Shah - ORConf 2019
Open Source FormalVerification in VHDL - Pepijn de Vos

Web
yosys
symbiflow.github.io
icestudio.io
icestorm
Icarus Verilog
GHDL
Migen
nMigen
Amaranth HDL (ex. nMigen)
enjoy-digital.fr
LiteX
Pepijn de Vos - Web
nightly builds of open source FPGA tools
MyHDL
Silice

VHDL <--> VERILOG translator
Open Source
ocean-logic vhd2vl
github vhd2vl
vhd2icestorm
github vhdlpp
Komerční
Synapticad V2V

I don’t often convert VHDL to Verilog but when I do
Will SymbiFlow ever run VHDL as it does Verilog and if not why?

Open Source IP jádra
opencores
LiteDRAM


Naposledy upravil Zmije dne čt březen 09 2023, 11:02, celkově upraveno 21 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1088

PříspěvekZaslal: so květen 09 2020, 18:35    Předmět: Citovat

Pro profesionální použití se bez těch uzavřených nástrojů výrobců neobejdeš.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: so květen 09 2020, 19:22    Předmět: Citovat

Další literatura
P. Lafata, Úvod do jazyka VHDL I
P. Lafata, Úvod do jazyka VHDL II
P. Lafata, Úvod do jazyka VHDL III
Bruno Levy learn-fpga
Bastian Loher learn-fpga (Amaranth - nMigen version)
RTL Design with VHDL
Project-F
SURF VHDL
fpga4fun
fpga4student
Dipl. Implementace výpočtu FFT v obvodech FPGA a ASIC
Cosimulating Verilog and VHDL with CXXRTL
Linux on RISC-V with Open Hardware
Linux on RISC-V with Open Source Hardware (OSSummit Japan 2020)
Alchitry
FPGA Design Elements
FPGA Design Elements Github

Návrh číslicových filtrů
pyFDA
filterbuilder

Litex
Building a SoC with Litex
Litex - Le framework opensource
Jak přidat Avnet AES-KU040-DB-G do Litexu
Migen-Litex tutorial

LiteDRAM
LiteDRAM slides


Naposledy upravil Zmije dne čt březen 09 2023, 11:08, celkově upraveno 3 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1088

PříspěvekZaslal: so květen 09 2020, 21:09    Předmět: Citovat

Cokoliv, co může obsahovat vysokorychlostní přenos dat (>1Gb), tcp/ip stacky, PCI-E-like sběrnice, DSP zpracování.

Co vím v naší firmě, tak jakékoliv pokusy tohoto typu kvůli plnění termínů totálně shořeli. Very Happy
Prostě se jede Xilinx Vivado a pokud se dá koupit nějaké řešení, tak se to vezme, i když ten support stojí často dost na hovno.

Jsi ochotný tu tvoji sbírku materiálů nasdílet?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Habesan



Založen: Jan 12, 2009
Příspěvky: 7070
Bydliště: Plzeňsko

PříspěvekZaslal: so květen 09 2020, 21:22    Předmět: Citovat

Jenže vy víte, že za svoje úsilí ty prachy dostanete zpátky.

Tuhle jistotu běžný bastlíř nemá.
A proto se dodnes používaj orloje s deseti pouzdry 74xx.

(Pamatuj, tohle je Bastlírna !)

_________________
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1088

PříspěvekZaslal: so květen 09 2020, 21:48    Předmět: Citovat

Jsem názoru že na typické "bastl" projekty i s megalomanským nádechem jsou FPGA overkill. Wink
Vždycky se tam dá nasrat nějaký procesor.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: so květen 09 2020, 22:52    Předmět: Citovat

Záleží na tom, čemu říkáš profesionální použítí. Každý výrobek nutně nepotřebuje nejvyšší řady FPGA se speciálními bloky, navíc se bude dostupnost otevřených IP jader zlepšovat. Pokud s těmito nástroji jsou schopni udělat RISC-V procesor a rozjet na tom Linux, tak je to perfektní výsledek, na hranici toho co umožní free verze nástrojů od výrobců.

Před deseti lety nebylo z těchto nástrojů opensource nic. Možná se za několik (10, 15, ..) let výrobci FPGA vzpamatují a akceptují Open Source nástroje tak jak to to před 15 lety udělali výrobci procesorů s podporou překladače GCC a Linuxu.


Naposledy upravil Zmije dne út leden 31 2023, 12:01, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: čt květen 14 2020, 11:27    Předmět: Citovat

Vysokorychlostní periferie to pravděpodobně nezvládá, DSP možná částečně. Myslím že je jen otázka času, kdy to bude umět.

Pro studenty a bastlíře je to ideální.
Že je FPGA pro bastliřské projekty overkil? Možná je, ale když je cena za desku se středně velkým FPGA méně než 100$, vývojové prostředí zdarma, tak proč se nenaučit něco nového a zajímavého. Oni ti "profíci" nepadají z nebe.

Open Source nástroje mají přidanou hodnotu v tom, že se člověk může podívat i pod kapotu, tam kam ho komeršní SW kvůli své uzavřenosti nepustí, tím získat hlubší vhled do problematiky než má majitel super drahého profi klikátka.


Naposledy upravil Zmije dne út leden 31 2023, 12:46, celkově upraveno 10 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: ne červenec 04 2021, 10:17    Předmět: Citovat

GHDL se zdá být použitelný alespoň na simulace kódu ve VHDL.
Na Ubuntu 18.04 bohužel není v repozitářích. Zkompiloval jsem ho podle skriptu a ještě doinstaloval GTKWave a editor Atom, který měl uvedený v prezentaci Martin Hubáček.
kód:
sudo apt install gtkwave atom


Našel jsem web FPGA simulace, blog Using GHDL to simulate VHDL a video Getting Started with VHDL on Linux (GHDL & GTKWave). Nevýhoda je špatná čitelnost kódu v malém oknu. Když už jsem to přepisoval, tak to dávám k dispozici.

ha.vhdl
kód:
library ieee;
use ieee.std_logic_1164.all;

entity ha is
  port (
    a: in  std_ulogic;
    b: in  std_ulogic;
    o: out std_ulogic;
    c: out std_ulogic
  );
end ha;

architecture behave of ha is
begin
  o <= a xor b;
  c <= a and b;
end behave;


ha_tb.vhdl
kód:
library ieee;
use ieee.std_logic_1164.all;

entity ha_tb is
end ha_tb;

architecture test of ha_tb is
  component ha
    port (
      a: in  std_ulogic;
      b: in  std_ulogic;
      o: out std_ulogic;
      c: out std_ulogic
    );
  end component;

  signal a, b, o, c : std_ulogic;
begin
  half_adder: ha port map(a => a, b => b, o => o, c =>c);

  process begin

    a <= 'X';
    b <= 'X';
    wait for 1 ns;

    a <= '0';
    b <= '0';
    wait for 1 ns;

    a <= '0';
    b <= '1';
    wait for 1 ns;

    a <= '1';
    b <= '0';
    wait for 1 ns;

    a <= '1';
    b <= '1';
    wait for 1 ns;

    assert false report "Reached end of test";
    wait;
  end process;
end test;


Příkazy
kód:
# Kontrola syntaxe
ghdl -s ha.vhdl
ghdl -s ha_tb.vhdl
# Analýza
ghdl -a ha.vhdl
ghdl -a ha_tb.vhdl
# Build simulace
ghdl -e ha_tb
# Spuštění simulace
ghdl -r ha_tb
# Vytvoření vcd
ghdl -r ha_tb --vcd=ha.vcd
# Zobrazení
gtkwave ha.vcd
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
h_honza



Založen: Feb 01, 2020
Příspěvky: 126
Bydliště: Praha 1

PříspěvekZaslal: ne červenec 04 2021, 21:33    Předmět: Citovat

Celý problém s uzavřenými nástroji pro FPGA vězí v "zadním konci", tedy ve fyzickém návrhu. Ve Vivadu se tomu říká Place and Route a generování bitstreamu. Tohle totiž potřebuje hodně detailní informace o tom, jak je FPGA udělané, tolik, že by se prý ten obvod dal podle toho okopírovat. To nám aspoň tvrdili lidi z vývoje Xilinxu. Teď už asi architektura a obvodová technika jednotlivých výrobců zkonvergovaly natolik, že výrobci ty informace uvolňují. Následkem toho se hodně pracuje na různých alternativních návrhových systémech. Pokud já vím, poskytované informace jsou komplet snad právě jen u Lattice.
Že existují otevřené simulátory a "přední konec", tedy syntéza z RTL, není až takové překvapení. Algoritmy se vyvíjejí od osmdesátých let. Nicméně vrtat se v tom není příliš snadné, jsou to navrstvené heuristiky na problémy, které se exaktně nedají řešit ani náhodou.
Vivado funguje pod linuxem OK, aspoň nám ano. Je to hrozná obluda, ale to je hodně dáno právě knihovnami informací o jednotlivých čipech. A existují volné omezené licence, které by pro menší nekomerční projekty mohly stačit.
FPGA pro amatérské projekty vůbec nemusí být overkill. Jakékoli zpracování rychlejších signálů, třeba z kamery, vyjde podstatně lépe. Problém jsou samozřejmě počáteční investice (čas, sádlo Smile).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: ne červenec 04 2021, 22:10    Předmět: Citovat

Lattice ice40, Lattice ecp5 by mělý být blízko 100%, stejně tak QuickLogic EOS S3 a QuickLogic QLF K4N8.

Xillinx 7 jen základ.

Altera je zatím bez podpory.

Edit: Už se pracuje i na Alteře (projekt Mistral)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
petula



Založen: May 22, 2016
Příspěvky: 855
Bydliště: Čelákovice / Brandýs n.L / Stará Boleslav

PříspěvekZaslal: ne leden 02 2022, 20:47    Předmět: Citovat

FPGA má smysl u projektů, kde se zaplatí náklady na vývoj. Jestliže budu dělat projekt, kde prodám 100 kusů desek a obvodové řešení dokážu udělat s 20 digitálními obvody bez procesoru nebo s pěti digitálními obvody a jedním procesorem, pak nemá smysl řešit FPGA.
Další případ, kdy se FPGA nechá použít, jsou ustálené a známé FPGA řešení pro bridge ke sběrnicím (PCI, VME). Zde netřeba již nic vyvíjet, vezme se hotové řešení.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: út leden 04 2022, 19:37    Předmět: Citovat

V čem je vývoj s FPGA/CPLD složitější než s logickými obvody? Podle mě se u obojího řeší stejný typ problému. U FPGA s řešením pomůže vývojové prostředí, u log. obvodů je více ruční práce.

Jestli máš řešení s CPU a 20 log. obvody, tak tam nech CPU a místo 20 log. obvodů dej jedno CPLD, ve výsledku to bude menší, flexibilní s menší spotřebou a levnější.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.16 sekund