diff options
| author | whitequark <whitequark@whitequark.org> | 2021-12-10 07:38:00 +0000 |
|---|---|---|
| committer | whitequark <whitequark@whitequark.org> | 2021-12-10 08:30:37 +0000 |
| commit | b968cfade961a329c26035ef8bfdf3058e95a9f1 (patch) | |
| tree | 94891b950cb0547868877027230ff09b9cb56d4a /amaranth_boards/kcu105.py | |
| parent | bd7fdd379d8b28f8b542f251a11ca28297e8fd6f (diff) | |
Rename nMigen to Amaranth HDL.
Diffstat (limited to 'amaranth_boards/kcu105.py')
| -rw-r--r-- | amaranth_boards/kcu105.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/amaranth_boards/kcu105.py b/amaranth_boards/kcu105.py new file mode 100644 index 0000000..1a886d2 --- /dev/null +++ b/amaranth_boards/kcu105.py @@ -0,0 +1,37 @@ +import os +import subprocess + +from amaranth.build import * +from amaranth.vendor.xilinx_ultrascale import * +from .resources import * + + +__all__ = ["KCU105Platform"] + + +class KCU105Platform(XilinxUltraScalePlatform): + device = "xcku040" + package = "ffva1156" + speed = "2-e" + default_clk = "clk125" + resources = [ + Resource("clk125", 0, DiffPairs("G10", "F10", dir="i"), + Clock(125e6), Attrs(IOSTANDARD="LVDS")), + + *LEDResources(pins="AP8 H23 P20 P21 N22 M22 R23 P23", + attrs=Attrs(IOSTANDARD="LVCMOS18")), + ] + connectors = [] + + def toolchain_program(self, products, name): + openocd = os.environ.get("OPENOCD", "openocd") + with products.extract("{}.bit".format(name)) as bitstream_filename: + subprocess.check_call([openocd, + "-c", "source [find board/kcu105.cfg]; init; pld load 0 {}; exit" + .format(bitstream_filename) + ]) + + +if __name__ == "__main__": + from .test.blinky import * + KCU105Platform().build(Blinky(), do_program=True) |
