2 from nmigen
.cli
import main
5 class FlatGPIO(Elaboratable
):
6 def __init__(self
, pins
, bus
):
10 def elaborate(self
, platform
):
14 m
.d
.comb
+= bus
.r_data
.eq(self
.pins
.word_select(bus
.addr
, len(bus
.r_data
)))
16 m
.d
.sync
+= self
.pins
.word_select(bus
.addr
, len(bus
.w_data
)).eq(bus
.w_data
)
20 if __name__
== "__main__":
28 gpio
= FlatGPIO(pins
, bus
)
29 main(gpio
, ports
=[pins
, bus
.addr
, bus
.r_data
, bus
.w_data
, bus
.we
])