Il est nécessaire d’initialiser un FPGA, au moyen de signaux de reset ou par d’autres méthodes, afin de garantir un fonctionnement correct et fiable. Pourtant, ce sujet est souvent négligé et se réduit à l’utilisation de modèles de code en Verilog ou en VHDL, avec la fausse croyance que s’il y a un reset et qu’on l’utilise comme tout le monde le fait, tout est parfait.
Cette série de trois pages tente d’esquisser les principales considérations sur ce sujet.
La première page explique pourquoi l’usage courant des resets asynchrones (asynchronous resets) ne donne, au mieux, qu’un fonctionnement partiel. Ceux qui n’utilisent pas du tout de resets asynchrones peuvent la sauter sans risque.
La deuxième page traite des resets synchrones (synchronous resets) par rapport aux resets asynchrones (asynchronous resets), ainsi que d’autres options pour initialiser la logique.
La troisième page adopte une approche plus pratique et propose un contrôleur de reset (reset controller) pour mettre en route le FPGA correctement après la mise sous tension, ainsi qu’en réponse à une demande de reset de la part de l’utilisateur (par exemple, un bouton de reset).
Donc, encore une fois, voici ces trois pages, sous forme de liens accompagnés de leurs titres :