amaranth/examples/basic/por.py

20 lines
400 B
Python
Raw Normal View History

2021-12-09 22:39:50 -07:00
from amaranth import *
from amaranth.cli import main
m = Module()
cd_por = ClockDomain(reset_less=True)
cd_sync = ClockDomain()
m.domains += cd_por, cd_sync
delay = Signal(range(256), init=255)
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),
]
if __name__ == "__main__":
2019-01-26 09:25:05 -07:00
main(m, ports=[cd_por.clk])