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

Would like top-level decode packages from top-level RDLs

Aperta
#218 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

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

Direzione di ricerca

Inizia tracciando il flusso VHDL che attualmente richiede costanti config_array e segnali responder scritti manualmente, insieme alla mappa .rdl di primo livello mostrata nell’issue. Il lavoro è completato quando un package generato espone le informazioni della memory-map per l’inclusione diretta e riflette le periferiche aggiunte di recente tramite la mappa di primo livello.

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

Descrizione

rdl tooling

We'll often have top level .rdl files that provide the FPGA memory map ala:

addrmap top_level_map {
    default regwidth = 32;
    // Instantiate 2 to test nesting
    gfruit_base_regs base @ 0x0;
    nor_flash_regs spi_nor @ 0x0100;
    espi_regs espi @ 0x0200;
    gfruit_sgpio sgpio @ 0x0300;
};

For the VHDL flow, the user needs to manually generate some config constants and signals like:

 constant config_array : axil_responder_cfg_array_t := 
     (0 => (base_addr => x"00000000", addr_span_bits => 8),
      1 => (base_addr => x"00000100", addr_span_bits => 8),
      2 => (base_addr => x"00000200", addr_span_bits => 8),
      3 => (base_addr => x"00000300", addr_span_bits => 8)
      );
    signal responders : axil8x32_pkg.axil_array_t(config_array'range);

It would be nice to auto-generate a package that includes this kind of information and can just be pulled in. This would also have the benefit of needing to update the top-level map when implementing new peripherals.

Lingua principale
VHDL
Stelle
24
Fork
2
Merge medio
49m
PR unite (30g)
5

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.