Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Metro: Add the capability for the sequencer FPGA to override the Versal boot mode

Aperta
#441 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Ambito
embedded-iot

Direzione di ricerca

Inizia individuando la logica FPGA del sequencer Metro per FPGA1 e la sequenza delle rail A0HP, quindi traccia i cinque segnali denominati MODE e buffer-enable. Usa il commento collegato dell’issue #45 di hardware-metro per i dettagli sull’implementazione. Il lavoro è completato quando l’FPGA può abilitare i buffer e impostare MODE[3:0] prima della sequenza di A0HP, lasciando i buffer in tristate per impostazione predefinita.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

metro sequencer

In Metro, strapping resistors on the Versal's MODE[3:0] pins configure the boot mode. Metro's strapping resistors are configured to select the QSPI32 (4-byte addressing) boot mode by default, which is required for Flash parts larger than 128Mib.

We also want Metro's sequencer FPGA to be able to override the boot mode strapping resistors in case we want to change the boot mode for bringup or debugging. To enable this, we wired the MODE bits to four sequencer FPGA pins through a pair of two-channel tristate buffers (U156 and U160). The sequencer FPGA also controls the buffers' active-low output enable signals, which is strapped high by default to disable the buffers. In normal operation, the buffer outputs are tristated, and the Versal strapping resistors select the boot mode, but if we want to override the strapping resistors, the sequencer FPGA can enable the buffers and assert a new MODE value before sequencing A0HP rails.

There are five signals involved in setting the boot mode:

FPGA1_TO_VERSAL_MODE_BUFFER_EN_L is the active-low buffer enable signal. A high level on FPGA1_TO_VERSAL_MODE_BUFFER_EN_L tristates the buffer outputs. A low level on FPGA1_TO_VERSAL_MODE_BUFFER_EN_L enables the buffers and allows the sequencer FPGA to set the boot mode.

  • FPGA1_TO_VERSAL_MODE_BUFFER_EN_L is wired to FPGA1 ball J16 in bank 15.

FPGA1_TO_VERSAL_MODE_[3:0] are the four MODE bits. They are wired to four pins in FPGA1 Bank 36.

  • MODE_3 is wired to ball B7 in Bank 36
  • MODE_2 is wired to ball F6 in Bank 36
  • MODE_1 is wired to ball E3 in Bank 36
  • MODE_0 is wired to ball D2 in Bank 36

This comment in hardware-metro issue #48 describes the specific hardware implementation.

Lingua principale
VHDL
Stelle
24
Fork
2
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di oxidecomputer/quartz

Tutte le issue di oxidecomputer/quartz

Issue simili

Altre issue su Embedded & IoT

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.