Aller au contenu
Projet 816wiki
Sommaire

Outils et conventions

Les outils retenus pour dessiner les cartes, écrire le Verilog, le firmware et le logiciel 65816, et les règles que le projet s’est données.

Les outils

DomaineOutils
Cartes électroniquesKiCad 8 ou plus récent
FPGAGowin EDA, ou la chaîne libre Yosys, nextpnr-himbaechel et Apicula
Programmation de la 9KopenFPGALoader avec une sonde Tigard (JTAG en 1,8 V)
SimulationVerilator ou Icarus Verilog
Firmware du Picopico-sdk 2.x avec TinyUSB
Logiciel 65816ca65 (de cc65) ou 64tass

L’organisation du dépôt

DossierContenu
docs/la spécification, le plan des registres, les temps, les décisions
hardware/proto-v1/la carte de validation (KiCad)
hardware/itx-v1/la carte Mini-ITX (KiCad)
fpga/sysctl-9k/le Verilog du contrôleur et du son
fpga/video-20k/le Verilog de la vidéo HDMI
firmware/pico/le firmware du Pico (C)
software/le démarrage, le moniteur, des démonstrations 65816
tools/des scripts d’outillage

Aujourd’hui existent la spécification, le README, le relevé du brochage de la Tang Nano 9K (docs/tang-nano-9k-brochage.md, option écartée), la décision sur le contrôleur système (docs/choix-controleur-systeme.md), la programmation JTAG (docs/jtag.md) et un premier outil : tools/pin_budget.py, qui fait le bilan des broches du contrôleur système, avec ses tests.

Les conventions

  • Commentaires et documentation en français, identifiants du code en anglais.
  • En Verilog, les signaux actifs à l’état bas ont le suffixe _n (resb_n, oe_n).
  • Chaque module Verilog a son banc de test ; aucun code FPGA n’est considéré comme valide sans une simulation des temps de PHI2.
  • Toute modification de brochage, de carte mémoire ou de port d’extension est d’abord reportée dans la spécification.
  • Aucun fichier de fabrication (Gerber, nomenclature de montage) sans vérification complète des règles de dessin et sans accord explicite.
  • Ce qui est marqué « à vérifier » n’est jamais supposé : on le vérifie sur la documentation officielle, ou on dit que c’est encore inconnu.

Sources dans le dépôt : docs/SPEC.md, README.md.