La conception d'un processeur compatible an niveau du binaire avec le PIC10F20x de la société Microchip va servir d'illustration du cours.
Ce processeur ne cherchera pas à être compatible :
- au niveau des interfaces électriques,
- au niveau de certains périphériques embarqués (une gestion partielle de GPIO et TMR0 est assurée),
- et avec d'autres détails considérés comme mineurs.
En attendant la rédaction de cette page, voici, bruts de décoffrage, les modules Verilog qui me servent de support aux exercices d'applications concernant le PIC10F200. C'est un peu indigeste, je vous prie de m'en excuser, alors n'hésitez pas à vous servir du forum.
1. Outils de travail
ES4-PROC.zip : ce document contient la hiérarchie des répertoires Windows contenant ces modules et les configurations de projet associées. Ces configurations de projet supposent l'utilisation de Crimson Editor. Vous pouvez en construire d'autres si vous utilisez un autre éditeur. Ce document est mis à jour et/ou modifié très fréquemment. Il contient des informations pour des définitions de projets Crimson et des informations concernant des projets Quartus II : système de développement libre (mais pas open-source) de ALTERA.
La version de Verilog utilisée est un intermédiaire entre la version de base IEEE 1364-1995 et la version IEEE 1364-2001. Tous ces modules sont compilés sans problème avec Icarus Verilog (build Windows 0.8.2). Cet article de S.Sutherland introduit les apports de la version IEEE 1364-2001.
En général, à chaque module XXX dont le fichier de description est nommé xxx.v est associé un module de test simulable dans un fichier nommé test-xxx.v. La simulation de ce module de test produit un tableau de résultats redirigé sur STDOUT et un fichier test-xxx.vcd.
Ce fichier peut être transformé en un chronogramme à l'aide d'un outil de présentation tel WaveVCD (en fait il n'y en a pratiquement pas d'autres sous Windows).