diff --git a/.gitignore b/.gitignore index a034419..770869b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .venv/ +poetry.toml *.egg-info *.pyc __pycache__ diff --git a/poetry.lock b/poetry.lock index 4c64e8d..b021eb8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -44,7 +44,7 @@ type = "git" url = "https://github.com/pbsds/dg" [[package]] -category = "dev" +category = "main" description = "Read metadata from Python packages" marker = "python_version < \"3.8\"" name = "importlib-metadata" @@ -112,12 +112,27 @@ description = "Python toolbox for building complex digital hardware" name = "nmigen" optional = false python-versions = "~=3.6" -version = "0.2" +version = "0.3.dev152+gd964ba9" [package.dependencies] -Jinja2 = "*" -pyvcd = ">=0.1.4,<0.2.0" -setuptools = "*" +Jinja2 = ">=2.11,<3.0" +pyvcd = ">=0.2.2,<0.3.0" + +[package.dependencies.importlib_metadata] +python = "<3.8" +version = "*" + +[package.dependencies.importlib_resources] +python = "<3.9" +version = "*" + +[package.extras] +builtin-yosys = ["nmigen-yosys (>=0.9)"] + +[package.source] +reference = "d964ba9cc45490b141c8c4c4c3d8add1a26a739d" +type = "git" +url = "https://github.com/nmigen/nmigen" [[package]] category = "main" @@ -141,13 +156,24 @@ version = "0.1.0" [package.dependencies] dg = "rev poetry" -nmigen = "^0.2" +nmigen = "branch master" [package.source] -reference = "a9de8193144f3509ec762c6ce05764b6bd00a81c" +reference = "b6a863c139c33473a498e5f2b4c2f09ee39351fe" type = "git" url = "https://github.com/pbsds/nmigen_dg" +[[package]] +category = "main" +description = "Specialized WebAssembly build of Yosys used by nMigen" +name = "nmigen-yosys" +optional = true +python-versions = "~=3.5" +version = "0.9.post4757.dev23" + +[package.dependencies] +wasmtime = ">=0.19.0,<0.20.0" + [[package]] category = "dev" description = "Core utilities for Python packages" @@ -220,17 +246,14 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm [[package]] category = "main" -description = "Python VCD file support." +description = "Python VCD file support" name = "pyvcd" optional = false -python-versions = "*" -version = "0.1.7" - -[package.dependencies] -six = "*" +python-versions = ">= 3.6" +version = "0.2.3" [[package]] -category = "main" +category = "dev" description = "Python 2 and 3 compatibility utilities" name = "six" optional = false @@ -241,7 +264,7 @@ version = "1.15.0" category = "main" description = "A WebAssembly runtime powered by Wasmtime" name = "wasmtime" -optional = false +optional = true python-versions = ">=3.6" version = "0.19.0" @@ -256,11 +279,72 @@ optional = false python-versions = "*" version = "0.2.5" +[[package]] +category = "main" +description = "nextpnr-ecp5 FPGA place and route tool" +name = "yowasp-nextpnr-ecp5" +optional = true +python-versions = "~=3.5" +version = "0.0.post2658.dev17" + +[package.dependencies] +wasmtime = ">=0.19.0,<0.20.0" + +[package.dependencies.importlib-resources] +python = "<3.9" +version = "*" + +[[package]] +category = "main" +description = "nextpnr-ecp5 FPGA place and route tool" +name = "yowasp-nextpnr-ecp5-25k" +optional = true +python-versions = "~=3.5" +version = "0.0.post2658.dev17" + +[package.dependencies] +yowasp-nextpnr-ecp5 = "0.0.post2658.dev17" + +[[package]] +category = "main" +description = "nextpnr-ecp5 FPGA place and route tool" +name = "yowasp-nextpnr-ecp5-45k" +optional = true +python-versions = "~=3.5" +version = "0.0.post2658.dev17" + +[package.dependencies] +yowasp-nextpnr-ecp5 = "0.0.post2658.dev17" + +[[package]] +category = "main" +description = "nextpnr-ecp5 FPGA place and route tool" +name = "yowasp-nextpnr-ecp5-85k" +optional = true +python-versions = "~=3.5" +version = "0.0.post2658.dev17" + +[package.dependencies] +yowasp-nextpnr-ecp5 = "0.0.post2658.dev17" + +[[package]] +category = "main" +description = "nextpnr-ecp5 FPGA place and route tool" +name = "yowasp-nextpnr-ecp5-all" +optional = true +python-versions = "~=3.5" +version = "0.0.post2658.dev17" + +[package.dependencies] +yowasp-nextpnr-ecp5-25k = "0.0.post2658.dev17" +yowasp-nextpnr-ecp5-45k = "0.0.post2658.dev17" +yowasp-nextpnr-ecp5-85k = "0.0.post2658.dev17" + [[package]] category = "main" description = "nextpnr-ice40 FPGA place and route tool" name = "yowasp-nextpnr-ice40" -optional = false +optional = true python-versions = "~=3.5" version = "0.0.post2658.dev17" @@ -275,7 +359,7 @@ version = "*" category = "main" description = "nextpnr-ice40 FPGA place and route tool" name = "yowasp-nextpnr-ice40-1k" -optional = false +optional = true python-versions = "~=3.5" version = "0.0.post2658.dev17" @@ -286,7 +370,7 @@ yowasp-nextpnr-ice40 = "0.0.post2658.dev17" category = "main" description = "nextpnr-ice40 FPGA place and route tool" name = "yowasp-nextpnr-ice40-384" -optional = false +optional = true python-versions = "~=3.5" version = "0.0.post2658.dev17" @@ -297,7 +381,7 @@ yowasp-nextpnr-ice40 = "0.0.post2658.dev17" category = "main" description = "nextpnr-ice40 FPGA place and route tool" name = "yowasp-nextpnr-ice40-5k" -optional = false +optional = true python-versions = "~=3.5" version = "0.0.post2658.dev17" @@ -308,7 +392,7 @@ yowasp-nextpnr-ice40 = "0.0.post2658.dev17" category = "main" description = "nextpnr-ice40 FPGA place and route tool" name = "yowasp-nextpnr-ice40-8k" -optional = false +optional = true python-versions = "~=3.5" version = "0.0.post2658.dev17" @@ -319,7 +403,7 @@ yowasp-nextpnr-ice40 = "0.0.post2658.dev17" category = "main" description = "nextpnr-ice40 FPGA place and route tool" name = "yowasp-nextpnr-ice40-all" -optional = false +optional = true python-versions = "~=3.5" version = "0.0.post2658.dev17" @@ -334,7 +418,7 @@ yowasp-nextpnr-ice40-u4k = "0.0.post2658.dev17" category = "main" description = "nextpnr-ice40 FPGA place and route tool" name = "yowasp-nextpnr-ice40-u4k" -optional = false +optional = true python-versions = "~=3.5" version = "0.0.post2658.dev17" @@ -354,9 +438,12 @@ version = "3.1.0" docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] testing = ["jaraco.itertools", "func-timeout"] +[extras] +nextpnr-ice40 = ["yowasp-nextpnr-ice40-all"] + [metadata] -content-hash = "8950bf75fe482f7ec6ea58cc84550c143b29885d62624f6224a4bcbd1fce3cf2" -python-versions = "^3.7" +content-hash = "554eaebd97446aebe9832d7d701c67a0929b469cbc573d8545bd0ae26bed40df" +python-versions = "~3.7" [metadata.files] atomicwrites = [ @@ -423,13 +510,14 @@ more-itertools = [ {file = "more-itertools-8.4.0.tar.gz", hash = "sha256:68c70cc7167bdf5c7c9d8f6954a7837089c6a36bf565383919bb595efb8a17e5"}, {file = "more_itertools-8.4.0-py3-none-any.whl", hash = "sha256:b78134b2063dd214000685165d81c154522c3ee0a1c0d4d113c80361c234c5a2"}, ] -nmigen = [ - {file = "nmigen-0.2.tar.gz", hash = "sha256:c8f6da9570fb6ee4e08b33ebe01015e4c99dbae06793a722d73ca161f04dfe9c"}, -] +nmigen = [] nmigen-boards = [ {file = "nmigen-boards-0.0.tar.gz", hash = "sha256:ee17c0cac669fa391c9b7bcb42897275477b21f495b3b6beee997915e034f8ff"}, ] nmigen-dg = [] +nmigen-yosys = [ + {file = "nmigen_yosys-0.9.post4757.dev23-py3-none-any.whl", hash = "sha256:f58f8727f98b2ea37f450768aa8de3bf5ace6b1b4fa77a373352ab62ab4b40c5"}, +] packaging = [ {file = "packaging-20.4-py2.py3-none-any.whl", hash = "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181"}, {file = "packaging-20.4.tar.gz", hash = "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"}, @@ -451,8 +539,8 @@ pytest = [ {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, ] pyvcd = [ - {file = "pyvcd-0.1.7-py2.py3-none-any.whl", hash = "sha256:69a1f371c5fc7304a5415284517283de5a732da1c7b10988a5a5fe02500e55e6"}, - {file = "pyvcd-0.1.7.tar.gz", hash = "sha256:be8071c25abbc7fe9e743680b82b6d8979067eca09268d6040baa988016db7c7"}, + {file = "pyvcd-0.2.3-py2.py3-none-any.whl", hash = "sha256:d4132a03afd353e68fb2a2eb983606603f7e60091198a026fee5fb6da50bbd48"}, + {file = "pyvcd-0.2.3.tar.gz", hash = "sha256:c0fd7321143e821033f59dd41fc6b0350d1533ddccd4c8fc1d1f76e21cd667de"}, ] six = [ {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, @@ -468,6 +556,21 @@ wcwidth = [ {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, ] +yowasp-nextpnr-ecp5 = [ + {file = "yowasp_nextpnr_ecp5-0.0.post2658.dev17-py3-none-any.whl", hash = "sha256:7792c2c6354c1463efee69cd8fee19d655719b01f1315252bd337462b21b615d"}, +] +yowasp-nextpnr-ecp5-25k = [ + {file = "yowasp_nextpnr_ecp5_25k-0.0.post2658.dev17-py3-none-any.whl", hash = "sha256:2326efe2cac377d8c951f61d71432b0cc573334d9b2a0154ab9c1d9e6072eaf4"}, +] +yowasp-nextpnr-ecp5-45k = [ + {file = "yowasp_nextpnr_ecp5_45k-0.0.post2658.dev17-py3-none-any.whl", hash = "sha256:45679e57d582c178615b055e9d675587f9eb7283ffd3e861f0bc0a9bfcd31004"}, +] +yowasp-nextpnr-ecp5-85k = [ + {file = "yowasp_nextpnr_ecp5_85k-0.0.post2658.dev17-py3-none-any.whl", hash = "sha256:a37d90ee1d936e49794f17e002bee72d0e24fd5e0077784bc31daa2f088806cc"}, +] +yowasp-nextpnr-ecp5-all = [ + {file = "yowasp_nextpnr_ecp5_all-0.0.post2658.dev17-py3-none-any.whl", hash = "sha256:148ae0d9b2bddc73d7b7dda6cf850b76b617e6d6784db09e65aa41373fe7e367"}, +] yowasp-nextpnr-ice40 = [ {file = "yowasp_nextpnr_ice40-0.0.post2658.dev17-py3-none-any.whl", hash = "sha256:cc96293ea8fc160c7c97f40ca8f47837e61f47f5fb999f2cd174d470c95bc845"}, ] diff --git a/poetry.toml b/poetry.toml deleted file mode 100644 index ab1033b..0000000 --- a/poetry.toml +++ /dev/null @@ -1,2 +0,0 @@ -[virtualenvs] -in-project = true diff --git a/pyproject.toml b/pyproject.toml index 4d57ccc..6015a69 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,14 +6,22 @@ authors = ["Peder Bergebakken Sundt "] [tool.poetry.dependencies] python = "~3.7" -yowasp-nextpnr-ice40-all = "^0.0.post2658.dev17" +nmigen = {git = "https://github.com/nmigen/nmigen"} nmigen-dg = {git = "https://github.com/pbsds/nmigen_dg"} -nmigen = "^0.2" nmigen_boards = "^0.0" +nmigen-yosys = {version = "^0.9.post4757.dev23", optional = true} +yowasp-nextpnr-ecp5-all = {version = "^0.0.post2658.dev17", optional = true} +yowasp-nextpnr-ice40-all = {version = "^0.0.post2658.dev17", optional = true} [tool.poetry.dev-dependencies] pytest = "^5.2" +[tool.poetry.extras] +yosys = ["nmigen-yosys"] +nextpnr-ecp5 = ["yowasp-nextpnr-ecp5-all"] +nextpnr-ice40 = ["yowasp-nextpnr-ice40-all"] + [build-system] requires = ["poetry>=0.12"] build-backend = "poetry.masonry.api" +