Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
nathanaelhuffman opened this issue Sep 26, 2024 · 0 comments
Open

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

nathanaelhuffman opened this issue Sep 26, 2024 · 0 comments
Labels
rdl tooling issues/enhancements to rdl generated things

Comments

@nathanaelhuffman
Copy link
Collaborator

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.

@nathanaelhuffman nathanaelhuffman added the rdl tooling issues/enhancements to rdl generated things label Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rdl tooling issues/enhancements to rdl generated things
Projects
None yet
Development

No branches or pull requests

1 participant