Factor out "sd_card_{1bit,4bit,spi}" resources.
[nmigen-boards.git] / nmigen_boards / dev / display.py
1 from nmigen.build import *
2
3
4 __all__ = ["Display7SegResource"]
5
6
7 def Display7SegResource(*args, a, b, c, d, e, f, g, dp=None, invert=False, attrs=None):
8 ios = []
9 ios.append(Subsignal("a", Pins(a, dir="o", invert=invert, assert_width=1)))
10 ios.append(Subsignal("b", Pins(b, dir="o", invert=invert, assert_width=1)))
11 ios.append(Subsignal("c", Pins(c, dir="o", invert=invert, assert_width=1)))
12 ios.append(Subsignal("d", Pins(d, dir="o", invert=invert, assert_width=1)))
13 ios.append(Subsignal("e", Pins(e, dir="o", invert=invert, assert_width=1)))
14 ios.append(Subsignal("f", Pins(f, dir="o", invert=invert, assert_width=1)))
15 ios.append(Subsignal("g", Pins(g, dir="o", invert=invert, assert_width=1)))
16 if dp is not None:
17 ios.append(Subsignal("dp", Pins(dp, dir="o", assert_width=1)))
18 if attrs is not None:
19 ios.append(attrs)
20 return Resource.family(*args, default_name="display_7seg", ios=ios)