Nějaké příliš konkrétní cíle nemám, začalo to jako fun project a stále to jím je. Vývoj v podstatě sleduje témata o kterých se chci něco dozvědět. Je to takové zvláštní hobby.
Aktuální stádium:
HW: Mám UART, CPU, Timery, VGA driver (text mode only), PS2; CPU je 32b RISC 16 registrů, 16 zdrojů přerušení, adresuje až 2^24 slov (32bitů); běží to na FPGA Cyclone IV na 50MHz
Toolchain: Assembler, linker, C compiler (port vbcc), nějaké knihovny pro práci s periferiemi spíše hlavičkové soubory definující registry a emulátor
SW: bootloader schopný stáhnout program z UARTu a spustit ho; pár examplů
SW je kámen úrazu není dost času :/ ale mám v plánu nějaký OS, možná právě MINIX :) spíše ale MINIX 2 a nejdřív chci mít hotový HW
Aktuálně na tom dělám bakalářku kde navrhuji desku určenou přímo pro to, bude tam sedět MAX10; bokem píšu/portuji libc a ještě více bokem dávám do kupy driver pro SDRAM
Jinak ano, jsem schopný vzít program v C, zkompilovat ho, prohnat assemblerem, slinkovat, poslat přes UART do desky a "blikat ledkou"
Vše je open: https://github.com/VladisM/MARK_II/
Tady mas pekne shrnuty FPGA cipy i s jejich (ne)security
https://www.microsemi.com/images/soc/products/solutions/security/Security_comp.png
Spíše to vypadá že právě Vámi zmiňované microsemi s tím konkrétně mělo problém...
https://link.springer.com/chapter/10.1007/978-3-642-33027-8_2
Každopádně, pokud nedůvěřujete výrobci FPGA, není problém CPU implementovat v CMOS logice pomocí řady 7400... jediné dva neduhy jsou:
cena, FPGA nakonec vyjde levněji
frekvence, s diskrétními součástkami se prostě na 50MHz nedostane
Tak tohle rozhodně zní jako reklamní cancy jednoho výrobce. A dali tam jenom informace, co se hodily, navíc out of date.
1) Alteru letos koupil Intel. Takže sloupce Altera by v novým článku s aktuální situací nebyly
2) Pokud vím, tak Lattice Semiconducotrs má modely s interní ROM (instant-on, nahráváný paralelně a s rychlým startem), nebo se sériovou konfigurací, ale 3DES šifrováním s klíčem v OTP jako ochrana před paděláním zařízení.
3) Nejen Lattice, chybí i Actel, ...
4) FPGA je konfigurovatelný, a to včetně přiřazení GPIO a i MAC se dělá jako IP core. Pokud není, ven se nevolá (a o to jde).
5) Modifikace konfigurace. Hmm, zajímavá myšlenka, na základě vnitřní struktury binárky (kterou zná jenom výrobce a pár vyvolených s NDA) vyčíst konfiguraci buněk a z toho desyntetizovat popis ve Verilogu, upravit a otočit... Něco jednoduššího by nebylo? Třeba nalezení kolize SHA-512?