2021-12-09 22:39:50 -07:00
|
|
|
from amaranth import *
|
|
|
|
from amaranth.cli import main
|
2019-01-14 08:38:16 -07:00
|
|
|
|
|
|
|
|
|
|
|
m = Module()
|
|
|
|
cd_por = ClockDomain(reset_less=True)
|
|
|
|
cd_sync = ClockDomain()
|
|
|
|
m.domains += cd_por, cd_sync
|
|
|
|
|
2019-10-11 07:07:42 -06:00
|
|
|
delay = Signal(range(256), reset=255)
|
2019-01-14 08:38:16 -07:00
|
|
|
with m.If(delay != 0):
|
|
|
|
m.d.por += delay.eq(delay - 1)
|
|
|
|
m.d.comb += [
|
|
|
|
ClockSignal().eq(cd_por.clk),
|
2019-03-11 11:11:51 -06:00
|
|
|
ResetSignal().eq(delay != 0),
|
2019-01-14 08:38:16 -07:00
|
|
|
]
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2019-01-26 09:25:05 -07:00
|
|
|
main(m, ports=[cd_por.clk])
|