FPGA, horloges et domaines d’E/S

Famille ECP5

ULX3S utilise des FPGA Lattice ECP5 en boîtier 381 billes. Le matériel amont prévoit des densités 12F, 25F, 45F et 85F. Hazard3-Doom fournit actuellement des wrappers complets pour les cibles 85F et 12F.

La densité modifie les LUT, EBR et ressources de routage disponibles, mais n’identifie pas la révision PCB.

Oscillateur 25 MHz

La conception ULX3S amont fournit un oscillateur embarqué de 25 MHz. Hazard3-Doom utilise cette référence pour générer les horloges nécessaires au processeur, à la SDRAM et à la logique vidéo.

Les références actuelles des profils de carte sont :

Cible

Horloge Hazard3

Rôle

ULX3S 85F

50 MHz

CPU, logique AHB/SoC, côté contrôleur SDRAM, moniteur et logique de plate-forme.

ULX3S 12F

40 MHz

Cible CPU/SoC et SDRAM à ressources réduites.

La vidéo utilise ses propres horloges dérivées ; le travail de fermeture de timing doit donc prendre en compte plus que la seule horloge CPU. Les valeurs d’horloge réellement routées sont des résultats du build, pas des spécifications permanentes de la carte.

SDRAM et timing

La mémoire externe est de la SDR SDRAM synchrone. Le wrapper et le contrôleur maintiennent la relation de phase nécessaire entre la logique système et l’horloge physique SDRAM. Modifier HAZARD3_SYS_CLK_HZ affecte donc aussi le sous-système mémoire et les contraintes de timing.

Les valeurs nextpnr par défaut sont centralisées dans scripts/build-ecp5-bitstream-common.sh et résumées dans Profils de cartes. Un seed valide pour 85F ne constitue pas une preuve pour 12F et doit être requalifié après une modification visible par la synthèse. Voir Sweeps de timing et de seeds ECP5.

La fermeture du timing dépend de la cible

Hazard3-Doom centralise les réglages de routage nextpnr par défaut dans scripts/build-ecp5-bitstream-common.sh. Les références actuelles des versions sont également résumées dans Profils de cartes.

Un seed qui réussit sur ULX3S 85F ne prouve pas qu’il réussira sur 12F, et un seed précédemment valide ne doit pas être supposé toujours valide après une modification du RTL visible par la synthèse, du préchargement du moniteur, de la chaîne d’outils ou des contraintes. Consultez Sweeps de timing et de seeds ECP5 pour le workflow de sweep du projet.

Normes d’E/S

Le LPF décrit à la fois les broches et le comportement électrique. Les GPIO, la SDRAM et de nombreux périphériques utilisent du LVCMOS 3,3 V. La vidéo GPDI utilise des sorties appariées et un routage qui doivent correspondre au wrapper et au fichier de contraintes sélectionnés.