22 lines
556 B
Python
22 lines
556 B
Python
from amaranth import *
|
|
|
|
class LEDBlinker(Elaboratable):
|
|
def elaborate(self, platform):
|
|
m = Module()
|
|
|
|
led = platform.request("led")
|
|
|
|
half_freq = int(platform.default_clk_frequency // 2)
|
|
timer = Signal(range(half_freq + 1))
|
|
|
|
with m.If(timer == half_freq):
|
|
m.d.sync += led.eq(~led)
|
|
m.d.sync += timer.eq(0)
|
|
with m.Else():
|
|
m.d.sync += timer.eq(timer + 1)
|
|
|
|
return m
|
|
|
|
from amaranth_boards.icebreaker import *
|
|
|
|
ICEBreakerPlatform().build(LEDBlinker(), do_program=True) |