J'ai lu ce post et il ne répond pas à ma question dans son intégralité:
Je pense à un microcontrôleur comme tout ce qui a de la mémoire, des registres et peut traiter un ensemble d'instructions telles que LOAD, STORE et ADD. Il contient des portes logiques et autres pour remplir son rôle, mais sa tâche principale est d'être un processeur universel de bits. Je pense à un microcontrôleur comme un système de conceptions ASIC interconnectées pour créer la capacité de stocker et de traiter des instructions.
Je pense à un périphérique ASIC comme un circuit qui a été spécifiquement construit à l'aide de composants logiques et électriques pour effectuer une seule tâche, sans autre tâche à l'esprit ni matériel supplémentaire inclus.
Je pense à un périphérique FPGA comme un périphérique ASIC (un périphérique de bas niveau) + un tas de trucs inutilisés, utilisés pour implémenter une table de vérité particulière.
Malgré son nom, un FGPA se sent très "spécifique à l'application", car il doit être recâblé pour effectuer une tâche nouvelle et différente. Cela conduit à une confusion avec l'ASIC. Cependant, dans le cas du recâblage d'un FPGA, tout le matériel nécessaire doit être présent. De plus, les FPGA sont censés être programmables, mais n'est-ce pas à cela que sert un microcontrôleur?
Le post ci-dessus que j'ai référencé mentionne également HDL, que je connais bien. Le HDL ne peut-il pas être utilisé à la fois pour ASIC et FPGA, et par proxy pour concevoir un microcontrôleur complet?