Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.
Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.
… více »Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Vývoj číslicových zařízení, FPGA, ASIC, možná i něco o CPU/MCU. Prostě trochu hardwaru pro Linuxové programátory a adminy.
Po velmi dlouhé pauze způsobené zraněním a návalem práce jsem se konečně dostal k dokončení kapitoly věnované vývojovým prostředkům pro programovatelné logické obvody. Text opět plynule navazuje na předchozí díly, které najdete zde, zde a zde.
Implementační nástroje zahrnují syntézu, vlastní implementaci, generování programovacích souborů a další podpůrné nástroje používané pro generování pomocných souborů, konfigurování IP jader, vytváření constraints, generování implementačních skriptů a podobně. Výsledkem implementačního procesu je soubor určený pro konfiguraci programovatelného logického obvodu. Ten by měl po nakonfigurování realizovat funkci definovanou popisem použitým jako vstup pro implementaci.
Nástroje pro implementaci je možné rozdělit na front-end, back-end a ostatní podpůrné nástroje. Mezi front-end nástroje patří především syntéza a pak také různé vysokoúrovňové kompilátory a konvertory. Back-end reprezentují implementační nástroje, které překládají výstup syntézy do výsledného konfiguračního souboru. Podpůrné nástroje slouží pro pomocné úlohy související s implementací.
Pro front-end nástroje je typická poměrně dobrá a dostupná specifikace, takže není problém narazit na nástroje různých výrobců a vývojář nemusí být nezbytně závislý na nástrojích dodavatele programovatelných logických obvodů. Vstupem syntézy je například plně standardizovaný HDL a výstupem je netlist opět ve standardním souborovém formátu. Netlist smí obsahovat pouze komponenty výsledného programovatelného logického obvodu, ale ty jsou na této úrovni velmi dobře specifikovány a zdokumentovány přímo výrobcem. Nástroje pro vysokoúrovňové jazyky mají opět k dispozici přesné specifikace jak vstupního HLL, tak výstupního HDL.
Co se týče back-end nástrojů, je uživatel odkázán na výrobce programovatelné logiky. Specifikace skutečné vnitřní struktury PLD, která je pro vývoj back-end nástrojů nutná je přísně střeženým tajemstvím. Situace trochu připomíná back-end nástroje pro návrh integrovaných obvodů. Samotné nástroje jsou sice do jisté míry nezávislé na výrobci konkrétních ASIC, ale ke své funkci potřebují knihovny dodávané právě výrobcem. Kromě interní struktury používané programovatelné součástky musí back-end nástroje znát i charakterizační data obvodu.
Pomocné nástroje slouží pro podporu implementačního procesu. Velmi důležitou skupinu tvoří nástroje pro tvorbu omezujících podmínek – constraints – pro syntézu a implementaci. Tyto nástroje obvykle umožňují jednoduchou formou vyplňováním formulářů nebo pomocí grafického editoru vytvářet různé typy constraints, které pak ukládají ve formátu použitelném implementačními nástroji jako například UCF, SDC nebo XDC. Další skupinou pomocných nástrojů bývají konvertory různých souborových formátů, které slouží například pro převod netlistů z formátu EDIF do vnitřního netlistu konkrétního výrobce a podobně. V rámci implementace se často používají různé analytické a vizualizační nástroje, které usnadní analýzu výsledků implementačního procesu. Umožňují třeba grafické zobrazení výsledku syntézy ve formě schématu, generování různých implementačních statistik a logů nebo vizualizaci kompletně implementovaného projektu v programovatelném obvodu. Některé nástroje umožňují i ruční editaci výsledku implementace.
Velmi významnou skupinu implementačních nástrojů tvoří právě nástroje pro práci s IP jádry. Značná část funkce návrhu pro dnešní velká FPGA je často realizována připravenými hotovými funkčními bloky. Pro zjednodušení jejich konfigurace, parametrizace, modifikace, propojení a integrace existují různé specializované nástroje. Samozřejmě existují i nástroje usnadňující vytváření, balení a distribuci vlastních jader.
Základní nástroje pro práci s jádry umožňují konfiguraci parametrů autonomních IP jader. Výsledkem je obvykle zdrojový kód nebo netlist použitelný společně s ostatními zdroji pro syntézu a verifikaci. Tyto nástroje se používají pro přípravu často používaných běžných funkčních bloků, jako jsou například různé typy pamětí, bloky realizující aritmetické operace, různá specializovaná rozhraní a podobně. Pokud chce například vývojář použít v návrhu FIFO, stačí do projektu vložit IP jádro pro FIFO a v jeho konfiguraci vybrat šířku datových sběrnic, hloubku paměti a nakonfigurovat potřebné řídící signály. Výsledkem je pak obvykle netlist, který se může v návrhu používat jako jakýkoli jiný běžný modul.
S rostoucími možnostmi programovatelné logiky je dnes v FPGA běžné použití procesorů nebo celých procesorových systémů. Specializované nástroje umožňují sestavení a konfiguraci rozsáhlých procesorových systémů, vzájemné propojení jednotlivých bloků pomocí různých sběrnic. Kromě výstupů použitelných pro implementaci a verifikaci umožňují tyto nástroje vygenerovat výstupy pro následný vývoj software. Samozřejmostí bývá možnost společné simulace návrhu hardware a software v době, kdy ještě není k dispozici finální hardware.
Nástroje pro verifikaci návrhu a implementace programovatelné logiky zahrnují jednak klasické digitální simulátory, specifické nástroje svázané s implementačními nástroji konkrétních výrobců a pak vysoce specializované nástroje používané například pro formální verifikaci. Pro programovatelnou logiku specifickým druhem verifikačních nástrojů jsou pak ještě hardwarové nástroje určené pro ladění ve skutečném obvodu.
Digitální simulátory se používají především pro funkční ověření popisu obvodu. Simulace výsledku syntézy a implementace v případě programovatelné logiky není až na výjimky nutná. Vstupem simulátoru jsou obvykle zdrojové soubory v HDL a vlastní testovací prostředí opět v HDL. Pokud je projekt nebo jeho části vytvářen jinými prostředky, je nutné je do HDL zkonvertovat.
Testovací prostředí zvané testbench obvykle zajišťuje propojení vlastního návrhu programovatelného obvodu do celého simulačního systému, generování vstupních signálů a dat pro buzení testovaného modulu a kontrolu výstupů. Kontrola správné funkce může být zajištěna automaticky přímo testovacím prostředím. Funkci jednodušších obvodů je možné provádět například sledováním vstupních a výstupních časových průběhů a stavů jednotlivých signálů v konkrétních místech obvodu a okamžicích simulace.
Řízení průběhu simulace, kompilace vstupních souborů a podobné pomocné úlohy je možné buď ručně z prostředí simulátoru nebo pomocí simulačních skriptů. Většina digitálních simulátorů podporuje skriptování v jazyce TCL.
Digitální simulátory většinou podporují jazyky VHDL, Verilog, SystemVerilog a SystemC pro popis hardwaru a testovací prostředí. Složitější kontroly funkce, časování, posloupnosti signálů a podobně je možné realizovat pomocí assertions v některém z jazyků typu PSL, e, OpenVera, SystemVerilog Assertions. Nejčastěji jsou podporovány assertions v PSL a SystemVerilog.
Do verifikace patří i součásti implementačních nástrojů určené pro analýzu výsledků a mezivýsledků implementačního procesu. Umožňují například vizualizaci či grafické zobrazení výsledných netlistů po jednotlivých implementačních krocích ve formě schémat nebo blokových diagramů. Vývojář si tak může udělat obrázek jak skutečně vypadá hardware vygenerovaný z jeho vysokoúrovňového popisu.
Součástí integrovaných vývojových prostředí jsou dále obvykle prohlížeče usnadňující procházení a analýzu implementačních logů. Záznamy z průběhu implementace jsou většinou obrovské nepřehledné textové soubory, případně strukturované XML. Prohlížeče poskytují možnost strukturovaného prohlížení podle typu informace, specializované vyhledávání, filtrování různých druhů informací jako jsou různé chyby a varování a podobně.
Statická časová analýza je velmi významnou součástí verifikačního procesu. Pro ověření skutečné funkčnosti návrhu je na stejné významové úrovni jako například ověření funkce pomocí simulace. Každý návrh programovatelné logiky musí obsahovat kromě vlastního popisu funkce také soubor omezujících podmínek, tzv. constraints, které definují například přiřazení pinů jednotlivým vstupně-výstupním portům, správné nastavení elektrických parametrů vstupů a výstupů, a kromě jiného také definují časové poměry v obvodu. Z časových constraints je nejdůležitější definice frekvencí hodinových signálů a požadavků na časování vstupních a případně i výstupních pinů. Dále je možné a často i nutné definovat relativní časové vztahy mezi různými hodinovými doménami, případně různé speciální nároky na časování v konkrétních místech obvodu, které nejsou ze samotného funkčního popisu zřejmé.
Nástroje pro statickou časovou analýzu použijí výstup implementace, časové constraints a charakterizační data použitého programovatelného obvodu a provedou kompletní analýzu časování všech použitých synchronních elementů v celém programovatelném obvodu. Výstupní netlist obsahuje kromě propojení jednotlivých obvodových prvků i jejich konkrétní umístění na ploše čipu a použité propojovací prostředky, takže časová analýza je schopná určit zpoždění všech spojů. Díky tomu, že programovatelné logické obvody jsou od výrobců plně charakterizovány včetně přesných modelů časování, stačí pro verifikaci návrhu splnit následující tři podmínky:
Správná funkce návrhu odpovídající specifikaci ověřená funkční simulací
Všechny hodinové vstupní signály mají definované časování (constraints)
Požadavky na časování jsou ověřeny statickou časovou analýzou
Na rozdíl od plně zakázkového vývoje ASIC pak odpadají další časově náročné kroky jako jsou časové simulace po jednotlivých implementačních fázích. Díky plné charakterizaci programovatelných logických obvodů jsou časové simulace plně zastoupeny funkční simulací v kombinaci se statickou časovou analýzou.
Specifická skupina verifikačních nástrojů pro programovatelnou logiku umožňuje ladění a měření návrhu ve skutečném obvodu. Tyto nástroje sestávají ze tří částí. První je IP jádro, které se umístí do návrhu společně s vlastním projektem a zajišťuje přístup z vnějšího světa k jednotlivým signálům v návrhu. Druhou část tvoří hardware pro komunikaci mezi tímto jádrem a PC. Obvykle je tato část realizována pomocí JTAG kabelu. Třetí částí je pak software pro PC, který je schopen komunikovat s jádrem v programovatelném obvodu.
Celý výše popsaný systém se pak chová jako logický analyzátor. Uživatel si může nastavovat různé spouštěcí podmínky a provádět měření interních signálů v programovatelném obvodu. Je tak schopen ověřit výsledky simulace v reálném prostředí nebo odhalit chyby způsobené interakcí se skutečným okolím.
Tiskni
Sdílej:
Zkusil jsem přidat nějaký štítek a nefunguje mi to – ať klikám, jak klikám, nic se nestalo (ani žádná chyba v JS konsoli).