b4797ecd76b131ba566282b5f32886249015e50e
1 from types
import SimpleNamespace
3 from nmigen
.cli
import main
6 class FlatGPIO(Elaboratable
):
7 def __init__(self
, pins
, bus
):
11 def elaborate(self
, platform
):
15 m
.d
.comb
+= bus
.r_data
.eq(self
.pins
.word_select(bus
.addr
, len(bus
.r_data
)))
17 m
.d
.sync
+= self
.pins
.word_select(bus
.addr
, len(bus
.w_data
)).eq(bus
.w_data
)
21 if __name__
== "__main__":
29 gpio
= FlatGPIO(pins
, bus
)
30 main(gpio
, ports
=[pins
, bus
.addr
, bus
.r_data
, bus
.w_data
, bus
.we
])