Puoi effettivamente rompere un FPGA programmandolo in modo errato?
Sono un ragazzo software davvero. Non è un segreto che se il tuo software è sbagliato, potresti distruggere tutti i tipi di dati importanti e forse persino mandare in crash l'intero computer. Ma è davvero difficile danneggiare fisicamente un computer semplicemente programmandolo.
(Esistono rumori infiniti di un'istruzione Halt-And-Catch-Fire o la possibilità di eseguire il reflash del firmware del sistema per bloccare la scheda madre o programmare valori errati nella scheda grafica per friggere il monitor. Ma tutto sembra essere esattamente quello : voci. E tutto sull'hardware obsoleto da lungo tempo. Sembra davvero, davvero difficile rompere le moderne apparecchiature informatiche con una cattiva programmazione.)
Con un FPGA, si collegano (almeno nominalmente) i singoli circuiti insieme. Sembra del tutto plausibile che si possano verificare danni fisici in caso di errore.
Ad esempio, è possibile scrivere alcuni VHDL che richiedono che due uscite vengano collegate insieme. Se emettessero livelli logici diversi, immagino che probabilmente friggerebbe qualcosa. ( Spero che il tuo strumento di sintesi ti gridi di non farlo ... ma non so se tali strumenti implementano effettivamente quel livello di controllo degli errori.)
Sembra anche del tutto possibile scegliere accidentalmente il modello sbagliato di FPGA nello strumento di sintesi, e quindi finire per provare a programmare il proprio chip con un flusso di bit destinato a un modello totalmente diverso. Non so che cosa farebbe, ma sospetto che sarebbe "cattivo".
Del resto, potresti sicuramente collegare il chip FPGA al resto del circuito in modo errato. Ad esempio, se si confondono i numeri dei pin, si potrebbe finire con la scheda che prova a pilotare un pin I / O che anche lo stesso FPGA sta cercando di guidare. I pin I / O hanno in genere una "protezione" da un simile errore? O la patatina friggerà?