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

csr: A proposal for DSL design #7

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open

Commits on Sep 24, 2019

  1. Configuration menu
    Copy the full SHA
    8937763 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2019

  1. Configuration menu
    Copy the full SHA
    e890cf7 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2019

  1. Configuration menu
    Copy the full SHA
    fa977f2 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2019

  1. Configuration menu
    Copy the full SHA
    5909db3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e485604 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ba5f354 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2019

  1. Configuration menu
    Copy the full SHA
    c76ea08 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3ce4373 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2019

  1. Configuration menu
    Copy the full SHA
    a430982 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2019

  1. csr: WIP - fix atomicity

    HarryMakes committed Oct 3, 2019
    Configuration menu
    Copy the full SHA
    deb089a View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2019

  1. Configuration menu
    Copy the full SHA
    981945d View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2019

  1. csr: WIP - add CSRBank to control csr r/w signal latching, add CSRBan…

    …kArray, add wishbone from HeavyX
    HarryMakes committed Oct 14, 2019
    Configuration menu
    Copy the full SHA
    9c415d1 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2019

  1. Configuration menu
    Copy the full SHA
    10ddc5e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3bd869c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1be81f6 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2019

  1. Configuration menu
    Copy the full SHA
    43b31d4 View commit details
    Browse the repository at this point in the history
  2. csr: remove obsolete files

    HarryMakes committed Oct 24, 2019
    Configuration menu
    Copy the full SHA
    b9da1e2 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2019

  1. Configuration menu
    Copy the full SHA
    afa4bc6 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2019

  1. Configuration menu
    Copy the full SHA
    587306c View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2019

  1. csr.dsl: better context managers, add reset strobe for Register

    * Field is now a context manager: enums must be added using `with field` block, but can be read from outside using `field.Enums`
    * Bank & Register no longer needs `with <object> as <var>` block, only `with <object>` in order to build them with regs and fields
    HarryMakes committed Nov 8, 2019
    Configuration menu
    Copy the full SHA
    e85b6ae View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2019

  1. csr: Bank now can either be a Decoder or a Mux; add tests

    * Bank now only aligns register addresses without resizing the registers
    HarryMakes committed Dec 6, 2019
    Configuration menu
    Copy the full SHA
    41f1658 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2020

  1. Configuration menu
    Copy the full SHA
    b5d3bc1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce4fd28 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a2381d View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2020

  1. csr: fix bitmasked r/w logic, add dsl.Register for WBCSRBridge tests

    * Register bits in locations that are not occupied by any Fields are now regular Signals, with no access restrictions (i.e. treated as don't care).
    * Any attempt to read or write these bits via a bus will return or change their values without any restrictions.
    HarryMakes committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    b56ef55 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2020

  1. csr.dsl: replace by-Field signals with Register-wide signal; fix alias

    * Instead of storing a Signal in each Field, each Register now store a single Signal comprising of both Field bits and "don't care" bits
    * Each Field object no longer carries a value, but only the information needed to describe a Register (e.g. bit locations, access mode, enumerated values)
    HarryMakes committed Jan 15, 2020
    Configuration menu
    Copy the full SHA
    ca87baa View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2020

  1. csr.dsl: add logic for internal writes

    * Add an internal write strobe (`set_stb`/`set_enable`/`set_en`/`int_w_stb`) to Register and Field; asserted when the logic reassigns the values and overrides any writes from the bus.
    * Add an internal write data signal (`set_val`/`set_value`/`int_w_data`) to Register; contains the data that the logic uses to reassign the Register or Field values when `set_stb` is asserted.
    * Each Field now allows value assignments from the following sources: (The smaller the number, the higher the priority)
      (1) Bank reset strobe (`Bank.rst_stb`): when asserted, reset all its Registers in the Bank to their reset values at the next clock
      (2) Register reset strobe (`Register.rst_stb`): when asserted, reset all its Fields to their reset values and the remaining bits to 0 at the next clock
      (3) Register internal write strobe (`Register.set_stb`): when asserted, set all its Fields to their own current `Field.set_val` value at the next clock
      (4) Field internal write strobe (`Field.set_stb`): when asserted, set the Field to its own current `Field.set_val` value at the next clock
      (5) Register bus write strobe (`Register.w_stb`): when asserted, set all its Fields to the current `Element.w_data` value at the next clock
    * When either `Bank.rst_stb` or `Register.rst_stb` is asserted while `bus.rst_stb` is high, each Register now returns the reset value to `Element.r_data` for reading immediately
    HarryMakes committed Jan 17, 2020
    Configuration menu
    Copy the full SHA
    b0e8dea View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2020

  1. Configuration menu
    Copy the full SHA
    bb79203 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dbe5a5c View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2020

  1. Configuration menu
    Copy the full SHA
    e8faddb View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2020

  1. Configuration menu
    Copy the full SHA
    1e1019e View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2020

  1. Configuration menu
    Copy the full SHA
    7172bde View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2020

  1. fix docstring typo

    HarryMakes committed Apr 29, 2020
    Configuration menu
    Copy the full SHA
    254008f View commit details
    Browse the repository at this point in the history