Domains A domain in its basic definition, is a grouping of logic cells. If consider a module as a blackbox. With its inputs and outputs, any given output is generated within one and only one domain.
Modules come with two domain built in: a combinational domain and a sequential(synchronous) domain.
Basic structure of modules The tutorial is followed by https://github.com/RobertBaruch/nmigen-tutorial/ Thumbs up for his contributions.
1 2 3 4 5 6 7 8 9 from nmigen import * from nmigen.build import Platform class ThingBlock(Elaboratable): def __init__(self): pass def elaborate(self, platform: Platform) -> Module: m = Module() return m Elaborating a module 1 2 3 4 5 6 7 8 9 10 11 from nmigen.