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

Move DQS related code into a DQSGroup elaboratable #52

Open
jeanthom opened this issue Aug 6, 2020 · 1 comment
Open

Move DQS related code into a DQSGroup elaboratable #52

jeanthom opened this issue Aug 6, 2020 · 1 comment
Labels
ecp5 enhancement New feature or request phy

Comments

@jeanthom
Copy link
Owner

jeanthom commented Aug 6, 2020

Better primitive abstraction = able to do more tests

@jeanthom jeanthom added enhancement New feature or request phy ecp5 labels Aug 6, 2020
@jeanthom
Copy link
Owner Author

jeanthom commented Aug 6, 2020

Here's a draft:

class DQSGroup(Elaboratable):
    def __init__(self, *, dqs, dq, dm, rdly_csr):
        # Pads
        self.dqs = dqs
        self.dq = dq
        self.dm = dm

        # CSR
        self.rdly_csr = rdly_csr

        # DQSBUFM informations
        self.burstdet = Signal()
        self.datavalid = Signal()

        # Timing signals needed here

        # Data IO
        self.din = Signal(8*4)
        self.dout = Signal(8*4)
        self.dmask = Signal(4)

    def elaborate(self, platform):
        m = Module()
        ...
        return m

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ecp5 enhancement New feature or request phy
Projects
None yet
Development

No branches or pull requests

1 participant