def _run_quartus(build_name, quartus_path):
- build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\n"
+ build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_revision() + "\n"
build_script_contents += """
set -e
def _build_script(build_name, device, toolchain_path, ver=None):
if sys.platform in ("win32", "cygwin"):
script_ext = ".bat"
- build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
+ build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_revision() + "\n\n"
copy_stmt = "copy"
fail_stmt = " || exit /b"
else:
script_ext = ".sh"
- build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
+ build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_revision() + "\nset -e\n"
copy_stmt = "cp"
fail_stmt = ""
def _build_script(source, build_template, build_name, **kwargs):
if sys.platform in ("win32", "cygwin"):
script_ext = ".bat"
- build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
+ build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_revision() + "\n\n"
fail_stmt = " || exit /b"
else:
script_ext = ".sh"
- build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
+ build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_revision() + "\nset -e\n"
fail_stmt = ""
for s in build_template:
package, freq_constraint):
if sys.platform in ("win32", "cygwin"):
script_ext = ".bat"
- build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
+ build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_revision() + "\n\n"
fail_stmt = " || exit /b"
else:
script_ext = ".sh"
- build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
+ build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_revision() + "\nset -e\n"
fail_stmt = ""
for s in build_template:
def _build_script(build_name, device, toolchain_path, ver=None):
if sys.platform in ("win32", "cygwin"):
script_ext = ".bat"
- build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
+ build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_revision() + "\n\n"
copy_stmt = "copy"
fail_stmt = " || exit /b"
else:
script_ext = ".sh"
- build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\n"
+ build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_revision() + "\n"
copy_stmt = "cp"
fail_stmt = " || exit 1"
def cygpath(p):
return p
-def git_version():
- return subprocess.check_output(["git", "describe", "--always"]).strip().decode("utf-8")
+def git_revision():
+ return subprocess.check_output(["git", "rev-parse", "--short", "HEAD"]).strip().decode("utf-8")
source_cmd = "call "
script_ext = ".bat"
shell = ["cmd", "/c"]
- build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n"
+ build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_revision() + "\n"
fail_stmt = " || exit /b"
else:
source_cmd = "source "
script_ext = ".sh"
shell = ["bash"]
- build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
+ build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_revision() + "\nset -e\n"
fail_stmt = ""
if source:
settings = common.settings(ise_path, ver, "ISE_DS")
def _run_vivado(build_name, vivado_path, source, ver=None):
if sys.platform == "win32" or sys.platform == "cygwin":
- build_script_contents = "REM Autogenerated by LiteX / git: " + tools.git_version() + "\n"
+ build_script_contents = "REM Autogenerated by LiteX / git: " + tools.git_revision() + "\n"
build_script_contents += "vivado -mode batch -source " + build_name + ".tcl\n"
build_script_file = "build_" + build_name + ".bat"
tools.write_to_file(build_script_file, build_script_contents)
command = build_script_file
else:
- build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
+ build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_revision() + "\nset -e\n"
# Only source Vivado settings if not already in our $PATH
if not find_executable("vivado"):
# For backwards compatibility with ISE paths, also
from functools import partial
from operator import itemgetter
import collections
+import time
+import datetime
from migen.fhdl.structure import *
from migen.fhdl.structure import _Operator, _Slice, _Assign, _Fragment
from migen.fhdl.namer import build_namespace
from migen.fhdl.conv_output import ConvOutput
+from litex.build.tools import git_revision
+
_reserved_keywords = {
"always", "and", "assign", "automatic", "begin", "buf", "bufif0", "bufif1",
ns.clock_domains = f.clock_domains
r.ns = ns
- src = "/* Machine-generated using LiteX gen */\n"
+ src = "//" + "-"*60 + "\n"
+ src += "// Generated by Migen & LiteX / ".format(git_revision())
+ src += git_revision() + " / "
+ src += "{}\n".format(datetime.datetime.fromtimestamp(
+ time.time()).strftime("%Y-%m-%d %H:%M:%S"))
+ src += "//" + "-"*60 + "\n"
src += _printheader(f, ios, name, ns, attr_translate,
reg_initialization=reg_initialization)
if regular_comb: