Skip to content

adding clockwork to top module gives error #8

@chrisjohgorman

Description

@chrisjohgorman

Hello @bl0x,

First off let me thank you for your project. It is interesting and I am going to try and follow it to gain an understanding of amaranth.

I am trying to build with Vivado and have had success with the first step. I now have lighted leds on my cmod a7. When trying to build step 2, I get the following error.

step = 2
Traceback (most recent call last):
  File "/home/chris/src/amaranth/learn-fpga-amaranth/boards/digilent_cmod_a7.py", line 25, in <module>
    platform.build(Top(leds, uart), do_program=True)
  File "/usr/lib/python3.12/site-packages/amaranth/build/plat.py", line 99, in build
    plan = self.prepare(elaboratable, name, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/amaranth/build/plat.py", line 140, in prepare
    fragment._propagate_domains(self.create_missing_domain, platform=self)
  File "/usr/lib/python3.12/site-packages/amaranth/hdl/_ir.py", line 240, in _propagate_domains
    self._propagate_domains_up()
  File "/usr/lib/python3.12/site-packages/amaranth/hdl/_ir.py", line 141, in _propagate_domains_up
    subfrag._propagate_domains_up(hierarchy + (hier_name,))
  File "/usr/lib/python3.12/site-packages/amaranth/hdl/_ir.py", line 184, in _propagate_domains_up
    self.add_domains(domain)
  File "/usr/lib/python3.12/site-packages/amaranth/hdl/_ir.py", line 91, in add_domains
    assert domain.name not in self.domains
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Systematically looking at the commands makes the following code from 02_slower_blinky/soc.py responsible as commenting it out starts the build for me.

# Add the clockwork to the top module. If this is not done,
# the logic will not be instantiated.
m.submodules.cw = cw

Do you have any idea on how to set the domain.name in self.domains?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions