Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.
Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »
Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění
… více »Francouzský výrobce kabelů Nexans upozornil na napjaté dodávky elektrických kabelů. Výstavba nové výrobní linky pro některé typy kabelů může trvat přibližně tři roky. Datacentra potřebují rozsáhlé nízkonapěťové a středněnapěťové rozvody. Poptávka roste současně s modernizací elektrických sítí. Někteří odběratelé proto uzavírají výrazně delší dodavatelské smlouvy [Reuters].
Představena byla (𝕏) virtuální platforma FLYBENCH FPV, která nováčky provede zapojením a konstrukcí dronů.
Google Chrome 156 byl prohlášen za stabilní. Přehled novinek v poznámkách k vydání. Opraveno bylo 353 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Indická společnost eMudhra po bezpečnostním incidentu, tj. kompromitaci soukromých klíčů osmi mezilehlých certifikátů své certifikační autority, opouští globální byznys s SSL/TLS certifikáty.
Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »
Správce hesel KeePassXC byl vydán ve verzi 2.8.0. Přechází na Qt 6, podporuje vkládání hesel s Waylandem, rychlé odemykání pomocí Polkitu nebo možnost nastavení klávesových zkratek (seznam změn).
Databáze DuckDB (Wikipedie) byla vydána ve verzi 2.0.0 LTS. S kódovým názvem Cinnamon Teal (čírka skořicová). S vyladěným protokolem Quack.
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.