Change clockworks module, because clock domain names are not propagated up the hierarchy anymore (RFC59).
This commit is contained in:
@@ -19,7 +19,7 @@ class SOC(wiring.Component):
|
||||
count = Signal(5)
|
||||
|
||||
# Instantiate the clockwork with a divider of 2^21
|
||||
cw = Clockworks(slow=21)
|
||||
cw = Clockworks(m, slow=21)
|
||||
|
||||
# Add the clockwork to the top module. If this is not done,
|
||||
# the logic will not be instantiated.
|
||||
|
||||
@@ -12,7 +12,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21)
|
||||
cw = Clockworks(m, slow=21)
|
||||
m.submodules.cw = cw
|
||||
|
||||
sequence = [
|
||||
|
||||
@@ -16,7 +16,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21)
|
||||
cw = Clockworks(m, slow=21)
|
||||
m.submodules.cw = cw
|
||||
|
||||
# Instruction sequence to be executed
|
||||
|
||||
@@ -16,7 +16,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21, sim_slow=10)
|
||||
cw = Clockworks(m, slow=21, sim_slow=10)
|
||||
m.submodules.cw = cw
|
||||
|
||||
# Instruction sequence to be executed
|
||||
|
||||
@@ -16,7 +16,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21, sim_slow=10)
|
||||
cw = Clockworks(m, slow=21, sim_slow=10)
|
||||
m.submodules.cw = cw
|
||||
|
||||
# Instruction sequence to be executed
|
||||
|
||||
@@ -38,7 +38,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21, sim_slow=10)
|
||||
cw = Clockworks(m, slow=21, sim_slow=10)
|
||||
m.submodules.cw = cw
|
||||
|
||||
# Program counter
|
||||
|
||||
@@ -30,7 +30,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21, sim_slow=10)
|
||||
cw = Clockworks(m, slow=21, sim_slow=10)
|
||||
m.submodules.cw = cw
|
||||
|
||||
# Program counter
|
||||
|
||||
@@ -31,7 +31,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21, sim_slow=10)
|
||||
cw = Clockworks(m, slow=21, sim_slow=10)
|
||||
m.submodules.cw = cw
|
||||
|
||||
# Program counter
|
||||
|
||||
@@ -28,7 +28,7 @@ class SOC(Elaboratable):
|
||||
|
||||
m = Module()
|
||||
|
||||
cw = Clockworks(slow=21, sim_slow=10)
|
||||
cw = Clockworks(m, slow=21, sim_slow=10)
|
||||
m.submodules.cw = cw
|
||||
|
||||
# Program counter
|
||||
|
||||
@@ -17,7 +17,7 @@ class SOC(Elaboratable):
|
||||
def elaborate(self, platform):
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks(slow=19, sim_slow=10)
|
||||
cw = Clockworks(m, slow=19, sim_slow=10)
|
||||
memory = DomainRenamer("slow")(Memory())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
m.submodules.cw = cw
|
||||
|
||||
@@ -17,7 +17,7 @@ class SOC(Elaboratable):
|
||||
def elaborate(self, platform):
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks(slow=19, sim_slow=10)
|
||||
cw = Clockworks(m, slow=19, sim_slow=10)
|
||||
memory = DomainRenamer("slow")(Memory())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
m.submodules.cw = cw
|
||||
|
||||
@@ -17,7 +17,7 @@ class SOC(Elaboratable):
|
||||
def elaborate(self, platform):
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks()
|
||||
cw = Clockworks(m)
|
||||
memory = DomainRenamer("slow")(Memory())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
m.submodules.cw = cw
|
||||
|
||||
@@ -17,7 +17,7 @@ class SOC(Elaboratable):
|
||||
def elaborate(self, platform):
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks()
|
||||
cw = Clockworks(m)
|
||||
memory = DomainRenamer("slow")(Memory())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
m.submodules.cw = cw
|
||||
|
||||
@@ -17,7 +17,7 @@ class SOC(Elaboratable):
|
||||
def elaborate(self, platform):
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks()
|
||||
cw = Clockworks(m)
|
||||
memory = DomainRenamer("slow")(Memory())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
m.submodules.cw = cw
|
||||
|
||||
@@ -17,7 +17,7 @@ class SOC(Elaboratable):
|
||||
def elaborate(self, platform):
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks()
|
||||
cw = Clockworks(m)
|
||||
memory = DomainRenamer("slow")(Memory())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
m.submodules.cw = cw
|
||||
|
||||
@@ -22,7 +22,7 @@ class SOC(Elaboratable):
|
||||
print("clock frequency = {}".format(clk_frequency))
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks()
|
||||
cw = Clockworks(m)
|
||||
memory = DomainRenamer("slow")(Mem())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
uart_tx = DomainRenamer("slow")(
|
||||
|
||||
@@ -22,7 +22,7 @@ class SOC(Elaboratable):
|
||||
print("clock frequency = {}".format(clk_frequency))
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks()
|
||||
cw = Clockworks(m)
|
||||
memory = DomainRenamer("slow")(Mem())
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
uart_tx = DomainRenamer("slow")(
|
||||
|
||||
@@ -4,11 +4,16 @@ from amaranth.lib.wiring import In, Out
|
||||
|
||||
# This module handles clock division and provides a new 'slow' clock domain
|
||||
|
||||
clockworks_domain_name = "slow"
|
||||
|
||||
class Clockworks(wiring.Component):
|
||||
|
||||
o_slow: Out(1)
|
||||
|
||||
def __init__(self, slow=0, sim_slow=None):
|
||||
def __init__(self, module, slow=0, sim_slow=None):
|
||||
|
||||
# Since amaranth 0.6 clock domains do not propagate upwards (RFC59)
|
||||
module.domains += ClockDomain(clockworks_domain_name)
|
||||
|
||||
# Since the module provides a new clock domain, which is accessible
|
||||
# via the top level module, we don't need to explicitly provide the
|
||||
|
||||
@@ -21,7 +21,7 @@ class SOC(Elaboratable):
|
||||
simulation = platform is None
|
||||
|
||||
m = Module()
|
||||
cw = Clockworks()
|
||||
cw = Clockworks(m)
|
||||
memory = DomainRenamer("slow")(Mem(simulation=simulation))
|
||||
cpu = DomainRenamer("slow")(CPU())
|
||||
uart_tx = DomainRenamer("slow")(
|
||||
|
||||
Reference in New Issue
Block a user