ao486: x86-compatible Verilog core implementing all features of a 486 SX (2014)
L'ao486 est un cœur Verilog compatible x86 implémentant les fonctionnalités d'un 486 SX, modelé sur Bochs et livré avec un SoC capable de démarrer Linux 3.13 et Windows 95. Le processeur utilise une architecture pipeline en quatre étapes (décodage, lecture, exécution, écriture), implémente l'ensemble des instructions 486 avec CPUID, dispose d'un cache d'instructions 16 kB, d'un cache de données write-back 16 kB, d'un TLB de 32 entrées et d'interfaces Altera Avalon pour mémoire et E/S. Le SoC intègre le cœur ao486 et de nombreux périphériques modélisés en Qsys (IDE et contrôleur de disquette redirigés vers un pilote SD, PIC 8259, DMA 8237, Sound Blaster 2.0 avec DSP et OPL2 partiellement fonctionnel, codec audio WM8731, PIT 8254, contrôleur 8042, RTC et sortie VGA). Le projet est synthétisé pour un FPGA Altera Cyclone IV E (EP4CE115F29C7) et testé sur la carte Terasic DE2-115, occupant environ 80 % des éléments logiques et 75 % des bits mémoire du dispositif, avec une fréquence maximale de 39 MHz et un fonctionnement typique à 30 MHz. Le système exécute MS-DOS 6.22, Windows for Workgroups 3.11, Windows 95 et Linux 3.13, utilise un BIOS Bochs adapté et VGABIOS, combine des sources sous BSD et LGPL, et nécessite Altera Quartus II (avec génération Qsys, compilation du firmware NIOS II et préparation d'une carte SD) pour la compilation et le déploiement.