litecores: add -Ob option to make.py (allow to build with yosys for example)
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 18 Aug 2015 23:06:48 +0000 (01:06 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 18 Aug 2015 23:17:37 +0000 (01:17 +0200)
misoclib/com/liteeth/example_designs/make.py
misoclib/com/liteusb/example_designs/make.py
misoclib/mem/litesata/example_designs/make.py
misoclib/tools/litescope/example_designs/make.py

index a297da5bf838f87b3c3d896149ef24aa8e12bf8b..023e8576f32e2b95590ee006ebf607788a7d0aca 100755 (executable)
@@ -46,6 +46,7 @@ all             clean, build-csr-csv, build-bitstream, load-bitstream.
     parser.add_argument("-p", "--platform", default=None, help="platform to build for")
     parser.add_argument("-Ot", "--target-option", default=[], nargs=2, action="append", help="set target-specific option")
     parser.add_argument("-Op", "--platform-option", default=[], nargs=2, action="append", help="set platform-specific option")
+    parser.add_argument("-Ob", "--build-option", default=[], nargs=2, action="append", help="set build option")
     parser.add_argument("--csr_csv", default="./test/csr.csv", help="CSV file to save the CSR map into")
 
     parser.add_argument("action", nargs="+", help="specify an action")
@@ -134,7 +135,8 @@ System Clk: {} MHz
         write_to_file(args.csr_csv, csr_csv)
 
     if actions["build-bitstream"]:
-        vns = platform.build(soc, build_name=build_name)
+        build_kwargs = dict((k, autotype(v)) for k, v in args.build_option)
+        vns = platform.build(soc, build_name=build_name, **build_kwargs)
         if hasattr(soc, "do_exit") and vns is not None:
             if hasattr(soc.do_exit, '__call__'):
                 soc.do_exit(vns)
index e60dd6ce87d9fa9309e66bd2fd79c86872c297b7..e3eed9d3d6e18e828ba3da160671c6de6d31fc88 100644 (file)
@@ -46,6 +46,7 @@ all             clean, build-csr-csv, build-bitstream, load-bitstream.
     parser.add_argument("-p", "--platform", default=None, help="platform to build for")
     parser.add_argument("-Ot", "--target-option", default=[], nargs=2, action="append", help="set target-specific option")
     parser.add_argument("-Op", "--platform-option", default=[], nargs=2, action="append", help="set platform-specific option")
+    parser.add_argument("-Ob", "--build-option", default=[], nargs=2, action="append", help="set build option")
     parser.add_argument("--csr_csv", default="./test/csr.csv", help="CSV file to save the CSR map into")
 
     parser.add_argument("action", nargs="+", help="specify an action")
@@ -128,7 +129,8 @@ System Clk: {} MHz
         write_to_file(args.csr_csv, csr_csv)
 
     if actions["build-bitstream"]:
-        vns = platform.build(soc, build_name=build_name, run=True)
+        build_kwargs = dict((k, autotype(v)) for k, v in args.build_option)
+        vns = platform.build(soc, build_name=build_name, **build_kwargs)
         if hasattr(soc, "do_exit") and vns is not None:
             if hasattr(soc.do_exit, '__call__'):
                 soc.do_exit(vns)
index 7bc247e20611273addb15c07426ca6fcaef7feb6..263892efb4f11e2dc02c5e808ff5a95232889358 100755 (executable)
@@ -46,6 +46,7 @@ all             clean, build-csr-csv, build-bitstream, load-bitstream.
     parser.add_argument("-p", "--platform", default=None, help="platform to build for")
     parser.add_argument("-Ot", "--target-option", default=[], nargs=2, action="append", help="set target-specific option")
     parser.add_argument("-Op", "--platform-option", default=[("programmer", "vivado")], nargs=2, action="append", help="set platform-specific option")
+    parser.add_argument("-Ob", "--build-option", default=[], nargs=2, action="append", help="set build option")
     parser.add_argument("--csr_csv", default="./test/csr.csv", help="CSV file to save the CSR map into")
 
     parser.add_argument("action", nargs="+", help="specify an action")
@@ -149,7 +150,8 @@ System Clk: {} MHz (min: {} MHz)
         v_output.write("build/litesata.v")
 
     if actions["build-bitstream"]:
-        vns = platform.build(soc, build_name=build_name, run=True)
+        build_kwargs = dict((k, autotype(v)) for k, v in args.build_option)
+        vns = platform.build(soc, build_name=build_name, **build_kwargs)
         if hasattr(soc, "do_exit") and vns is not None:
             if hasattr(soc.do_exit, '__call__'):
                 soc.do_exit(vns)
index 4a9cb5830d12cebc88d71b6e94353741cb0cd328..bc26b09c0f618a67a621c47abf5ed47e1fe346fe 100755 (executable)
@@ -46,6 +46,7 @@ all             clean, build-csr-csv, build-bitstream, load-bitstream.
     parser.add_argument("-p", "--platform", default=None, help="platform to build for")
     parser.add_argument("-Ot", "--target-option", default=[], nargs=2, action="append", help="set target-specific option")
     parser.add_argument("-Op", "--platform-option", default=[], nargs=2, action="append", help="set platform-specific option")
+    parser.add_argument("-Ob", "--build-option", default=[], nargs=2, action="append", help="set build option")
     parser.add_argument("--csr_csv", default="./test/csr.csv", help="CSV file to save the CSR map into")
 
     parser.add_argument("action", nargs="+", help="specify an action")
@@ -143,7 +144,8 @@ RLE: {}
         write_to_file(args.csr_csv, csr_csv)
 
     if actions["build-bitstream"]:
-        vns = platform.build(soc, build_name=build_name, run=True)
+        build_kwargs = dict((k, autotype(v)) for k, v in args.build_option)
+        vns = platform.build(soc, build_name=build_name, **build_kwargs)
         if hasattr(soc, "do_exit") and vns is not None:
             if hasattr(soc.do_exit, '__call__'):
                 soc.do_exit(vns)