Byly vyhlášeny výsledky letošní volby vedoucí/ho projektu Debian (DPL, Wikipedie). Poprvé povede Debian žena. Novou vedoucí je Sruthi Chandran. Letos byla jedinou kandidátkou. Kandidovala již v letech 2020, 2021, 2024 a 2025. Na konferenci DebConf19 měla přednášku Is Debian (and Free Software) gender diverse enough?
Byla vydána nová verze 10.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přidána byla podpora Orange Pi 4 LTS. Přibyl balíček Prometheus.
Implementace VPN softwaru WireGuard (Wikipedie) pro Windows, tj. WireGuard pro Windows a WireGuardNT, dospěly do verze 1.0.
V Pekingu dnes proběhl 2. ročník půlmaratonu humanoidních robotů. První 3 místa obsadili roboti Honor Lightning v různých týmech. Nový rekord autonomního robota je 50 minut a 26 sekund. Operátorem řízený robot to zvládl i s pádem za 48 minut a 19 sekund. Řízení roboti měli časovou penalizaci 20 %. Před rokem nejrychlejší robot zvládl půlmaraton za 2 hodiny 40 minut a 42 sekund. Aktuální lidský rekord drží Jacob Kiplimo z Ugandy s časem 57 minut a 20 sekund [𝕏].
Stanislav Fort, vedoucí vědecký pracovník z Vlčkovy 'kyberbezpečnostní' firmy AISLE, zkoumal dopady Anthropic Mythos (nový AI model od Anthropicu zaměřený na hledání chyb, který před nedávnem vyplašil celý svět) a předvedl, že schopnosti umělé inteligence nejsou lineárně závislé na velikosti nebo ceně modelu a dokázal, že i některé otevřené modely zvládly v řadě testů odhalit ve zdrojových kódech stejné chyby jako Mythos (například FreeBSD CVE-2026-4747) a to s výrazně nižšími provozními náklady.
Federální návrh zákona H.R.8250 'Parents Decide Act', 13. dubna předložený demokratem Joshem Gottheimerem a podpořený republikánkou Elise Stefanik coby spolupředkladatelkou (cosponsor), by v případě svého schválení nařizoval všem výrobcům operačních systémů při nastavování zařízení ověřovat věk uživatelů a při používání poskytovat tento věkový údaj aplikacím třetích stran. Hlavní rozdíl oproti kalifornskému zákonu AB 1043 a kolorádskému SB26-051 je ten, že federální návrh by platil rovnou pro celé USA.
Qwen (čínská firma Alibaba Cloud) představila novou verzi svého modelu, Qwen3.6‑35B‑A3B. Jedná se o multimodální MoE model s 35 miliardami parametrů (3B aktivních), nativní kontextovou délkou až 262 144 tokenů, 'silným multimodálním vnímáním a schopností uvažování' a 'výjimečnou schopností agentického kódování, která se může měřit s mnohem rozsáhlejšími modely'. Model a dokumentace jsou volně dostupné na Hugging Face, případně na čínském Modelscope. Návod na spuštění je už i na Unsloth.
Sniffnet, tj. multiplatformní (Windows, macOS a Linux) open source grafická aplikace pro sledování internetového provozu, byl vydán ve verzi 1.5. V přehledu novinek je vypíchnuta identifikace aplikací komunikujících po síti.
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 15.0 (Mastodon). Forgejo je fork Gitei.
Současně se SUSECON 2026 proběhne příští čtvrtek v Praze také komunitní Open Developer Summit (ODS) zaměřený na open source a openSUSE. Akce se koná ve čtvrtek 23. 4. (poslední den SUSECONu) v Hilton Prague (místnost Berlin 3) a je zcela zdarma, bez nutnosti registrace na SUSECON. Na programu jsou témata jako automatizace (AutoYaST), DevOps, AI v terminálu, bezpečnost, RISC-V nebo image-based systémy. Všichni jste srdečně zváni.
Prozatím lze všechny příkazy, které jsme si ukazovali, zařadit mezi tzv. souběžné příkazy - všechny se provádí najednou bez ohledu na pořadí. V obvodové realizaci to ukazuje na paralelní obvody. Pomocí procesu můžeme použít příkazy sekvenční, kde naopak pořadí příkazů hraje důležitou roli. Proces sám o sobě je jeden souběžný příkaz.
Sekvenční zpracování příkazů v procesu se řídí následujícími pravidly:
Proces můžeme také chápat jako myšlenkovou přípravu na vytvoření
signálů. Nejlepší bude ukázat si činnost procesu na příkladu.
Předpokládejme dvě různé architektury k entitě example_1
(deklaraci entity neuvádím), která má pouze jeden výstupní signál
O:
ARCHITECTURE arch_1 OF example_1 IS BEGIN O <= '1'; O <= '0'; END arch_1;
ARCHITECTURE arch_2 OF example_1 IS
BEGIN
p_1: process
begin
O <= '1';
O <= '0';
end process;
END arch_2;
V prvním případě se snažíme do výstupního signálu O
napojit současně dvě hodnoty - log. '1' a log. '0'. To by mohlo mít v
reálném obvodu katastrofální následky. Pokud například uvažujeme logiku,
kde log. '1' znamená připojení na +5V a log. '0' připojení na zem,
zapisujeme tímto kódem zkrat. Ve druhém případě se ale příkazy
zpracovávají sekvenčně. Druhý přiřazovací příkaz "přebije" první a na
výstupu O bude '0';
V procesu není možné použít souběžný příkaz when, místo
něj můžeme aplikovat sekvenční příkaz if. Uvažujme příklad
z minulého
dílu, kde jsme vytvořili multiplexor pomocí příkazu
O <= I1 when A = '0' else I2
V procesu by vypadal zápis tohoto multiplexoru následovně:
p_1: process (I1, I2, A)
begin
if A = '0' then
O <= I1;
else
O <= I2;
end if;
end process;

Zaměřme se nyní více na syntaxi procesu. Před klíčovým slovem
process je návěští, v našem případě p_1. To je
důležité pro případnou identifikaci procesu v průběhu simulace nebo
syntézy. Za klíčovým slovem process je tzv. sensitivity
list. V něm říkáme simulátoru, kdy má proces spustit a obnovit hodnoty
výstupních signálů. Tento výpočet provede simulátor právě při změně
libovolného signálu obsaženého v sensitivity listu. V praxi to znamená, že
do sensitivity listu je třeba zapsat všechny signály, které do procesu
vstupují. V našem případě jsou to signály I1, I2
a A.
Vezměme nyní následující proces:
p_1: process (I1, I2, A)
begin
O <= I2;
if A = '0' then
O <= I1;
end if;
end process;
Tento zápis je zcela identický s předchozím procesem. Nejdříve do
výstupního signálu O přiřazujeme signál I2, ale
v případě, že je hodnota signálu A '0', dostane se ke slovu
přiřazovací příkaz O <= I1. Výsledek je tedy
opět stejný multiplexor.
Nyní uděláme malou odbočku k tomu, jakým způsobem psát design. Budeme
hovořit o synchronním designu, tzn. v obvodu se vyskytuje jediný hodinový
signál clk. Dnešním standardem je jasně rozdělit design na
registry (paměťové prvky, realizovatelné např. klopným obvodem D) a
kombinační logiku (prvky AND, OR, NOT...) bez cyklů. Registry jsou všechny
taktovány na stejnou (např. náběžnou) hranu clk. V okamžiku
této náběžné hrany se přepíše signál ze vstupu registru na výstup.
Následuje cesta signálu přes kombinační logiku, než dorazí na vstup
dalšího registru. Jakmile všechny signály projdou přes logiku a ustálí se,
může přijít další náběžná hrana hodin a celý proces se opakuje.

Z toho vyplývá i maximální frekvence hodin. Jejich perioda musí být minimálně taková, aby se signál ustálil i na nejdelší cestě v celém obvodu. Pokud tedy taktujeme např. procesor na 1600 MHz, znamená to, že nejdelší cestou (mezi dvěma registry spojenými pouze logikou) v jeho designu projde signál za méně než 0,625 nanosekundy.
Podívejme se nyní na následující proces:
p_1: process (I1, I2, A)
begin
if A = '0' then
O <= I1;
end if;
end process;
Pokud má signál A hodnotu '0', bude na výstupu
I1. Co ale když bude A '1'? To potom znamená
zachovat na výstupu aktuální hodnotu. A zde se dostáváme k jádru problému.
K zachování hodnoty potřebujeme paměťový prvek. V tomto konkrétním případě
bude tvořen zpětnou vazbou, např. takto:

A právě tato zpětná vazba (latch) není přípustná. Proč je vlastně zpětná vazba v logice problém? Např. může zmást syntezátor při počítání délky cesty v obvodu. Obvod potom může fungovat, ale také nemusí (což většinou nastane v nejméně vhodnou dobu).
Jaký z toho plyne závěr? V příkazu if (pokud proces
netvoří registr, ukážeme si příště) je třeba vždy pokrýt všechny stavy
vstupních signálů pro výstupní signály. Jinými slovy, každý výstupní
signál musí mít jasně definovanou hodnotu pouze v závislosti na vstupních
signálech. Podobný problém může nastat i u souběžného signálu
when - tam je také vhodné vždy uvádět klauzuli
else.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: