import "/nmigen_boards.icebreaker/ICEBreakerPlatform" import "/nmigen_dg/*" import "modules/Blinker" import "modules/Pulser" import "resources/pmod" Top = subclass Elaboratable where elaborate = platform ~> m where with m = Module! => freq = int platform.default_clk_frequency @ledr = platform.request "led_r" @ledg = platform.request "led_g" @seg7 = platform.request "seven_seg" blinker1 = Blinker$ int (freq // 3) m.submodules += blinker1 blinker2 = Pulser$ int (freq // 3) m.submodules += blinker2 comb$ drive @ledr blinker1.out hello = Signal 1 reset: 1 when blinker2.out $ -> sync$ drive hello ~hello sync$ drive @ledg hello if __name__ == "__main__" => plat = ICEBreakerPlatform! plat.add_resources$ pmod.seven_seg 0 # pmod 1a plat.build Top! do_program: True