Svobodná historická realtimová strategie 0 A.D. (Wikipedie) byla vydána ve verzi 28 (0.28.0). Její kódový název je Boiorix. Představení novinek v poznámkách k vydání. Ke stažení také na Flathubu a Snapcraftu.
Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.
WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.
Byl představen ICT Supply Chain Security Toolbox, společný nezávazný rámec EU pro posuzování a snižování kybernetických bezpečnostních rizik v ICT dodavatelských řetězcích. Toolbox identifikuje možné rizikové scénáře ovlivňující ICT dodavatelské řetězce a na jejich podkladě nabízí koordinovaná doporučení k hodnocení a mitigaci rizik. Doporučení se dotýkají mj. podpory multi-vendor strategií a snižování závislostí na vysoce
… více »Nizozemský ministr obrany Gijs Tuinman prohlásil, že je možné stíhací letouny F-35 'jailbreaknout stejně jako iPhony', tedy upravit jejich software bez souhlasu USA nebo spolupráce s výrobcem Lockheed Martin. Tento výrok zazněl v rozhovoru na BNR Nieuwsradio, kde Tuinman naznačil, že evropské země by mohly potřebovat větší nezávislost na americké technologii. Jak by bylo jailbreak možné technicky provést pan ministr nijak nespecifikoval, nicméně je známé, že izraelské letectvo ve svých modifikovaných stíhačkách F-35 používá vlastní software.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).
Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně
… více »Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.
Syntaxi příkazu when si ukážeme na následujícím
příkladu:
O <= I1 when A = '0' else I2;
Tento zápis znamená: do signálu O přiřaď signál
I1, pokud je hodnota signálu A '0', jinak do
signálu O přiřaď signál I2. Důležité je uvědomit
si, že tímto příkazem neříkáme, co chceme vytvořit, ale jak se má výsledný
obvod chovat. Z tohoto zápisu dostaneme zřejmě multiplexor,
obvod, který funguje jako přepínač. Tento konkrétní multiplexor přepíná
vstupy I1 nebo I2 na výstup O podle
jednobitové adresy A.

Nyní můžeme pomalu začít skládat náš procesor. Uvažujme osmibitovou
architekturu, šířka datových sběrnic tedy bude osm bitů. Pracovat s
jednotlivými vodiči (signál std_logic) by bylo zdlouhavé,
využijeme proto typ signálu std_logic_vector, který vzniká
složením jednotlivých signálů std_logic. Při deklaraci
signálu std_logic_vector určujeme pořadí bitů - např. (7
downto 0) znamená osmibitový signál s nejméně významným bitem vpravo, s
bity číslovanými od 0 do 7. Konstanty typu std_logic_vector
se zapisují v uvozovkách (např. "1010").
Jako první prvek vytvoříme ALU - aritmeticko-logickou
jednotku. V procesoru zajišťuje realizaci aritmetických a logických
funkcí.

Do naší ALU vedou dva osmibitové datové vstupy
I1 a I2, výsledek operace je přiveden na výstup
O. Operaci (zvolme např. AND, OR, NOT, +) určujeme
dvoubitovým signálem A (dva bity jsou dostatečné k adresování
právě jedné ze čtyř operací).
library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_arith.all; -- vlozeni potrebnych knih.
use ieee.std_logic_unsigned.all;
ENTITY ALU IS
PORT (
I1, I2: IN std_logic_vector(7 downto 0); -- dva 8bitove datove vstupy
A: in std_logic_vector(1 downto 0); -- 2bitova adresa operace
O: out std_logic_vector(7 downto 0) -- jeden 8bitovy vystup
);
END ALU;
ARCHITECTURE behavioral OF ALU IS -- tvorime obsah entity ALU
BEGIN
O <= I1 AND I2 when A = "00" else -- na vystupu logicky soucin
I1 OR I2 when A = "01" else -- logicky soucet
not I1 when A = "10" else -- negace I1
I1 + I2; -- scitani
END behavioral;
V deklaraci entity definujeme vstupy a výstupy ALU. Tělo architektury
se skládá z jediného příkazu when, který určuje, jaká funkce
se má objevit na výstupu při různých kombinacích bitů adresy. Fyzická
realizace této funkce by odpovídala čtyřem obvodům realizujících dané
funkce (AND, OR, NOT, +) a čtyřvstupového osmibitového multiplexoru, který
vybírá výsledek jednoho z obvodů na výstup dle hodnoty signálu A.
Co dál s VHDL kódem? V úvahu připadají dvě činnosti
simulace nebosyntézaSimulace je ověření činnosti obvodu na počítači - program (simulátor) napodobuje činnost obvodu a v podobě časového průběhu signálů je možné sledovat funkci obvodu. Syntéza je převod VHDL kódu do formátu vhodného pro fyzickou realizaci obvodu.
Nyní si řekněme něco více o simulaci. Odsimulovat kód si můžete zkusit sami na domácím počítači, např. pomocí volně šiřitelného software ModelSim XE Starter, který si můžete stáhnout ze stránek firmy Xilinx. Program vyžaduje jednorázovou registraci. Po stáhnutí a nainstalování je ještě třeba požádat o registrační klíč přes internetový formulář.
Po spuštění programu je nejdříve potřeba vytvořit nový projekt (File -> New -> Project). Poté si buď vytvoříte nový soubor pro zápis VHDL kódu (např. pravé tlačítko myši v prostoru Workspace -> Add to Project -> New File), nebo přidáte do projektu již existující soubor (pravé tlačítko -> Add to Project -> Existing File). V našem případě bude soubor obsahovat kód ALU uvedený výše.
Příkazem Compile -> Compile All zkompilujete zdrojové soubory do knihovny work. Nyní je možné spustit režim simulace pomocí Simulate -> Simulate. Vybereme entitu ALU z knihovny Work (je třeba rozvinout záložku work).

V hlavním okně ModelSimu se nyní objevila nová záložka sim, pomocí které můžeme nastavovat entitu, se kterou chceme pracovat (v našem případě je to pouze ALU). Z menu View nyní můžeme vyvolávat okna potřebná pro simulaci, nejdůležitější jsou okna Signals a Wave. Wave zobrazí časový průběh signálů (prozatím je prázdné). V okně Signals vidíme všechny signály použité v entitě (včetně portů), které můžeme přidat do okna Wave (Add -> Wave -> Signals in Region).
Jsme sice v režimu simulace, ale zatím jsme nic neodsimulovali. Simulaci musíme nechat běžet po určitou dobu - to můžeme udělat např. v hlavním okně ModelSimu v příkazovém řádku pomocí příkazu run s parametrem času, po který má simulace běžet. Pokud chceme např. simulovat obvod po dobu 100 nanosekund, zadáme příkaz run 100 ns.
Pokud jste celý postup provedli na příkladu naší ALU, objevily se vám v okně Wave na časové ose červené čáry.
Tím nám simulátor říká, že hodnoty signálů nejsou definované. Musíme proto na vstupy obvodu nastavit úrovně signálů - v okně Signals vybereme signál, do kterého chceme vnutit hodnotu a v Edit -> Force -> Value zadáme binárně hodnotu. Pokud např. zadáme hodnoty I1 10101010, I2 00001111, A 00 (funkce logického součinu) a znovu spustíme simulaci (run 100 ns), na výstupu O se nám objeví hodnota 00001010 (logický součin vstupů I1 a I2). Pokud je vidět pouze konec simulace, je dobré zobrazit celý průběh v okně Wave - View -> Zoom -> Zoom Full.
Nyní si můžete hrát s různým nastavováním signálů a testování funkce
ALU. Postup přímého zadávání hodnot signálů je velmi zdlouhavý, v praxi se
používá spíše metoda nadřazené entity zvané testbench , o
kterém budeme hovořit v některém z dalších dílů.
Obvod máme odsimulovaný, dalším krokem v průběhu návrhu je syntéza. Pro syntézu již potřebujete další hardware, běžně se používají programovatelná hradlová pole CPLD nebo FPGA. Dostupné jsou i hotové kity, které řeší napájení programovatelného obvodu a jeho připojení k PC a periferiím. Pokud zvolíte obvod CPLD nebo FPGA firmy Xilinx, můžete si k nim zdarma stáhnout nástroj pro syntézu ISE WebPack. S tímto vybavením si můžete sami obvod nahrát a používat.
Důležité při psaní VHDL kódu je uvědomit si, co vlastně děláme. Nepíšeme program, ale určujeme funkci obvodu. Z toho také vyplývá použití programovatelných polí - hodí se pro paralelní nebo časově kritické aplikace, pro implementaci složitých algoritmů je naopak lepší využít procesor.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
) nemaji zpetne vazby v logice co delat - v kazde zpetne vazbe musi byt v ceste registr.