diff --git a/.vscode/launch.json b/.vscode/launch.json index e8b90d56..eb74e4db 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "program": "${workspaceFolder}/apio_run.py", "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio boards", @@ -21,7 +21,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio build", @@ -33,7 +33,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio clean", @@ -45,7 +45,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio create", @@ -62,7 +62,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio drivers", @@ -75,7 +75,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio examples", @@ -88,7 +88,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio graph", @@ -101,7 +101,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio install", @@ -116,7 +116,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio lint", @@ -128,7 +128,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio modify", @@ -144,7 +144,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio packages", @@ -158,7 +158,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio raw", @@ -171,7 +171,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio report", @@ -183,7 +183,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio system", @@ -196,7 +196,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio time", @@ -208,7 +208,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio uninstall", @@ -221,7 +221,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio upload [alhambra-ii]", @@ -233,7 +233,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Apio upload [TinyFPGA-BX]", @@ -281,7 +281,7 @@ ], "console": "integratedTerminal", "justMyCode": false, - "cwd": "${workspaceFolder}/test-examples/Alhambra-II/02-jumping-LED" + "cwd": "${workspaceFolder}/test-examples/alhambra-ii/02-jumping-LED" }, { "name": "Attach remote", @@ -300,7 +300,7 @@ "module": "pytest", "args": [ "-s", - "test/commands/test_boards.py" + "test/commands/test_build.py::test_errors_without_apio_ini_1" ], "console": "integratedTerminal", "justMyCode": false, diff --git a/apio/apio_context.py b/apio/apio_context.py index 3a059eaa..40ac885a 100644 --- a/apio/apio_context.py +++ b/apio/apio_context.py @@ -16,7 +16,11 @@ import click from apio import util, env_options from apio.profile import Profile -from apio.managers.project import Project +from apio.managers.project import ( + Project, + ProjectResolver, + load_project_from_file, +) # ---------- RESOURCES @@ -156,12 +160,60 @@ def __init__( sorted(self.fpgas.items(), key=lambda t: t[0]) ) - # -- If requested, load the project's apio.ini + # -- Save the load_project request, mostly for debugging. + self.project_loading_requested = load_project + + # -- If requested, try to load the project's apio.ini. If apio.ini + # -- does not exist, the loading returns None. + self._project: Project = None if load_project: - self._project = Project(self.project_dir) - self._project.read() + resolver = _ProjectResolverImpl(self) + self._project = load_project_from_file(self.project_dir, resolver) + + def lookup_board_id( + self, board: str, *, warn: bool = True, strict: bool = True + ) -> str: + """Lookup and return the board's canonical board id which is its key + in boards.json(). 'board' can be the canonical id itself or a + legacy id of the board as defined in boards.json. The method prints + a warning if 'board' is a legacy board id that is mapped to its + canonical name and 'warn' is True. If the board is not found, the + method returns None if 'strict' is False or exit the program with a + message if 'strict' is True.""" + # -- If this fails, it's a programming error. + assert board is not None + + # -- The result. The board's key in boards.json. + canonical_id = None + + if board in self.boards: + # -- Here when board is already the canonical id. + canonical_id = board else: - self._project = None + # -- Look up for a board with 'board' as its legacy id. + for board_key, board_val in self.boards.items(): + if board == board_val.get("legacy_id", None): + canonical_id = board_key + break + + # -- Fatal error if unknown board. + if strict and canonical_id is None: + click.secho(f"Error: no such board '{board}'", fg="red") + click.secho( + "\nRun 'apio boards' for the list of board ids.", fg="yellow" + ) + sys.exit(1) + + # -- Warning if caller used a legacy board id. + if warn and canonical_id and board != canonical_id: + click.secho( + f"Warning: '{board}' board name was changed. " + f"Please use '{canonical_id}' instead.", + fg="yellow", + ) + + # -- Return the canonical board id. + return canonical_id @staticmethod def _check_no_spaces_in_dir(dir_path: Path, subject: str): @@ -186,13 +238,10 @@ def has_project_loaded(self): return self._project is not None @property - def project(self): - """Property to return the project after verification that it was - loaded. It's a programming error to call this method on a context - that was initialized with load_project = False.""" - assert ( - self.has_project_loaded - ), "ApioContext.project() called with no project loaded." + def project(self) -> Project: + """Return the project. It's None if project loading not requested or + project doesn't have apio.ini. + .""" return self._project def _load_resource(self, name: str, allow_custom: bool = False) -> dict: @@ -649,3 +698,16 @@ def _get_packages_dir(home_dir: Path) -> Path: # -- All done. return packages_dir + + +# pylint: disable=too-few-public-methods +class _ProjectResolverImpl(ProjectResolver): + def __init__(self, apio_context: ApioContext): + """When ApioContext instanciates this object, ApioContext is fully + constructed, except for the project field.""" + self._apio_context = apio_context + + # @override + def lookup_board_id(self, board: str) -> str: + """Implementation of lookup_board_id.""" + return self._apio_context.lookup_board_id(board) diff --git a/apio/commands/boards.py b/apio/commands/boards.py index 5d34bc2d..bfbedc30 100644 --- a/apio/commands/boards.py +++ b/apio/commands/boards.py @@ -67,7 +67,7 @@ def list_boards(apio_ctx: ApioContext): if config.terminal_mode(): # -- Board name with a bullet point and color board_str = click.style(board, fg="cyan") - item_board = f"• {board_str}" + item_board = f"{board_str}" # -- Item in one line one_line_item = f"{item_board} {item_fpga}" diff --git a/apio/commands/create.py b/apio/commands/create.py index 88d439ec..590ec625 100644 --- a/apio/commands/create.py +++ b/apio/commands/create.py @@ -10,7 +10,11 @@ import sys from pathlib import Path import click -from apio.managers.project import Project, DEFAULT_TOP_MODULE, PROJECT_FILENAME +from apio.managers.project import ( + DEFAULT_TOP_MODULE, + APIO_INI, + create_project_file, +) from apio import util from apio import cmd_util from apio.commands import options @@ -36,7 +40,7 @@ the command asks for permision to delete it. If --sayyes is specified, the file is deleted automatically. -[Note] this command creates just the '{PROJECT_FILENAME}' file +[Note] this command creates just the '{APIO_INI}' file rather than a full buildable project. Some users use instead the examples command to copy a working project for their board, and then modify it with with their design. @@ -80,12 +84,14 @@ def cli( project_dir = util.get_project_dir(project_dir) + # -- Map to canonical board id. This fails if the board is unknown. + board_id = apio_ctx.lookup_board_id(board) + # Create the apio.ini file - ok = Project.create_ini_file( + ok = create_project_file( apio_ctx.project_dir, - board, + board_id, top_module, - apio_ctx.boards, sayyes, ) diff --git a/apio/commands/fpgas.py b/apio/commands/fpgas.py index 181579ce..621223d8 100644 --- a/apio/commands/fpgas.py +++ b/apio/commands/fpgas.py @@ -51,7 +51,7 @@ def list_fpgas(apio_ctx: ApioContext): if config.terminal_mode(): # -- For terminal, print the FPGA name in color. fpga_str = click.style(f"{fpga:32}", fg="cyan") - item = f"• {fpga_str} {data_str}" + item = f"{fpga_str} {data_str}" click.secho(item) else: # -- For pipe, no colors and no bullet point. diff --git a/apio/commands/install.py b/apio/commands/install.py index 6a91aae6..9f7709f6 100644 --- a/apio/commands/install.py +++ b/apio/commands/install.py @@ -77,7 +77,7 @@ def _list_packages(apio_ctx: ApioContext, installed=True, notinstalled=True): version = package["version"] description = package["description"] - click.secho(f"• {name} {version}") + click.secho(f"{name} {version}") click.secho(f" {description}") click.secho(dline, fg="green") @@ -94,7 +94,7 @@ def _list_packages(apio_ctx: ApioContext, installed=True, notinstalled=True): for package in notinstalled_packages: click.secho(line) - name = click.style(f"• {package['name']}", fg="red") + name = click.style(f"{package['name']}", fg="red") description = package["description"] click.secho(f"{name} {description}") diff --git a/apio/commands/modify.py b/apio/commands/modify.py index 0d6363b5..0d1e59a1 100644 --- a/apio/commands/modify.py +++ b/apio/commands/modify.py @@ -11,7 +11,7 @@ from pathlib import Path from varname import nameof import click -from apio.managers.project import Project +from apio.managers.project import modify_project_file from apio import cmd_util from apio.commands import options from apio.apio_context import ApioContext @@ -53,12 +53,16 @@ def cli( # -- Create the apio context. apio_ctx = ApioContext(project_dir=project_dir, load_project=False) + # -- If board is not empty, map it to canonical board id. This + # -- fails if the board is unknown. + if board: + board = apio_ctx.lookup_board_id(board) + # Create the apio.ini file - ok = Project.modify_ini_file( + ok = modify_project_file( apio_ctx.project_dir, board, top_module, - apio_ctx.boards, ) exit_code = 0 if ok else 1 diff --git a/apio/managers/examples.py b/apio/managers/examples.py index f003fb98..c04ebe95 100644 --- a/apio/managers/examples.py +++ b/apio/managers/examples.py @@ -144,10 +144,10 @@ def list_examples(self) -> None: def copy_example_dir(self, example: str, project_dir: Path, sayno: bool): """Copy the example creating the folder - Ex. The example Alhambra-II/ledon --> the folder Alhambra-II/ledon + Ex. The example alhambra-ii/ledon --> the folder alhambra-ii/ledon is created * INPUTS: - * example: Example name (Ex. 'Alhambra-II/ledon') + * example: Example name (Ex. 'alhambra-ii/ledon') * project_dir: (optional) * sayno: Automatically answer no """ @@ -205,7 +205,7 @@ def copy_example_dir(self, example: str, project_dir: Path, sayno: bool): def copy_example_files(self, example: str, project_dir: Path, sayno: bool): """Copy the example files (not the initial folders) * INPUTS: - * example: Example name (Ex. 'Alhambra-II/ledon') + * example: Example name (Ex. 'alhambra-ii/ledon') * project_dir: (optional) * sayno: Automatically answer no """ @@ -239,7 +239,7 @@ def _copy_files( ): """Copy the example files to the destination folder * INPUTS: - * example: Name of the example (Ex. 'Alhambra-II/ledon') + * example: Name of the example (Ex. 'alhambra-ii/ledon') * src_path: Source folder to copy * dest_path: Destination folder """ @@ -304,7 +304,7 @@ def _copy_files( def _copy_dir(self, example: str, src_path: Path, dest_path: Path): """Copy example of the src_path on the dest_path * INPUT - * example: Name of the example (Ex. 'Alhambra-II/ledon') + * example: Name of the example (Ex. 'alhambra-ii/ledon') * src_path: Source folder to copy * dest_path: Destination folder """ diff --git a/apio/managers/project.py b/apio/managers/project.py index 8cf09462..44e0a43b 100644 --- a/apio/managers/project.py +++ b/apio/managers/project.py @@ -1,24 +1,25 @@ # -*- coding: utf-8 -*- # -- This file is part of the Apio project -# -- (C) 2016-2024 FPGAwars -# -- Authors -# -- * Jesús Arroyo (2016-2019) -# -- * Juan Gonzalez (obijuan) (2019-2024) +# -- (C) 2016-2018 FPGAwars +# -- Author Jesús Arroyo # -- Licence GPLv2 -"""Utilities for accesing the apio.ini projects""" +# -- Derived from: +# ---- Platformio project +# ---- (C) 2014-2016 Ivan Kravets +# ---- Licence Apache v2 +"""Utility functionality for apio click commands. """ import sys -from os.path import isfile -from pathlib import Path +from abc import ABC, abstractmethod + from configparser import ConfigParser -from typing import Dict -from typing import Optional +from pathlib import Path +from typing import Dict, Optional from configobj import ConfigObj import click -from apio import util # -- Apio projecto filename -PROJECT_FILENAME = "apio.ini" +APIO_INI = "apio.ini" DEFAULT_TOP_MODULE = "main" @@ -27,214 +28,211 @@ https://github.com/FPGAwars/apio/wiki/Project-configuration-file """ +# -- Set of options every valid project should have. +REQUIRED_OPTIONS = {"board"} -class Project: - """Class for managing apio projects""" +# -- Set of additional options a project may have. +OPTIONAL_OPTIONS = {"top-module"} - def __init__(self, project_dir: Optional[Path]): - """Avoid instantiating this object. Use the instance from - ApioContext when possible. - """ - self.project_dir = util.get_project_dir(project_dir) - self.board: str = None - self.top_module: str = None - - @staticmethod - def create_ini_file( - project_dir: Path, - board: str, - top_module: str, - boards: Dict, - sayyes: bool = False, - ) -> bool: - """Creates a new apio project file. Returns True if ok.""" - - # -- Construct the path - ini_path = project_dir / PROJECT_FILENAME - - # -- Verify that the board id is valid. - if board not in boards.keys(): - click.secho(f"Error: no such board '{board}'", fg="red") - return False - - # -- If the ini file already exists, ask if it's ok to delete. - if ini_path.is_file(): - - # -- Warn the user, unless the flag sayyes is active - if not sayyes: - click.secho( - f"Warning: {PROJECT_FILENAME} file already exists", - fg="yellow", - ) +# -- Set of all options a project may have. +ALL_OPTIONS = REQUIRED_OPTIONS | OPTIONAL_OPTIONS - # -- Ask for confirmation - replace = click.confirm("Do you want to replace it?") - # -- User say: NO! --> Abort - if not replace: - click.secho("Abort!", fg="red") - return False +# pylint: disable=too-few-public-methods +class ProjectResolver(ABC): + """An abstract class with services that are needed for project validation. + Generally speaking it provides a subset of the functionality of ApioContext + and we use it to avoid a cyclic import between Project and ApioContext. + """ - # -- Create the apio.ini from scratch. - click.secho(f"Creating {ini_path} file ...") - config = ConfigObj(str(ini_path)) - config.initial_comment = TOP_COMMENT.split("\n") - config["env"] = {} - config["env"]["board"] = board - config["env"]["top-module"] = top_module - config.write() - click.secho( - f"The file '{ini_path}' was created successfully.\n" - "Run the apio clean command for project consistency.", - fg="green", - ) - return True - - @staticmethod - def modify_ini_file( - project_dir: Path, - board: Optional[str], - top_module: Optional[str], - boards: Dict, - ) -> bool: - """Update the current ini file with the given optional parameters. - Returns True if ok.""" - - # -- construct the file path. - ini_path = project_dir / PROJECT_FILENAME - - # -- Verify that the board id is valid. - if board: - if board not in boards.keys(): + @abstractmethod + def lookup_board_id(self, board: str) -> str: + """Similar to ApioContext.lookup_board()""" + + +class Project: + """An instance of this class holds the information from the project's + apio.ini file. + """ + + def __init__(self, options: Dict[str, str], resolver: ProjectResolver): + """Construct with given {name, value} options dict. To validate the + option call validate().""" + self._options = options + self._validate(resolver) + + def __str__(self): + """For debugging.""" + lines = ["Project options:"] + for name, val in self._options.items(): + lines.append(f" {name} = {val}") + return "\n".join(lines) + + def _validate(self, resolver: ProjectResolver): + """Validates the options. Exists with an error message on any problem. + 'resolver' is an object that allows to validate the board id and + to set the board option to a new board id if a legacy one was + specified. + """ + + # -- Check that all the required options are present. + for option in REQUIRED_OPTIONS: + if option not in self._options: click.secho( - f"Error: no such board '{board}'.\n" - "Use 'apio boards -l' to list supported boards.", + f"Error: missing option '{option}' in {APIO_INI}.", fg="red", ) - return False + sys.exit(1) + + # -- Check that there are no unknown options. + supported_options = ALL_OPTIONS + for option in self._options: + if option not in supported_options: + click.secho( + f"Error: unknown project option '{option}'", fg="red" + ) + sys.exit(1) + + # -- Force 'board' to have the canonical id of the board. + # -- This exists with an error message if the board is unknown. + self._options["board"] = resolver.lookup_board_id( + self._options["board"] + ) + + def __getitem__(self, option: str) -> Optional[str]: + # -- If this fails, this is a programming error. + assert option in ALL_OPTIONS, f"Invalid project option: [{option}]" + + # -- Lookup with default + return self._options.get(option, None) - # -- Check if the apio.ini file exists - if not ini_path.is_file(): - click.secho( - f"Error: '{ini_path}' not found. You should create it first.\n" - "see 'apio create -h' for more details.", - fg="red", - ) - return False - # -- Read the current apio.ini file - config = ConfigObj(str(ini_path)) +def load_project_from_file( + project_dir: Path, resolver: ProjectResolver +) -> Project: + """Read project file from given project dir. Returns None if file + does not exists. Exits on any error. Otherwise creates adn + return an Project with the values. To validate the project object + call its validate() method.""" - # -- Set specified fields. - if board: - config["env"]["board"] = board + # -- Construct the apio.ini path. + file_path = project_dir / APIO_INI - if top_module: - config["env"]["top-module"] = top_module + # -- Currently, apio.ini is still optional so we just warn. + if not file_path.exists(): + click.secho(f"Info: Project has no {APIO_INI} file.", fg="yellow") + return None - # -- Write the apio ini file - config.write() + # -- Read and parse the file. + parser = ConfigParser() + parser.read(file_path) + # -- Should contain an [env] section. + if "env" not in parser.sections(): + click.secho(f"Error: {APIO_INI} has no [env] section.", fg="red") + sys.exit(1) + + # -- Should not contain any other section. + if len(parser.sections()) > 1: click.secho( - f"File '{ini_path}' was modified successfully.\n" - f"Run the apio clean command for project consistency.", - fg="green", + f"Error: {APIO_INI} should contain only an [env] section.", + fg="red", ) - return True + sys.exit(1) - def read(self): - """Read the project config file""" + # -- Collect the name/value pairs. + options = {} + for name, val in parser.items("env"): + options[name] = val - project_file = self.project_dir / PROJECT_FILENAME + # -- Construct the Project object. Its constructor validates the options. + return Project(options, resolver) - # -- If no project file found, just return - if not isfile(project_file): - click.secho( - f"Info: Project has no {PROJECT_FILENAME} file", fg="yellow" - ) - return - # pylint: disable=fixme - # TODO: Can we replace ConfigParser with ConfigObj for consistency? +def create_project_file( + project_dir: Path, + board_id: str, + top_module: str, + sayyes: bool = False, +) -> bool: + """Creates a new apio project file. Returns True if ok. + 'board_id' is assumed to be the canonical if of a supported board + (caller should validate)""" - # Load the project file. - config_parser = ConfigParser() - config_parser.read(project_file) + # -- Construct the path + ini_path = project_dir / APIO_INI - for section in config_parser.sections(): - if section != "env": - click.secho( - f"Project file {project_file} has an invalid " - "section named " - f"[{section}].", - fg="red", - ) - sys.exit(1) + # -- If the ini file already exists, ask if it's ok to delete. + if ini_path.is_file(): - if "env" not in config_parser.sections(): + # -- Warn the user, unless the flag sayyes is active + if not sayyes: click.secho( - f"Project file {project_file} does not have an " - "[env] section.", - fg="red", + f"Warning: {APIO_INI} file already exists", + fg="yellow", ) - sys.exit(1) - # Parse attributes in the env section. - parsed_attributes = set() - self.board = self._parse_board(config_parser, parsed_attributes) - self.top_module = self._parse_top_module( - config_parser, parsed_attributes + # -- Ask for confirmation + replace = click.confirm("Do you want to replace it?") + + # -- User say: NO! --> Abort + if not replace: + click.secho("Abort!", fg="red") + return False + + # -- Create the apio.ini from scratch. + click.secho(f"Creating {ini_path} file ...") + config = ConfigObj(str(ini_path)) + config.initial_comment = TOP_COMMENT.split("\n") + config["env"] = {} + config["env"]["board"] = board_id + config["env"]["top-module"] = top_module + config.write() + click.secho( + f"The file '{ini_path}' was created successfully.\n" + "Run the apio clean command for project consistency.", + fg="green", + ) + return True + + +def modify_project_file( + project_dir: Path, + board: Optional[str], + top_module: Optional[str], +) -> bool: + """Update the current ini file with the given optional parameters. + Returns True if ok. Board is assumed to be None or a canonical id of an + exiting board (caller should validate)""" + + # -- construct the file path. + ini_path = project_dir / APIO_INI + + # -- Check if the apio.ini file exists + if not ini_path.is_file(): + click.secho( + f"Error: '{ini_path}' not found. You should create it first.\n" + "see 'apio create -h' for more details.", + fg="red", ) + return False - # Verify that the project file (api.ini) doesn't contain additional - # (illegal) keys that where not parsed - for attribute in config_parser.options("env"): - if attribute not in parsed_attributes: - click.secho( - f"Project file {project_file} contains" - f" an unknown attribute '{attribute}'.", - fg="red", - ) - sys.exit(1) + # -- Read the current apio.ini file + config = ConfigObj(str(ini_path)) - @staticmethod - def _parse_board( - config_parser: ConfigParser, parsed_attributes: set[str] - ) -> str: - """Parse the configured board from the project - file parser and add the keys used - to parsed_attributes. - RETURN: - * A string with the name of the board - """ - parsed_attributes.add("board") - board = config_parser.get("env", "board", fallback=None) - if not board: - click.secho( - "Error: Missing required 'board' specification " - f"in {PROJECT_FILENAME}", - fg="red", - ) - sys.exit(1) - return board - - @staticmethod - def _parse_top_module( - config_parser: ConfigParser, parsed_attributes: set[str] - ) -> str: - """Read the configured top-module from the project file - parser and add the keys used - to parsed_attributes. - RETURN: - * A string with the name of the top-module - """ - parsed_attributes.add("top-module") - top_module = config_parser.get("env", "top-module", fallback=None) - if not top_module: - click.secho( - f"Warning: Missing 'top-module' specification in " - f"{PROJECT_FILENAME}, assuming 'main'", - fg="yellow", - ) - return DEFAULT_TOP_MODULE - return top_module + # -- Set specified fields. + if board: + config["env"]["board"] = board + + if top_module: + config["env"]["top-module"] = top_module + + # -- Write the apio ini file + config.write() + + click.secho( + f"File '{ini_path}' was modified successfully.\n" + f"Run the apio clean command for project consistency.", + fg="green", + ) + return True diff --git a/apio/managers/scons_args.py b/apio/managers/scons_args.py index 6c3ef4ee..b4ccdf66 100644 --- a/apio/managers/scons_args.py +++ b/apio/managers/scons_args.py @@ -195,10 +195,11 @@ def process_arguments( - arch: FPGA architecture ('ice40', 'ecp5'...) """ - # -- We expect that the apio context was created with project loading. + # -- We expect here only contexts at project scope. Currently apio.ini + # -- is still not required so apio_ctx.project can still be None. assert ( - apio_ctx.has_project_loaded - ), "process_args: apio context project is not loaded." + apio_ctx.project_loading_requested + ), "Apio context not at project scope." # -- Construct the args dictionary with all supported args. Most of the # -- args also have the name of their exported scons variable. @@ -231,7 +232,8 @@ def process_arguments( if seed_value: args[arg_name].set(seed_value) - # -- Keep a shortcut, for convinience. + # -- Keep a shortcut, for convinience. Note that project can be None + # -- if the project doesn't have a apio.ini file. project = apio_ctx.project # -- Board name given in the command line @@ -240,12 +242,12 @@ def process_arguments( # -- If there is a project file (apio.ini) the board # -- given by command line overrides it # -- (command line has the highest priority) - if project.board: + if project and project["board"]: # -- As the command line has more priority, and the board # -- given in args is different than the one in the project, # -- inform the user - if args[ARG_BOARD_ID].value != project.board: + if args[ARG_BOARD_ID].value != project["board"]: click.secho( "Info: ignoring board specification from apio.ini.", fg="yellow", @@ -254,8 +256,8 @@ def process_arguments( # -- Try getting the board id from the project else: # -- ...read it from the apio.ini file - if project.board: - args[ARG_BOARD_ID].set(project.board) + if project and project["board"]: + args[ARG_BOARD_ID].set(project["board"]) # update_arg(args, ARG_BOARD, project.board) @@ -315,18 +317,19 @@ def process_arguments( # -- If top-module not specified by the user, determine what value to use. if not args[ARG_TOP_MODULE].has_value: - if project.top_module: + if project and project["top-module"]: # -- If apio.ini has a top-module value use it. - args[ARG_TOP_MODULE].set(project.top_module) + args[ARG_TOP_MODULE].set(project["top-module"]) else: # -- Use the default top-level args[ARG_TOP_MODULE].set(DEFAULT_TOP_MODULE) click.secho( - f"Top-module is missing, assuming: `{DEFAULT_TOP_MODULE}`", - fg="blue", + "Warning: 'top-module' is not specified in apio.ini, " + f"assuming: '{DEFAULT_TOP_MODULE}'", + fg="yellow", ) # -- Set the platform id. diff --git a/apio/resources/boards.json b/apio/resources/boards.json index 540690e7..c37f26d1 100644 --- a/apio/resources/boards.json +++ b/apio/resources/boards.json @@ -1,13 +1,13 @@ { "pi-sicle": { - "name": "pi-sicle", + "description": "pi-sicle", "fpga": "iCE40-HX4K-TQ144", "programmer": { - "type": "pi-sicle_loader"} + "type": "pi-sicle_loader" + } }, - "icezum": { - "name": "IceZUM Alhambra", + "description": "IceZUM Alhambra", "fpga": "iCE40-HX1K-TQ144", "programmer": { "type": "iceprog" @@ -20,9 +20,8 @@ "desc": "IceZUM Alhambra.*" } }, - "icestick": { - "name": "iCEstick Evaluation Kit", + "description": "iCEstick Evaluation Kit", "fpga": "iCE40-HX1K-TQ144", "programmer": { "type": "iceprog" @@ -35,8 +34,8 @@ "desc": "(?:Dual RS232-HS)|(?:Lattice FTUSB Interface Cable)" } }, - "iceblink40-hx1k" : { - "name": "iCEblink40-HX1K", + "iceblink40-hx1k": { + "description": "iCEblink40-HX1K", "fpga": "iCE40-HX1K-VQ100", "programmer": { "type": "iCEburn" @@ -47,7 +46,7 @@ } }, "go-board": { - "name": "Nandland Go board", + "description": "Nandland Go board", "fpga": "iCE40-HX1K-VQ100", "programmer": { "type": "iceprog" @@ -60,8 +59,9 @@ "desc": "Dual RS232-HS" } }, - "iCE40-HX8K": { - "name": "iCE40-HX8K Breakout Board", + "ice40-hx8k": { + "legacy_id": "iCE40-HX8K", + "description": "iCE40-HX8K Breakout Board", "fpga": "iCE40-HX8K-CT256", "programmer": { "type": "iceprog" @@ -74,8 +74,9 @@ "desc": "(?:Dual RS232-HS)|(?:Lattice FTUSB Interface Cable)" } }, - "iCE40-HX8K-EVB": { - "name": "iCE40-HX8K-EVB Olimex", + "ice40-hx8k-evb": { + "legacy_id": "iCE40-HX8K-EVB", + "description": "iCE40-HX8K-EVB Olimex", "fpga": "iCE40-HX8K-CT256", "programmer": { "type": "iceprogduino" @@ -85,8 +86,9 @@ "pid": "8036" } }, - "iCE40-HX1K-EVB": { - "name": "iCE40-HX1K-EVB Olimex", + "ice40-hx1k-evb": { + "legacy_id": "iCE40-HX1K-EVB", + "description": "iCE40-HX1K-EVB Olimex", "fpga": "iCE40-HX1K-VQ100", "programmer": { "type": "iceprogduino" @@ -97,15 +99,16 @@ } }, "icoboard": { - "name": "icoBOARD 1.0", + "description": "icoBOARD 1.0", "fpga": "iCE40-HX8K-CT256", "programmer": { "type": "icoprog" }, "platform": "linux_armv7l" }, - "Cat-board": { - "name": "CAT Board", + "cat-board": { + "legacy_id": "Cat-board", + "description": "CAT Board", "fpga": "iCE40-HX8K-CT256", "programmer": { "type": "litterbox" @@ -113,7 +116,7 @@ "platform": "linux_armv7l" }, "kefir": { - "name": "Kéfir I iCE40-HX4K", + "description": "K\u00e9fir I iCE40-HX4K", "fpga": "iCE40-HX4K-TQ144", "programmer": { "type": "iceprog", @@ -128,7 +131,7 @@ } }, "blackice": { - "name": "BlackIce", + "description": "BlackIce", "fpga": "iCE40-HX4K-TQ144", "programmer": { "type": "blackiceprog" @@ -139,7 +142,7 @@ } }, "blackice-ii": { - "name": "BlackIce II", + "description": "BlackIce II", "fpga": "iCE40-HX4K-TQ144", "programmer": { "type": "blackiceprog" @@ -150,7 +153,7 @@ } }, "blackice-mx": { - "name": "BlackIce MX", + "description": "BlackIce MX", "fpga": "iCE40-HX4K-TQ144", "programmer": { "type": "blackiceprog" @@ -160,9 +163,8 @@ "pid": "5740" } }, - "icefun": { - "name": "iceFUN", + "description": "iceFUN", "fpga": "iCE40-HX8K-CB132", "programmer": { "type": "icefunprog" @@ -172,9 +174,9 @@ "pid": "ffee" } }, - - "iceWerx": { - "name": "iceWerx", + "icewerx": { + "legacy_id": "iceWerx", + "description": "iceWerx", "fpga": "iCE40-HX8K-CB132", "programmer": { "type": "icefunprog" @@ -184,9 +186,9 @@ "pid": "ffee" } }, - - "TinyFPGA-B2": { - "name": "TinyFPGA B2", + "tinyfpga-b2": { + "legacy_id": "TinyFPGA-B2", + "description": "TinyFPGA B2", "fpga": "iCE40-LP8K-CM81", "programmer": { "type": "tinyfpgab" @@ -196,8 +198,9 @@ "pid": "2100" } }, - "TinyFPGA-BX": { - "name": "TinyFPGA BX", + "tinyfpga-bx": { + "legacy_id": "TinyFPGA-BX", + "description": "TinyFPGA BX", "fpga": "iCE40-LP8K-CM81", "programmer": { "type": "tinyprog" @@ -211,7 +214,7 @@ } }, "alhambra-ii": { - "name": "Alhambra II", + "description": "Alhambra II", "fpga": "iCE40-HX4K-TQ144", "programmer": { "type": "iceprog" @@ -225,7 +228,7 @@ } }, "upduino": { - "name": "UPDuino v1.0", + "description": "UPDuino v1.0", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -239,7 +242,7 @@ } }, "upduino2": { - "name": "UPDuino v2.0", + "description": "UPDuino v2.0", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -253,7 +256,7 @@ } }, "upduino21": { - "name": "UPduino v2.1", + "description": "UPduino v2.1", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -267,7 +270,7 @@ } }, "upduino3": { - "name": "UPduino v3.0", + "description": "UPduino v3.0", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -280,8 +283,8 @@ "desc": "UPduino v3\\.0" } }, - "upduino31": { - "name": "UPduino v3.1", + "upduino31": { + "description": "UPduino v3.1", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -294,8 +297,9 @@ "desc": "UPduino v3\\.1" } }, - "iCEBreaker": { - "name": "iCEBreaker", + "icebreaker": { + "legacy_id": "iCEBreaker", + "description": "iCEBreaker", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -308,8 +312,9 @@ "desc": "(?:Dual RS232-HS)|(?:iCEBreaker.*)" } }, - "iCEBreaker-bitsy0": { - "name": "iCEBreaker bitsy", + "icebreaker-bitsy0": { + "legacy_id": "iCEBreaker-bitsy0", + "description": "iCEBreaker bitsy", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "dfu" @@ -322,8 +327,9 @@ "desc": "iCEBreaker bitsy v0.*" } }, - "iCEBreaker-bitsy1": { - "name": "iCEBreaker bitsy", + "icebreaker-bitsy1": { + "legacy_id": "iCEBreaker-bitsy1", + "description": "iCEBreaker bitsy", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "dfu" @@ -337,7 +343,7 @@ } }, "fpga101": { - "name": "FPGA 101 - Workshop Badge", + "description": "FPGA 101 - Workshop Badge", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -350,8 +356,9 @@ "desc": "Single RS232-HS" } }, - "iCE40-UP5K": { - "name": "iCE40 UltraPlus Breakout Board", + "ice40-up5k": { + "legacy_id": "iCE40-UP5K", + "description": "iCE40 UltraPlus Breakout Board", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -364,8 +371,9 @@ "desc": "(?:USB <-> Serial Converter)|(?:Lattice iCE40UP5K Breakout)" } }, - "iCE40-UL1K-Breakout": { - "name": "iCE40-UL1K UltraLite Breakout Board", + "ice40-ul1k-breakout": { + "legacy_id": "iCE40-UL1K-Breakout", + "description": "iCE40-UL1K UltraLite Breakout Board", "fpga": "iCE40-UL1K-CM36A", "programmer": { "type": "iceprog" @@ -378,8 +386,9 @@ "desc": "(?:Dual RS2232H)|(?:Lattice HW-USBN-2B)" } }, - "TinyFPGA-EX-rev1": { - "name": "TinyFPGA EX rev 1", + "tinyfpga-ex-rev1": { + "legacy_id": "TinyFPGA-EX-rev1", + "description": "TinyFPGA EX rev 1", "fpga": "ECP5-LFE5U-85F-CSFBGA285", "programmer": { "type": "tinyprog" @@ -392,8 +401,9 @@ "desc": "TinyFPGA EX" } }, - "TinyFPGA-EX-rev2": { - "name": "TinyFPGA EX rev 2", + "tinyfpga-ex-rev2": { + "legacy_id": "TinyFPGA-EX-rev2", + "description": "TinyFPGA EX rev 2", "fpga": "ECP5-LFE5UM5G-85F-CSFBGA285", "programmer": { "type": "tinyprog" @@ -407,7 +417,7 @@ } }, "ulx3s-12f": { - "name": "ULX3S", + "description": "ULX3S", "fpga": "ECP5-LFE5U-12F-CABGA381", "programmer": { "type": "fujprog" @@ -418,7 +428,7 @@ } }, "ulx3s-25f": { - "name": "ULX3S", + "description": "ULX3S", "fpga": "ECP5-LFE5U-25F-CABGA381", "programmer": { "type": "fujprog" @@ -429,7 +439,7 @@ } }, "ulx3s-45f": { - "name": "ULX3S", + "description": "ULX3S", "fpga": "ECP5-LFE5U-45F-CABGA381", "programmer": { "type": "fujprog" @@ -440,7 +450,7 @@ } }, "ulx3s-85f": { - "name": "ULX3S", + "description": "ULX3S", "fpga": "ECP5-LFE5U-85F-CABGA381", "programmer": { "type": "fujprog" @@ -451,7 +461,7 @@ } }, "orangecrab-r02-25f": { - "name": "OrangeCrab r0.2", + "description": "OrangeCrab r0.2", "fpga": "ECP5-LFE5U-25F-CSFBGA285", "programmer": { "type": "dfu" @@ -465,7 +475,7 @@ } }, "orangecrab-r02-85f": { - "name": "OrangeCrab r0.2", + "description": "OrangeCrab r0.2", "fpga": "ECP5-LFE5U-85F-CSFBGA285", "programmer": { "type": "dfu" @@ -478,8 +488,9 @@ "desc": "OrangeCrab r0.2 DFU bootloader" } }, - "Butterstick-r10-2g-85k": { - "name": "butterstick r1.0", + "butterstick-r10-2g-85k": { + "legacy_id": "Butterstick-r10-2g-85k", + "description": "butterstick r1.0", "fpga": "ECP5-LFE5UM5G-85F-CABGA381", "programmer": { "type": "dfu", @@ -493,22 +504,24 @@ "desc": "butterstick (dfu v1.1)" } }, - "Butterstick-r10-2g-85k_(FT2232H)": { - "name": "butterstick r1.0", + "butterstick-r10-2g-85k-ft2232h": { + "legacy_id": "Butterstick-r10-2g-85k_(FT2232H)", + "description": "butterstick r1.0", "fpga": "ECP5-LFE5UM5G-85F-CABGA381", "programmer": { "type": "openfpgaloader_ft2232" } }, - "Butterstick-r10-2g-85k_(FT232H)": { - "name": "butterstick r1.0", + "butterstick-r10-2g-85k-ft232h": { + "legacy_id": "Butterstick-r10-2g-85k_(FT232H)", + "description": "butterstick r1.0", "fpga": "ECP5-LFE5UM5G-85F-CABGA381", "programmer": { "type": "openfpgaloader_ft232" } }, "versa": { - "name": "ECP5 Versa", + "description": "ECP5 Versa", "fpga": "ECP5-LFE5UM-45F-CABGA381", "programmer": { "type": "iceprog" @@ -521,8 +534,9 @@ "desc": "(?:USB <-> Serial Converter)|(?:Lattice ECP5 Versa Board)" } }, - "Alchitry-Cu": { - "name": "Alchitry Cu Development Board", + "alchitry-cu": { + "legacy_id": "Alchitry-Cu", + "description": "Alchitry Cu Development Board", "fpga": "iCE40-HX8K-CB132", "programmer": { "type": "iceprog" @@ -536,7 +550,7 @@ } }, "fomu": { - "name": "Fomu", + "description": "Fomu", "fpga": "iCE40-UP5K-UWG30", "programmer": { "type": "dfu" @@ -550,7 +564,7 @@ } }, "arice1": { - "name": "ARiCE v1", + "description": "ARiCE v1", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -564,7 +578,7 @@ } }, "edu-ciaa-fpga": { - "name": "EDU-CIAA-FPGA", + "description": "EDU-CIAA-FPGA", "fpga": "iCE40-HX4K-TQ144", "programmer": { "type": "iceprog" @@ -577,8 +591,9 @@ "desc": "Dual RS232-HS" } }, - "iCESugar-nano": { - "name": "iCESugar-nano", + "icesugar-nano": { + "legacy_id": "iCESugar-nano", + "description": "iCESugar-nano", "fpga": "iCE40-LP1K-CM36", "programmer": { "type": "icesprog" @@ -588,8 +603,9 @@ "pid": "602b" } }, - "OK-iCE40Pro": { - "name": "OK-iCE40Pro", + "ok-ice40pro": { + "legacy_id": "OK-iCE40Pro", + "description": "OK-iCE40Pro", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "iceprog" @@ -603,7 +619,7 @@ } }, "pico-ice": { - "name": "pico-ice", + "description": "pico-ice", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "dfu", @@ -617,8 +633,9 @@ "desc": "DFU flash" } }, - "iCESugar_1_5": { - "name": "iCESugar v1.5", + "icesugar-1-5": { + "legacy_id": "iCESugar_1_5", + "description": "iCESugar v1.5", "fpga": "iCE40-UP5K-SG48", "programmer": { "type": "icesprog" @@ -628,8 +645,9 @@ "pid": "602b" } }, - "ODT_IcyBlue_Feather": { - "name": "ODT_IcyBlue_Feather", + "odt-icyblue-feather": { + "legacy_id": "ODT_IcyBlue_Feather", + "description": "ODT_IcyBlue_Feather", "fpga": "iCE40-U4K-SG48", "programmer": { "type": "icesprog" @@ -639,169 +657,193 @@ "pid": "6014" } }, - "ODT_RPGA_Feather": { - "name": "ODT_RPGA_Feather", + "odt-rpga-feather": { + "legacy_id": "ODT_RPGA_Feather", + "description": "ODT_RPGA_Feather", "fpga": "iCE40-U4K-SG48", "programmer": { "type": "mcu" } }, - "ColorLight-5A-75B-V61": { - "name": "ColorLight-5A-75B-V61", + "colorlight-5a-75b-v61": { + "legacy_id": "ColorLight-5A-75B-V61", + "description": "ColorLight-5A-75B-V61", "fpga": "ECP5-LFE5U-25F-CABGA381", "programmer": { "type": "openfpgaloader_ft2232" } }, - "ColorLight-5A-75B-V7": { - "name": "ColorLight-5A-75B-V7", + "colorlight-5a-75b-v7": { + "legacy_id": "ColorLight-5A-75B-V7", + "description": "ColorLight-5A-75B-V7", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_ft2232" } }, - "ColorLight-5A-75B-V8": { - "name": "ColorLight-5A-75B-V8", + "colorlight-5a-75b-v8": { + "legacy_id": "ColorLight-5A-75B-V8", + "description": "ColorLight-5A-75B-V8", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_ft2232" } }, - "ColorLight-5A-75E-V6": { - "name": "ColorLight-5A-75E-V6", + "colorlight-5a-75e-v6": { + "legacy_id": "ColorLight-5A-75E-V6", + "description": "ColorLight-5A-75E-V6", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_ft2232" } }, - "ColorLight-5A-75E-V71_(FT2232H)": { - "name": "ColorLight-5A-75E-V71", + "colorlight-5a-75e-v71-ft2232h": { + "legacy_id": "ColorLight-5A-75E-V71_(FT2232H)", + "description": "ColorLight-5A-75E-V71", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_ft2232" } }, - "ColorLight-5A-75E-V71_(FT232H)": { - "name": "ColorLight-5A-75E-V71", + "colorlight-5a-75e-v71-ft232h": { + "legacy_id": "ColorLight-5A-75E-V71_(FT232H)", + "description": "ColorLight-5A-75E-V71", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_ft232" } }, - "ColorLight-5A-75E-V71_(USB-Blaster)": { - "name": "ColorLight-5A-75E-V71", + "colorlight-5a-75e-v71-usb-blaster": { + "legacy_id": "ColorLight-5A-75E-V71_(USB-Blaster)", + "description": "ColorLight-5A-75E-V71", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_usb-blaster" } }, - "ColorLight-i5-v7.0_(FT2232H)": { - "name": "ColorLight-i5", + "colorlight-i5-v7-0-ft2232h": { + "legacy_id": "ColorLight-i5-v7.0_(FT2232H)", + "description": "ColorLight-i5", "fpga": "ECP5-LFE5U-25F-CABGA381", "programmer": { "type": "openfpgaloader_ft2232" } }, - "ColorLight-i5-v7.0_(FT232H)": { - "name": "ColorLight-i5", + "colorlight-i5-v7-0-ft232h": { + "legacy_id": "ColorLight-i5-v7.0_(FT232H)", + "description": "ColorLight-i5", "fpga": "ECP5-LFE5U-25F-CABGA381", "programmer": { "type": "openfpgaloader_ft232" } - }, - "ColorLight-i5-v7.0_(USB-Blaster)": { - "name": "ColorLight-i5", + }, + "colorlight-i5-v7-0-usb-blaster": { + "legacy_id": "ColorLight-i5-v7.0_(USB-Blaster)", + "description": "ColorLight-i5", "fpga": "ECP5-LFE5U-25F-CABGA381", "programmer": { "type": "openfpgaloader_usb-blaster" - } - }, - "iCESugar-Pro_(FT2232H)": { - "name": "ColorLight-i5", + } + }, + "icesugar-pro-ft2232h": { + "legacy_id": "iCESugar-Pro_(FT2232H)", + "description": "ColorLight-i5", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_ft2232" } }, - "iCESugar-Pro_(FT232H)": { - "name": "ColorLight-i5", + "icesugar-pro-ft232h": { + "legacy_id": "iCESugar-Pro_(FT232H)", + "description": "ColorLight-i5", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_ft232" } - }, - "iCESugar-Pro_(USB-Blaster)": { - "name": "ColorLight-i5", + }, + "icesugar-pro-usb-blaster": { + "legacy_id": "iCESugar-Pro_(USB-Blaster)", + "description": "ColorLight-i5", "fpga": "ECP5-LFE5U-25F-CABGA256", "programmer": { "type": "openfpgaloader_usb-blaster" - } - }, - "FleaFPGA-Ohm_(FT2232H)": { - "name": "FleaFPGA-Ohm_(FT2232H)", - "fpga": "ECP5-LFE5U-25F-CABGA381", - "programmer": { + } + }, + "fleafpga-ohm-ft2232h": { + "legacy_id": "FleaFPGA-Ohm_(FT2232H)", + "description": "FleaFPGA-Ohm_(FT2232H)", + "fpga": "ECP5-LFE5U-25F-CABGA381", + "programmer": { "type": "openfpgaloader_ft2232" } - }, - "FleaFPGA-Ohm_(FT232H)": { - "name": "FleaFPGA-Ohm_(FT232H)", - "fpga": "ECP5-LFE5U-25F-CABGA381", - "programmer": { + }, + "fleafpga-ohm-ft232h": { + "legacy_id": "FleaFPGA-Ohm_(FT232H)", + "description": "FleaFPGA-Ohm_(FT232H)", + "fpga": "ECP5-LFE5U-25F-CABGA381", + "programmer": { "type": "openfpgaloader_ft232" } - }, - "FleaFPGA-Ohm_(USB-Blaster)": { - "name": "FleaFPGA-Ohm_(USB-Blaster)", - "fpga": "ECP5-LFE5U-25F-CABGA381", - "programmer": { - "type": "openfpgaloader_usb-blaster" - } - }, - "ECP5-Mini-12": { - "name": "ECP5-Mini-12", - "fpga": "ECP5-LFE5U-12F-CABGA256", - "programmer": { - "type": "openfpgaloader_ft2232" - } - }, - "ECP5-Mini-25": { - "name": "ECP5-Mini-12", - "fpga": "ECP5-LFE5U-25F-CABGA256", - "programmer": { - "type": "openfpgaloader_ft2232" - } - }, - "ECP5-Evaluation-Board": { - "name": "ECP5-Evaluation-Board", - "fpga": "ECP5-LFE5UM5G-85F-CABGA381", - "programmer": { - "type": "openfpgaloader_ft2232" - } - }, - "ColorLight-i9-v7.2_(FT2232H)": { - "name": "ColorLight-i9", + }, + "fleafpga-ohm-usb-blaster": { + "legacy_id": "FleaFPGA-Ohm_(USB-Blaster)", + "description": "FleaFPGA-Ohm_(USB-Blaster)", + "fpga": "ECP5-LFE5U-25F-CABGA381", + "programmer": { + "type": "openfpgaloader_usb-blaster" + } + }, + "ecp5-mini-12": { + "legacy_id": "ECP5-Mini-12", + "description": "ECP5-Mini-12", + "fpga": "ECP5-LFE5U-12F-CABGA256", + "programmer": { + "type": "openfpgaloader_ft2232" + } + }, + "ecp5-mini-25": { + "legacy_id": "ECP5-Mini-25", + "description": "ECP5-Mini-12", + "fpga": "ECP5-LFE5U-25F-CABGA256", + "programmer": { + "type": "openfpgaloader_ft2232" + } + }, + "ecp5-evaluation-board": { + "legacy_id": "ECP5-Evaluation-Board", + "description": "ECP5-Evaluation-Board", + "fpga": "ECP5-LFE5UM5G-85F-CABGA381", + "programmer": { + "type": "openfpgaloader_ft2232" + } + }, + "colorlight-i9-v7-2-ft2232h": { + "legacy_id": "ColorLight-i9-v7.2_(FT2232H)", + "description": "ColorLight-i9", "fpga": "ECP5-LFE5U-45F-CABGA381", "programmer": { "type": "openfpgaloader_ft2232" } - }, - "ColorLight-i9-v7.2_(FT232H)": { - "name": "ColorLight-i9", + }, + "colorlight-i9-v7-2-ft232h": { + "legacy_id": "ColorLight-i9-v7.2_(FT232H)", + "description": "ColorLight-i9", "fpga": "ECP5-LFE5U-45F-CABGA381", "programmer": { "type": "openfpgaloader_ft232" } - }, - "ColorLight-i9-v7.2_(USB-Blaster)": { - "name": "ColorLight-i9", + }, + "colorlight-i9-v7-2-usb-blaster": { + "legacy_id": "ColorLight-i9-v7.2_(USB-Blaster)", + "description": "ColorLight-i9", "fpga": "ECP5-LFE5U-45F-CABGA381", "programmer": { "type": "openfpgaloader_usb-blaster" } }, - "ThetaMachines-ETH4K": { - "name": "Theta Machines ETH4K", + "thetamachines-eth4k": { + "legacy_id": "ThetaMachines-ETH4K", + "description": "Theta Machines ETH4K", "fpga": "iCE40-HX4K-TQ144", "programmer": { "type": "iceprog" @@ -814,8 +856,9 @@ "desc": "ETH4K" } }, - "Sipeed-Tang-Nano": { - "name":"Sipeed Tang Nano", + "sipeed-tang-nano": { + "legacy_id": "Sipeed-Tang-Nano", + "description": "Sipeed Tang Nano", "fpga": "GW1N-LV1QN48C6/I5", "programmer": { "type": "openfpgaloader_tangnano" @@ -825,8 +868,9 @@ "pid": "6010" } }, - "Sipeed-Tang-Nano-1k": { - "name":"Sipeed Tang Nano 1k", + "sipeed-tang-nano-1k": { + "legacy_id": "Sipeed-Tang-Nano-1k", + "description": "Sipeed Tang Nano 1k", "fpga": "GW1NZ-LV1QN48C6/I5", "programmer": { "type": "openfpgaloader_tangnano1k" @@ -836,8 +880,9 @@ "pid": "6010" } }, - "Sipeed-Tang-Nano-4k": { - "name":"Sipeed Tang Nano 4k", + "sipeed-tang-nano-4k": { + "legacy_id": "Sipeed-Tang-Nano-4k", + "description": "Sipeed Tang Nano 4k", "fpga": "GW1NSR-LV4CQN48PC7/I6", "programmer": { "type": "openfpgaloader_tangnano4k" @@ -847,8 +892,9 @@ "pid": "6010" } }, - "Sipeed-Tang-Nano-9k": { - "name":"Sipeed Tang Nano 9k", + "sipeed-tang-nano-9k": { + "legacy_id": "Sipeed-Tang-Nano-9k", + "description": "Sipeed Tang Nano 9k", "fpga": "GW1NR-LV9QN88PC6/I5", "programmer": { "type": "openfpgaloader_tangnano9k" @@ -858,8 +904,9 @@ "pid": "6010" } }, - "Sipeed-Tang-Nano-20k": { - "name":"Sipeed Tang Nano 20k", + "sipeed-tang-nano-20k": { + "legacy_id": "Sipeed-Tang-Nano-20k", + "description": "Sipeed Tang Nano 20k", "fpga": "GW2AR-LV18QN88C8/I7", "programmer": { "type": "openfpgaloader_tangnano20k" @@ -869,8 +916,9 @@ "pid": "6010" } }, - "Cynthion-r1.4": { - "name":"Cynthion r1.4", + "cynthion-r1-4": { + "legacy_id": "Cynthion-r1.4", + "description": "Cynthion r1.4", "fpga": "ECP5-LFE5U-12F-CABGA256", "programmer": { "type": "apollo" diff --git a/test-boards/Alhambra-II/test_leds.py b/test-boards/Alhambra-II/test_leds.py index a253a29a..8a0bccb3 100644 --- a/test-boards/Alhambra-II/test_leds.py +++ b/test-boards/Alhambra-II/test_leds.py @@ -1,5 +1,5 @@ """ -Testing the ledon example on the Alhambra-II board +Testing the ledon example on the alhambra-ii board """ import os @@ -30,7 +30,7 @@ cwd = Path.cwd() # -- Create the new path -ledon_dir = cwd / "test-examples" / "Alhambra-II" / "01-LEDs-buttons" +ledon_dir = cwd / "test-examples" / "alhambra-ii" / "01-LEDs-buttons" # -- Change to the new folder! os.chdir(ledon_dir) @@ -80,7 +80,7 @@ def test_ledon_verify(): def test_ledon_upload(): - """Test the apio upload. This requires a connected Alhambra-II board.""" + """Test the apio upload. This requires a connected alhambra-ii board.""" # ---------------------------- # -- Execute "apio upload" diff --git a/test-examples/ColorLight-5A-75B-V8/Blinky/apio.ini b/test-examples/ColorLight-5A-75B-V8/Blinky/apio.ini deleted file mode 100644 index 0a4a03e7..00000000 --- a/test-examples/ColorLight-5A-75B-V8/Blinky/apio.ini +++ /dev/null @@ -1,4 +0,0 @@ -[env] -board = ColorLight-5A-75B-V8 -top-module = Test - diff --git a/test-examples/ICE40-Breakout-Board/01-LEDs/apio.ini b/test-examples/ICE40-Breakout-Board/01-LEDs/apio.ini deleted file mode 100644 index c8942a76..00000000 --- a/test-examples/ICE40-Breakout-Board/01-LEDs/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCE40-HX8K - diff --git a/test-examples/ICE40-Breakout-Board/02-jumping-LED/apio.ini b/test-examples/ICE40-Breakout-Board/02-jumping-LED/apio.ini deleted file mode 100644 index c8942a76..00000000 --- a/test-examples/ICE40-Breakout-Board/02-jumping-LED/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCE40-HX8K - diff --git a/test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/apio.ini b/test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/apio.ini deleted file mode 100644 index c27c8af0..00000000 --- a/test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCE40-UP5K - diff --git a/test-examples/ICE40UP-Breakout-board/02-jumping-LED/apio.ini b/test-examples/ICE40UP-Breakout-board/02-jumping-LED/apio.ini deleted file mode 100644 index c27c8af0..00000000 --- a/test-examples/ICE40UP-Breakout-board/02-jumping-LED/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCE40-UP5K - diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/apio.ini b/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/apio.ini deleted file mode 100644 index c27c8af0..00000000 --- a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCE40-UP5K - diff --git a/test-examples/Icebreaker/01-LEDs-buttons/apio.ini b/test-examples/Icebreaker/01-LEDs-buttons/apio.ini deleted file mode 100644 index a90c98b0..00000000 --- a/test-examples/Icebreaker/01-LEDs-buttons/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCEBreaker - diff --git a/test-examples/Icebreaker/02-jumping-LED/apio.ini b/test-examples/Icebreaker/02-jumping-LED/apio.ini deleted file mode 100644 index a90c98b0..00000000 --- a/test-examples/Icebreaker/02-jumping-LED/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCEBreaker - diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/apio.ini b/test-examples/Icebreaker/03-riscv-stop-watch/apio.ini deleted file mode 100644 index a90c98b0..00000000 --- a/test-examples/Icebreaker/03-riscv-stop-watch/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCEBreaker - diff --git a/test-examples/Icesugar-1.5/01-LEDs-buttons/apio.ini b/test-examples/Icesugar-1.5/01-LEDs-buttons/apio.ini deleted file mode 100644 index c9818ee5..00000000 --- a/test-examples/Icesugar-1.5/01-LEDs-buttons/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCESugar_1_5 - diff --git a/test-examples/Icesugar-1.5/02-jumping-LED/apio.ini b/test-examples/Icesugar-1.5/02-jumping-LED/apio.ini deleted file mode 100644 index c9818ee5..00000000 --- a/test-examples/Icesugar-1.5/02-jumping-LED/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCESugar_1_5 - diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/apio.ini b/test-examples/Icesugar-1.5/03-riscv-stop-watch/apio.ini deleted file mode 100644 index c9818ee5..00000000 --- a/test-examples/Icesugar-1.5/03-riscv-stop-watch/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = iCESugar_1_5 - diff --git a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/apio.ini b/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/apio.ini deleted file mode 100644 index 638824c6..00000000 --- a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = ColorLight-5A-75B-V8 -top-module = main diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/apio.ini b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/apio.ini deleted file mode 100644 index 719bda62..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -top-module = main -board = Cynthion-r1.4 diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon.ice b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon.ice deleted file mode 100644 index 2ddb97c5..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon.ice +++ /dev/null @@ -1,124 +0,0 @@ -{ - "version": "1.2", - "package": { - "name": "", - "version": "", - "description": "", - "author": "", - "image": "" - }, - "design": { - "board": "Cynthion-r1.4", - "graph": { - "blocks": [ - { - "id": "5f9c1a21-fb87-42ea-a324-958725c7f903", - "type": "basic.output", - "data": { - "name": "LED", - "virtual": false, - "pins": [ - { - "index": "0", - "name": "led_0", - "value": "E13" - } - ] - }, - "position": { - "x": 584, - "y": 272 - } - }, - { - "id": "bdeadd18-fbf1-4eab-81bc-c1cf83b1dce1", - "type": "febcfed8636b8ee9a98750b96ed9e53a165dd4a8", - "position": { - "x": 376, - "y": 272 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "bdeadd18-fbf1-4eab-81bc-c1cf83b1dce1", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" - }, - "target": { - "block": "5f9c1a21-fb87-42ea-a324-958725c7f903", - "port": "in" - } - } - ] - } - }, - "dependencies": { - "febcfed8636b8ee9a98750b96ed9e53a165dd4a8": { - "package": { - "name": "bit-1", - "version": "0.2", - "description": "Constant bit 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2289.79%22%20height=%22185.093%22%20viewBox=%220%200%2084.179064%20173.52585%22%3E%3Cpath%20d=%22M7.702%2032.42L49.972%200l34.207%207.725-27.333%20116.736-26.607-6.01L51.26%2025.273%2020.023%2044.2z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M46.13%20117.28l21.355%2028.258-17.91%2021.368%206.198%205.513m-14.033-54.45l-12.4%2028.26-28.242%205.512%202.067%208.959%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 456, - "y": 120 - } - }, - { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Constant bit-1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } - }, - "position": { - "x": 168, - "y": 112 - }, - "size": { - "width": 248, - "height": 80 - } - } - ], - "wires": [ - { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" - }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" - } - } - ] - } - } - } - } -} \ No newline at end of file diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon_tb.gtkw b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon_tb.gtkw deleted file mode 100644 index 852b1e03..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon_tb.gtkw +++ /dev/null @@ -1,4 +0,0 @@ -[*] Code generated by Icestudio 0.12.1w202410070310202410070310 -[*] Mon, 07 Oct 2024 14:01:25 GMT - -main_tb.LED diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon_tb.v b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon_tb.v deleted file mode 100644 index 88deb15f..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/ledon_tb.v +++ /dev/null @@ -1,36 +0,0 @@ -// Code generated by Icestudio 0.12.1w202410070310202410070310 -// Mon, 07 Oct 2024 14:01:21 GMT - -// Testbench template - -`default_nettype none -`timescale 10 ns / 1 ns - - -module main_tb -; - - // Simulation time: 100ns (10 * 10ns) - parameter DURATION = 10; - - // Input/Output - wire LED; - - // Module instance - main MAIN ( - .v8bfc7f(LED) - ); - - initial begin - // Dump vars to the output .vcd file - $dumpvars(0, main_tb); - - // TODO: initialize the registers here - // e.g. value = 1; - // e.g. #2 value = 0; - - #(DURATION) $display("End of simulation"); - $finish; - end - -endmodule diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/main.pcf b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/main.pcf deleted file mode 100644 index 0aaef230..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/main.pcf +++ /dev/null @@ -1,4 +0,0 @@ -# Code generated by Icestudio 0.12.1w202410070310202410070310 -# Mon, 07 Oct 2024 14:01:15 GMT - -set_io v8bfc7f E13 diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/main.v b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/main.v deleted file mode 100644 index ce29a984..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/ledon/main.v +++ /dev/null @@ -1,41 +0,0 @@ -// Code generated by Icestudio 0.12.1w202410070310202410070310 -// Mon, 07 Oct 2024 14:01:06 GMT - -`default_nettype none - -//---- Top entity -module main ( - output v8bfc7f -); - wire w0; - assign v8bfc7f = w0; - vfebcfe vb9eb2f ( - .v9fb85f(w0) - ); -endmodule - -//---- Top entity -module vfebcfe ( - output v9fb85f -); - wire w0; - assign v9fb85f = w0; - vfebcfe_vb2eccd vb2eccd ( - .q(w0) - ); -endmodule - -//--------------------------------------------------- -//-- bit-1 -//-- - - - - - - - - - - - - - - - - - - - - - - - -- -//-- Constant bit 1 -//--------------------------------------------------- - -module vfebcfe_vb2eccd ( - output q -); - //-- Constant bit-1 - assign q = 1'b1; - - -endmodule diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/apio.ini b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/apio.ini deleted file mode 100644 index a0157d2f..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/apio.ini +++ /dev/null @@ -1,2 +0,0 @@ -[env] -board = Cynthion-r1.4 diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/main.pcf b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/main.pcf deleted file mode 100644 index 6c643dd5..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/main.pcf +++ /dev/null @@ -1,4 +0,0 @@ -# Code generated by Icestudio 0.12.1w202410070310202410070310 -# Mon, 07 Oct 2024 14:01:40 GMT - -set_io v8bfc7f E13 diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/main.v b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/main.v deleted file mode 100644 index 9b080e18..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/main.v +++ /dev/null @@ -1,41 +0,0 @@ -// Code generated by Icestudio 0.12.1w202410070310202410070310 -// Mon, 07 Oct 2024 14:01:34 GMT - -`default_nettype none - -//---- Top entity -module main ( - output v8bfc7f -); - wire w0; - assign v8bfc7f = w0; - vfebcfe vb9eb2f ( - .v9fb85f(w0) - ); -endmodule - -//---- Top entity -module vfebcfe ( - output v9fb85f -); - wire w0; - assign v9fb85f = w0; - vfebcfe_vb2eccd vb2eccd ( - .q(w0) - ); -endmodule - -//--------------------------------------------------- -//-- bit-1 -//-- - - - - - - - - - - - - - - - - - - - - - - - -- -//-- Constant bit 1 -//--------------------------------------------------- - -module vfebcfe_vb2eccd ( - output q -); - //-- Constant bit-1 - assign q = 1'b1; - - -endmodule diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff.ice b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff.ice deleted file mode 100644 index bbc03803..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff.ice +++ /dev/null @@ -1,124 +0,0 @@ -{ - "version": "1.2", - "package": { - "name": "", - "version": "", - "description": "", - "author": "", - "image": "" - }, - "design": { - "board": "alhambra-ii", - "graph": { - "blocks": [ - { - "id": "5f9c1a21-fb87-42ea-a324-958725c7f903", - "type": "basic.output", - "data": { - "name": "LED", - "virtual": false, - "pins": [ - { - "index": "0", - "name": "LED0", - "value": "45" - } - ] - }, - "position": { - "x": 968, - "y": 360 - } - }, - { - "id": "bdeadd18-fbf1-4eab-81bc-c1cf83b1dce1", - "type": "febcfed8636b8ee9a98750b96ed9e53a165dd4a8", - "position": { - "x": 760, - "y": 360 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "bdeadd18-fbf1-4eab-81bc-c1cf83b1dce1", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" - }, - "target": { - "block": "5f9c1a21-fb87-42ea-a324-958725c7f903", - "port": "in" - } - } - ] - } - }, - "dependencies": { - "febcfed8636b8ee9a98750b96ed9e53a165dd4a8": { - "package": { - "name": "bit-1", - "version": "0.2", - "description": "Constant bit 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2289.79%22%20height=%22185.093%22%20viewBox=%220%200%2084.179064%20173.52585%22%3E%3Cpath%20d=%22M7.702%2032.42L49.972%200l34.207%207.725-27.333%20116.736-26.607-6.01L51.26%2025.273%2020.023%2044.2z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M46.13%20117.28l21.355%2028.258-17.91%2021.368%206.198%205.513m-14.033-54.45l-12.4%2028.26-28.242%205.512%202.067%208.959%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 456, - "y": 120 - } - }, - { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Constant bit-1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } - }, - "position": { - "x": 168, - "y": 112 - }, - "size": { - "width": 248, - "height": 80 - } - } - ], - "wires": [ - { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" - }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" - } - } - ] - } - } - } - } -} \ No newline at end of file diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff_tb.gtkw b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff_tb.gtkw deleted file mode 100644 index 8357100f..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff_tb.gtkw +++ /dev/null @@ -1,4 +0,0 @@ -[*] Code generated by Icestudio 0.12.1w202410070310202410070310 -[*] Mon, 07 Oct 2024 14:01:51 GMT - -main_tb.LED diff --git a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff_tb.v b/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff_tb.v deleted file mode 100644 index 46a181dc..00000000 --- a/test-examples/TB/GreatScottGadgets-Cynthion/icestudio/tff/tff_tb.v +++ /dev/null @@ -1,36 +0,0 @@ -// Code generated by Icestudio 0.12.1w202410070310202410070310 -// Mon, 07 Oct 2024 14:01:45 GMT - -// Testbench template - -`default_nettype none -`timescale 10 ns / 1 ns - - -module main_tb -; - - // Simulation time: 100ns (10 * 10ns) - parameter DURATION = 10; - - // Input/Output - wire LED; - - // Module instance - main MAIN ( - .v8bfc7f(LED) - ); - - initial begin - // Dump vars to the output .vcd file - $dumpvars(0, main_tb); - - // TODO: initialize the registers here - // e.g. value = 1; - // e.g. #2 value = 0; - - #(DURATION) $display("End of simulation"); - $finish; - end - -endmodule diff --git a/test-examples/TB/Alhambra-II/icestudio/ledon/apio.ini b/test-examples/TB/alhambra-ii/icestudio/ledon/apio.ini similarity index 97% rename from test-examples/TB/Alhambra-II/icestudio/ledon/apio.ini rename to test-examples/TB/alhambra-ii/icestudio/ledon/apio.ini index 25c953d2..faaabf37 100644 --- a/test-examples/TB/Alhambra-II/icestudio/ledon/apio.ini +++ b/test-examples/TB/alhambra-ii/icestudio/ledon/apio.ini @@ -1,4 +1,3 @@ [env] board = alhambra-ii top-module = main - diff --git a/test-examples/TB/Alhambra-II/icestudio/ledon/ledon.ice b/test-examples/TB/alhambra-ii/icestudio/ledon/ledon.ice similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/ledon/ledon.ice rename to test-examples/TB/alhambra-ii/icestudio/ledon/ledon.ice diff --git a/test-examples/TB/Alhambra-II/icestudio/ledon/ledon_tb.gtkw b/test-examples/TB/alhambra-ii/icestudio/ledon/ledon_tb.gtkw similarity index 85% rename from test-examples/TB/Alhambra-II/icestudio/ledon/ledon_tb.gtkw rename to test-examples/TB/alhambra-ii/icestudio/ledon/ledon_tb.gtkw index 51d83052..dbec1818 100644 --- a/test-examples/TB/Alhambra-II/icestudio/ledon/ledon_tb.gtkw +++ b/test-examples/TB/alhambra-ii/icestudio/ledon/ledon_tb.gtkw @@ -2,10 +2,10 @@ [*] GTKWave Analyzer v3.4.0 (w)1999-2022 BSI [*] Wed Nov 20 22:19:57 2024 [*] -[dumpfile] "/Users/user/projects/apio_dev/repo/test-examples/TB/Alhambra-II/icestudio/ledon/_build/ledon_tb.vcd" +[dumpfile] "/Users/user/projects/apio_dev/repo/test-examples/TB/alhambra-ii/icestudio/ledon/_build/ledon_tb.vcd" [dumpfile_mtime] "Wed Nov 20 22:19:35 2024" [dumpfile_size] 580 -[savefile] "/Users/user/projects/apio_dev/repo/test-examples/TB/Alhambra-II/icestudio/ledon/ledon_tb.gtkw" +[savefile] "/Users/user/projects/apio_dev/repo/test-examples/TB/alhambra-ii/icestudio/ledon/ledon_tb.gtkw" [timestart] 0 [size] 1000 600 [pos] -1 -1 diff --git a/test-examples/TB/Alhambra-II/icestudio/ledon/ledon_tb.v b/test-examples/TB/alhambra-ii/icestudio/ledon/ledon_tb.v similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/ledon/ledon_tb.v rename to test-examples/TB/alhambra-ii/icestudio/ledon/ledon_tb.v diff --git a/test-examples/TB/Alhambra-II/icestudio/ledon/main.pcf b/test-examples/TB/alhambra-ii/icestudio/ledon/main.pcf similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/ledon/main.pcf rename to test-examples/TB/alhambra-ii/icestudio/ledon/main.pcf diff --git a/test-examples/TB/Alhambra-II/icestudio/ledon/main.v b/test-examples/TB/alhambra-ii/icestudio/ledon/main.v similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/ledon/main.v rename to test-examples/TB/alhambra-ii/icestudio/ledon/main.v diff --git a/test-examples/Alhambra-II/02-jumping-LED/apio.ini b/test-examples/TB/alhambra-ii/icestudio/tff/apio.ini similarity index 97% rename from test-examples/Alhambra-II/02-jumping-LED/apio.ini rename to test-examples/TB/alhambra-ii/icestudio/tff/apio.ini index 25c953d2..faaabf37 100644 --- a/test-examples/Alhambra-II/02-jumping-LED/apio.ini +++ b/test-examples/TB/alhambra-ii/icestudio/tff/apio.ini @@ -1,4 +1,3 @@ [env] board = alhambra-ii top-module = main - diff --git a/test-examples/TB/Alhambra-II/icestudio/tff/main.pcf b/test-examples/TB/alhambra-ii/icestudio/tff/main.pcf similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/tff/main.pcf rename to test-examples/TB/alhambra-ii/icestudio/tff/main.pcf diff --git a/test-examples/TB/Alhambra-II/icestudio/tff/main.v b/test-examples/TB/alhambra-ii/icestudio/tff/main.v similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/tff/main.v rename to test-examples/TB/alhambra-ii/icestudio/tff/main.v diff --git a/test-examples/TB/Alhambra-II/icestudio/tff/tff.ice b/test-examples/TB/alhambra-ii/icestudio/tff/tff.ice similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/tff/tff.ice rename to test-examples/TB/alhambra-ii/icestudio/tff/tff.ice diff --git a/test-examples/TB/Alhambra-II/icestudio/tff/tff_tb.gtkw b/test-examples/TB/alhambra-ii/icestudio/tff/tff_tb.gtkw similarity index 88% rename from test-examples/TB/Alhambra-II/icestudio/tff/tff_tb.gtkw rename to test-examples/TB/alhambra-ii/icestudio/tff/tff_tb.gtkw index e037b1ab..acbbda0c 100644 --- a/test-examples/TB/Alhambra-II/icestudio/tff/tff_tb.gtkw +++ b/test-examples/TB/alhambra-ii/icestudio/tff/tff_tb.gtkw @@ -2,10 +2,10 @@ [*] GTKWave Analyzer v3.3.103 (w)1999-2019 BSI [*] Thu Apr 28 09:24:55 2022 [*] -[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/TB/Alhambra-II/icestudio/tff/tff_tb.vcd" +[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/TB/alhambra-ii/icestudio/tff/tff_tb.vcd" [dumpfile_mtime] "Thu Apr 28 09:24:05 2022" [dumpfile_size] 1734 -[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/TB/Alhambra-II/icestudio/tff/tff_tb.gtkw" +[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/TB/alhambra-ii/icestudio/tff/tff_tb.gtkw" [timestart] 0 [size] 1860 1016 [pos] -89 -89 diff --git a/test-examples/TB/Alhambra-II/icestudio/tff/tff_tb.v b/test-examples/TB/alhambra-ii/icestudio/tff/tff_tb.v similarity index 100% rename from test-examples/TB/Alhambra-II/icestudio/tff/tff_tb.v rename to test-examples/TB/alhambra-ii/icestudio/tff/tff_tb.v diff --git a/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/apio.ini b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/apio.ini new file mode 100644 index 00000000..9a3d999c --- /dev/null +++ b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/apio.ini @@ -0,0 +1,3 @@ +[env] +board = colorlight-5a-75b-v8 +top-module = main diff --git a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/button.ice b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/button.ice similarity index 97% rename from test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/button.ice rename to test-examples/TB/colorlight-5a-75b-v8/icestudio/button/button.ice index 2ab6195c..8895a497 100644 --- a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/button.ice +++ b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/button.ice @@ -8,7 +8,7 @@ "image": "" }, "design": { - "board": "ColorLight-5A-75B-V8", + "board": "colorlight-5a-75b-v8", "graph": { "blocks": [ { diff --git a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main.lpf b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main.lpf similarity index 83% rename from test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main.lpf rename to test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main.lpf index 9f128821..b1fd8f7f 100644 --- a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main.lpf +++ b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main.lpf @@ -1,6 +1,6 @@ # Code generated by Icestudio 0.12 -# -- Board: ColorLight-5A-75B-V8 +# -- Board: colorlight-5a-75b-v8 LOCATE COMP "v60f428" SITE "T6"; IOBUF PORT "v60f428" PULLMODE=UP ; diff --git a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main.v b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main.v similarity index 100% rename from test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main.v rename to test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main.v diff --git a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main_tb.gtkw b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main_tb.gtkw similarity index 100% rename from test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main_tb.gtkw rename to test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main_tb.gtkw diff --git a/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main_tb.v b/test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main_tb.v similarity index 100% rename from test-examples/TB/ColorLight-5A-75B-V8/icestudio/button/main_tb.v rename to test-examples/TB/colorlight-5a-75b-v8/icestudio/button/main_tb.v diff --git a/test-examples/TinyFPGA-BX/02-jumping-LED/apio.ini b/test-examples/TinyFPGA-BX/02-jumping-LED/apio.ini deleted file mode 100644 index 7a392804..00000000 --- a/test-examples/TinyFPGA-BX/02-jumping-LED/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = TinyFPGA-BX - diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/apio.ini b/test-examples/TinyFPGA-BX/03-riscv-stop-watch/apio.ini deleted file mode 100644 index 7a392804..00000000 --- a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/apio.ini +++ /dev/null @@ -1,3 +0,0 @@ -[env] -board = TinyFPGA-BX - diff --git a/test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons.ice b/test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons.ice similarity index 99% rename from test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons.ice rename to test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons.ice index 3c2256c4..d7271566 100644 --- a/test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons.ice +++ b/test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons.ice @@ -344,7 +344,7 @@ "id": "65f463c9-91d8-4a92-aafa-fa050e5fc32b", "type": "basic.info", "data": { - "info": "# Alhambra-II: LEDs and Buttons test\n\nTesting the LEDs and buttons", + "info": "# alhambra-ii: LEDs and Buttons test\n\nTesting the LEDs and buttons", "readonly": true }, "position": { diff --git a/test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw b/test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw similarity index 69% rename from test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw rename to test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw index 38aab1b1..6fa35a05 100644 --- a/test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw +++ b/test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw @@ -2,10 +2,10 @@ [*] GTKWave Analyzer v3.3.103 (w)1999-2019 BSI [*] Thu Apr 28 10:19:00 2022 [*] -[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons_tb.vcd" +[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons_tb.vcd" [dumpfile_mtime] "Thu Apr 28 10:16:09 2022" [dumpfile_size] 10049 -[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw" +[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons_tb.gtkw" [timestart] 0 [size] 1000 600 [pos] 793 49 diff --git a/test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons_tb.v b/test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons_tb.v similarity index 100% rename from test-examples/Alhambra-II/01-LEDs-buttons/01-LEDs-buttons_tb.v rename to test-examples/alhambra-ii/01-LEDs-buttons/01-LEDs-buttons_tb.v diff --git a/test-examples/Alhambra-II/01-LEDs-buttons/apio.ini b/test-examples/alhambra-ii/01-LEDs-buttons/apio.ini similarity index 100% rename from test-examples/Alhambra-II/01-LEDs-buttons/apio.ini rename to test-examples/alhambra-ii/01-LEDs-buttons/apio.ini diff --git a/test-examples/Alhambra-II/01-LEDs-buttons/main.pcf b/test-examples/alhambra-ii/01-LEDs-buttons/main.pcf similarity index 100% rename from test-examples/Alhambra-II/01-LEDs-buttons/main.pcf rename to test-examples/alhambra-ii/01-LEDs-buttons/main.pcf diff --git a/test-examples/Alhambra-II/01-LEDs-buttons/main.v b/test-examples/alhambra-ii/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/Alhambra-II/01-LEDs-buttons/main.v rename to test-examples/alhambra-ii/01-LEDs-buttons/main.v diff --git a/test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED.ice b/test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED.ice rename to test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED_tb.gtkw b/test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED_tb.gtkw similarity index 74% rename from test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED_tb.gtkw rename to test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED_tb.gtkw index 9bebbc80..dd21b25f 100644 --- a/test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED_tb.gtkw +++ b/test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED_tb.gtkw @@ -2,10 +2,10 @@ [*] GTKWave Analyzer v3.3.103 (w)1999-2019 BSI [*] Thu Apr 28 10:41:03 2022 [*] -[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED_tb.vcd" +[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED_tb.vcd" [dumpfile_mtime] "Thu Apr 28 10:38:49 2022" [dumpfile_size] 739918 -[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED_tb.gtkw" +[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED_tb.gtkw" [timestart] 0 [size] 1860 1016 [pos] 60 27 diff --git a/test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED_tb.v b/test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED_tb.v similarity index 100% rename from test-examples/Alhambra-II/02-jumping-LED/02-jumping-LED_tb.v rename to test-examples/alhambra-ii/02-jumping-LED/02-jumping-LED_tb.v diff --git a/test-examples/TB/Alhambra-II/icestudio/tff/apio.ini b/test-examples/alhambra-ii/02-jumping-LED/apio.ini similarity index 59% rename from test-examples/TB/Alhambra-II/icestudio/tff/apio.ini rename to test-examples/alhambra-ii/02-jumping-LED/apio.ini index d9736f52..faaabf37 100644 --- a/test-examples/TB/Alhambra-II/icestudio/tff/apio.ini +++ b/test-examples/alhambra-ii/02-jumping-LED/apio.ini @@ -1,3 +1,3 @@ [env] board = alhambra-ii - +top-module = main diff --git a/test-examples/Alhambra-II/02-jumping-LED/main.pcf b/test-examples/alhambra-ii/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/Alhambra-II/02-jumping-LED/main.pcf rename to test-examples/alhambra-ii/02-jumping-LED/main.pcf diff --git a/test-examples/Alhambra-II/02-jumping-LED/main.v b/test-examples/alhambra-ii/02-jumping-LED/main.v similarity index 100% rename from test-examples/Alhambra-II/02-jumping-LED/main.v rename to test-examples/alhambra-ii/02-jumping-LED/main.v diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch.ice b/test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch.ice similarity index 99% rename from test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch.ice rename to test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch.ice index 3c3c458b..941bb4a4 100644 --- a/test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch.ice +++ b/test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch.ice @@ -142,7 +142,7 @@ "id": "548537d2-05af-4772-8269-4a4a038e8fd5", "type": "basic.info", "data": { - "info": "## Alhambra-II: RISC-V stopwatch on LEDs", + "info": "## alhambra-ii: RISC-V stopwatch on LEDs", "readonly": true }, "position": { diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw b/test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw similarity index 75% rename from test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw rename to test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw index d2691127..c4eb57ad 100644 --- a/test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw +++ b/test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw @@ -2,10 +2,10 @@ [*] GTKWave Analyzer v3.3.103 (w)1999-2019 BSI [*] Thu Apr 28 10:51:01 2022 [*] -[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch_tb.vcd" +[dumpfile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch_tb.vcd" [dumpfile_mtime] "Thu Apr 28 10:47:25 2022" [dumpfile_size] 264544 -[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw" +[savefile] "/home/obijuan/Develop/FPGAwars/apio/test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch_tb.gtkw" [timestart] 0 [size] 1920 1043 [pos] 1771 -116 diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch_tb.v b/test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch_tb.v similarity index 100% rename from test-examples/Alhambra-II/03-riscv-stop-watch/03-riscv-stop-watch_tb.v rename to test-examples/alhambra-ii/03-riscv-stop-watch/03-riscv-stop-watch_tb.v diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/apio.ini b/test-examples/alhambra-ii/03-riscv-stop-watch/apio.ini similarity index 59% rename from test-examples/Alhambra-II/03-riscv-stop-watch/apio.ini rename to test-examples/alhambra-ii/03-riscv-stop-watch/apio.ini index d9736f52..faaabf37 100644 --- a/test-examples/Alhambra-II/03-riscv-stop-watch/apio.ini +++ b/test-examples/alhambra-ii/03-riscv-stop-watch/apio.ini @@ -1,3 +1,3 @@ [env] board = alhambra-ii - +top-module = main diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/main.pcf b/test-examples/alhambra-ii/03-riscv-stop-watch/main.pcf similarity index 100% rename from test-examples/Alhambra-II/03-riscv-stop-watch/main.pcf rename to test-examples/alhambra-ii/03-riscv-stop-watch/main.pcf diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/main.v b/test-examples/alhambra-ii/03-riscv-stop-watch/main.v similarity index 100% rename from test-examples/Alhambra-II/03-riscv-stop-watch/main.v rename to test-examples/alhambra-ii/03-riscv-stop-watch/main.v diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/v5a4ee6.list b/test-examples/alhambra-ii/03-riscv-stop-watch/v5a4ee6.list similarity index 100% rename from test-examples/Alhambra-II/03-riscv-stop-watch/v5a4ee6.list rename to test-examples/alhambra-ii/03-riscv-stop-watch/v5a4ee6.list diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/v771499.list b/test-examples/alhambra-ii/03-riscv-stop-watch/v771499.list similarity index 100% rename from test-examples/Alhambra-II/03-riscv-stop-watch/v771499.list rename to test-examples/alhambra-ii/03-riscv-stop-watch/v771499.list diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/v9298ae.list b/test-examples/alhambra-ii/03-riscv-stop-watch/v9298ae.list similarity index 100% rename from test-examples/Alhambra-II/03-riscv-stop-watch/v9298ae.list rename to test-examples/alhambra-ii/03-riscv-stop-watch/v9298ae.list diff --git a/test-examples/Alhambra-II/03-riscv-stop-watch/vba98fe.list b/test-examples/alhambra-ii/03-riscv-stop-watch/vba98fe.list similarity index 100% rename from test-examples/Alhambra-II/03-riscv-stop-watch/vba98fe.list rename to test-examples/alhambra-ii/03-riscv-stop-watch/vba98fe.list diff --git a/test-examples/BlackIce/01-LEDs-buttons/01-LEDs-buttons.ice b/test-examples/blackice/01-LEDs-buttons/01-LEDs-buttons.ice similarity index 100% rename from test-examples/BlackIce/01-LEDs-buttons/01-LEDs-buttons.ice rename to test-examples/blackice/01-LEDs-buttons/01-LEDs-buttons.ice diff --git a/test-examples/BlackIce/01-LEDs-buttons/apio.ini b/test-examples/blackice/01-LEDs-buttons/apio.ini similarity index 100% rename from test-examples/BlackIce/01-LEDs-buttons/apio.ini rename to test-examples/blackice/01-LEDs-buttons/apio.ini diff --git a/test-examples/BlackIce/01-LEDs-buttons/main.pcf b/test-examples/blackice/01-LEDs-buttons/main.pcf similarity index 100% rename from test-examples/BlackIce/01-LEDs-buttons/main.pcf rename to test-examples/blackice/01-LEDs-buttons/main.pcf diff --git a/test-examples/BlackIce/01-LEDs-buttons/main.v b/test-examples/blackice/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/BlackIce/01-LEDs-buttons/main.v rename to test-examples/blackice/01-LEDs-buttons/main.v diff --git a/test-examples/BlackIce/02-jumping-LED/02-jumping-LED.ice b/test-examples/blackice/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/BlackIce/02-jumping-LED/02-jumping-LED.ice rename to test-examples/blackice/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/BlackIce/02-jumping-LED/apio.ini b/test-examples/blackice/02-jumping-LED/apio.ini similarity index 56% rename from test-examples/BlackIce/02-jumping-LED/apio.ini rename to test-examples/blackice/02-jumping-LED/apio.ini index 07de4269..0bc72578 100644 --- a/test-examples/BlackIce/02-jumping-LED/apio.ini +++ b/test-examples/blackice/02-jumping-LED/apio.ini @@ -1,3 +1,3 @@ [env] board = blackice - +top-module = main diff --git a/test-examples/BlackIce/02-jumping-LED/main.pcf b/test-examples/blackice/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/BlackIce/02-jumping-LED/main.pcf rename to test-examples/blackice/02-jumping-LED/main.pcf diff --git a/test-examples/BlackIce/02-jumping-LED/main.v b/test-examples/blackice/02-jumping-LED/main.v similarity index 100% rename from test-examples/BlackIce/02-jumping-LED/main.v rename to test-examples/blackice/02-jumping-LED/main.v diff --git a/test-examples/ColorLight-5A-75B-V8/Blinky/Blinky.v b/test-examples/colorlight-5a-75b-v8/Blinky/Blinky.v similarity index 100% rename from test-examples/ColorLight-5A-75B-V8/Blinky/Blinky.v rename to test-examples/colorlight-5a-75b-v8/Blinky/Blinky.v diff --git a/test-examples/colorlight-5a-75b-v8/Blinky/apio.ini b/test-examples/colorlight-5a-75b-v8/Blinky/apio.ini new file mode 100644 index 00000000..5280f16b --- /dev/null +++ b/test-examples/colorlight-5a-75b-v8/Blinky/apio.ini @@ -0,0 +1,4 @@ +[env] +board = colorlight-5a-75b-v8 +top-module = Test + diff --git a/test-examples/ColorLight-5A-75B-V8/Blinky/info b/test-examples/colorlight-5a-75b-v8/Blinky/info similarity index 100% rename from test-examples/ColorLight-5A-75B-V8/Blinky/info rename to test-examples/colorlight-5a-75b-v8/Blinky/info diff --git a/test-examples/ColorLight-5A-75B-V8/Blinky/pinout.lpf b/test-examples/colorlight-5a-75b-v8/Blinky/pinout.lpf similarity index 81% rename from test-examples/ColorLight-5A-75B-V8/Blinky/pinout.lpf rename to test-examples/colorlight-5a-75b-v8/Blinky/pinout.lpf index daeba267..14830ad7 100644 --- a/test-examples/ColorLight-5A-75B-V8/Blinky/pinout.lpf +++ b/test-examples/colorlight-5a-75b-v8/Blinky/pinout.lpf @@ -1,4 +1,4 @@ -# -- Board: ColorLight-5A-75E-V71_(FT2232H) +# -- Board: colorlight-5a-75e-v71-FT2232H # -- CLK LOCATE COMP "CLK" SITE "P6"; diff --git a/test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/01-LEDs-buttons.ice b/test-examples/cynthion-r1-4/01-LEDs-buttons/01-LEDs-buttons.ice similarity index 100% rename from test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/01-LEDs-buttons.ice rename to test-examples/cynthion-r1-4/01-LEDs-buttons/01-LEDs-buttons.ice diff --git a/test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/apio.ini b/test-examples/cynthion-r1-4/01-LEDs-buttons/apio.ini similarity index 52% rename from test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/apio.ini rename to test-examples/cynthion-r1-4/01-LEDs-buttons/apio.ini index 729762ae..5e42bd75 100644 --- a/test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/apio.ini +++ b/test-examples/cynthion-r1-4/01-LEDs-buttons/apio.ini @@ -1,3 +1,3 @@ [env] -board = Cynthion-r1.4 +board = cynthion-r1-4 top-module = main diff --git a/test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/main.lpf b/test-examples/cynthion-r1-4/01-LEDs-buttons/main.lpf similarity index 100% rename from test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/main.lpf rename to test-examples/cynthion-r1-4/01-LEDs-buttons/main.lpf diff --git a/test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/main.v b/test-examples/cynthion-r1-4/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/GreatScottGadgets-Cynthion/01-LEDs-buttons/main.v rename to test-examples/cynthion-r1-4/01-LEDs-buttons/main.v diff --git a/test-examples/fomu/01-LEDs-buttons/apio.ini b/test-examples/fomu/01-LEDs-buttons/apio.ini index 9122406d..f70ff85f 100644 --- a/test-examples/fomu/01-LEDs-buttons/apio.ini +++ b/test-examples/fomu/01-LEDs-buttons/apio.ini @@ -1,3 +1,3 @@ [env] board = fomu - +top-module = main diff --git a/test-examples/fomu/02-jumping-LED/apio.ini b/test-examples/fomu/02-jumping-LED/apio.ini index 9122406d..f70ff85f 100644 --- a/test-examples/fomu/02-jumping-LED/apio.ini +++ b/test-examples/fomu/02-jumping-LED/apio.ini @@ -1,3 +1,3 @@ [env] board = fomu - +top-module = main diff --git a/test-examples/Nandland-Go-Board/01-LEDs-buttons/apio.ini b/test-examples/go-board/01-LEDs-buttons/apio.ini similarity index 56% rename from test-examples/Nandland-Go-Board/01-LEDs-buttons/apio.ini rename to test-examples/go-board/01-LEDs-buttons/apio.ini index d0303b7f..cf676a52 100644 --- a/test-examples/Nandland-Go-Board/01-LEDs-buttons/apio.ini +++ b/test-examples/go-board/01-LEDs-buttons/apio.ini @@ -1,3 +1,3 @@ [env] board = go-board - +top-module = main diff --git a/test-examples/Nandland-Go-Board/01-LEDs-buttons/main.pcf b/test-examples/go-board/01-LEDs-buttons/main.pcf similarity index 100% rename from test-examples/Nandland-Go-Board/01-LEDs-buttons/main.pcf rename to test-examples/go-board/01-LEDs-buttons/main.pcf diff --git a/test-examples/Nandland-Go-Board/01-LEDs-buttons/main.v b/test-examples/go-board/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/Nandland-Go-Board/01-LEDs-buttons/main.v rename to test-examples/go-board/01-LEDs-buttons/main.v diff --git a/test-examples/Nandland-Go-Board/02-jumping-LED/apio.ini b/test-examples/go-board/02-jumping-LED/apio.ini similarity index 56% rename from test-examples/Nandland-Go-Board/02-jumping-LED/apio.ini rename to test-examples/go-board/02-jumping-LED/apio.ini index d0303b7f..cf676a52 100644 --- a/test-examples/Nandland-Go-Board/02-jumping-LED/apio.ini +++ b/test-examples/go-board/02-jumping-LED/apio.ini @@ -1,3 +1,3 @@ [env] board = go-board - +top-module = main diff --git a/test-examples/Nandland-Go-Board/02-jumping-LED/main.pcf b/test-examples/go-board/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/Nandland-Go-Board/02-jumping-LED/main.pcf rename to test-examples/go-board/02-jumping-LED/main.pcf diff --git a/test-examples/Nandland-Go-Board/02-jumping-LED/main.v b/test-examples/go-board/02-jumping-LED/main.v similarity index 100% rename from test-examples/Nandland-Go-Board/02-jumping-LED/main.v rename to test-examples/go-board/02-jumping-LED/main.v diff --git a/test-examples/ICE40-Breakout-Board/01-LEDs/01-LEDs.ice b/test-examples/ice40-hx8k/01-LEDs/01-LEDs.ice similarity index 100% rename from test-examples/ICE40-Breakout-Board/01-LEDs/01-LEDs.ice rename to test-examples/ice40-hx8k/01-LEDs/01-LEDs.ice diff --git a/test-examples/TinyFPGA-BX/01-LED-ON/apio.ini b/test-examples/ice40-hx8k/01-LEDs/apio.ini similarity index 53% rename from test-examples/TinyFPGA-BX/01-LED-ON/apio.ini rename to test-examples/ice40-hx8k/01-LEDs/apio.ini index 6bdeb553..f06046a0 100644 --- a/test-examples/TinyFPGA-BX/01-LED-ON/apio.ini +++ b/test-examples/ice40-hx8k/01-LEDs/apio.ini @@ -1,4 +1,3 @@ [env] -board = TinyFPGA-BX +board = ice40-hx8k top-module = main - diff --git a/test-examples/ICE40-Breakout-Board/01-LEDs/main.pcf b/test-examples/ice40-hx8k/01-LEDs/main.pcf similarity index 100% rename from test-examples/ICE40-Breakout-Board/01-LEDs/main.pcf rename to test-examples/ice40-hx8k/01-LEDs/main.pcf diff --git a/test-examples/ICE40-Breakout-Board/01-LEDs/main.v b/test-examples/ice40-hx8k/01-LEDs/main.v similarity index 100% rename from test-examples/ICE40-Breakout-Board/01-LEDs/main.v rename to test-examples/ice40-hx8k/01-LEDs/main.v diff --git a/test-examples/ICE40-Breakout-Board/02-jumping-LED/02-jumping-LED.ice b/test-examples/ice40-hx8k/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/ICE40-Breakout-Board/02-jumping-LED/02-jumping-LED.ice rename to test-examples/ice40-hx8k/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/ice40-hx8k/02-jumping-LED/apio.ini b/test-examples/ice40-hx8k/02-jumping-LED/apio.ini new file mode 100644 index 00000000..f06046a0 --- /dev/null +++ b/test-examples/ice40-hx8k/02-jumping-LED/apio.ini @@ -0,0 +1,3 @@ +[env] +board = ice40-hx8k +top-module = main diff --git a/test-examples/ICE40-Breakout-Board/02-jumping-LED/main.pcf b/test-examples/ice40-hx8k/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/ICE40-Breakout-Board/02-jumping-LED/main.pcf rename to test-examples/ice40-hx8k/02-jumping-LED/main.pcf diff --git a/test-examples/ICE40-Breakout-Board/02-jumping-LED/main.v b/test-examples/ice40-hx8k/02-jumping-LED/main.v similarity index 100% rename from test-examples/ICE40-Breakout-Board/02-jumping-LED/main.v rename to test-examples/ice40-hx8k/02-jumping-LED/main.v diff --git a/test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/01-LEDs-buttons.ice b/test-examples/ice40-up5k/01-LEDs-buttons/01-LEDs-buttons.ice similarity index 100% rename from test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/01-LEDs-buttons.ice rename to test-examples/ice40-up5k/01-LEDs-buttons/01-LEDs-buttons.ice diff --git a/test-examples/ice40-up5k/01-LEDs-buttons/apio.ini b/test-examples/ice40-up5k/01-LEDs-buttons/apio.ini new file mode 100644 index 00000000..05720678 --- /dev/null +++ b/test-examples/ice40-up5k/01-LEDs-buttons/apio.ini @@ -0,0 +1,3 @@ +[env] +board = ice40-up5k +top-module = main diff --git a/test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/main.pcf b/test-examples/ice40-up5k/01-LEDs-buttons/main.pcf similarity index 100% rename from test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/main.pcf rename to test-examples/ice40-up5k/01-LEDs-buttons/main.pcf diff --git a/test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/main.v b/test-examples/ice40-up5k/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/ICE40UP-Breakout-board/01-LEDs-buttons/main.v rename to test-examples/ice40-up5k/01-LEDs-buttons/main.v diff --git a/test-examples/ICE40UP-Breakout-board/02-jumping-LED/02-jumping-LED.ice b/test-examples/ice40-up5k/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/ICE40UP-Breakout-board/02-jumping-LED/02-jumping-LED.ice rename to test-examples/ice40-up5k/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/ice40-up5k/02-jumping-LED/apio.ini b/test-examples/ice40-up5k/02-jumping-LED/apio.ini new file mode 100644 index 00000000..05720678 --- /dev/null +++ b/test-examples/ice40-up5k/02-jumping-LED/apio.ini @@ -0,0 +1,3 @@ +[env] +board = ice40-up5k +top-module = main diff --git a/test-examples/ICE40UP-Breakout-board/02-jumping-LED/main.pcf b/test-examples/ice40-up5k/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/ICE40UP-Breakout-board/02-jumping-LED/main.pcf rename to test-examples/ice40-up5k/02-jumping-LED/main.pcf diff --git a/test-examples/ICE40UP-Breakout-board/02-jumping-LED/main.v b/test-examples/ice40-up5k/02-jumping-LED/main.v similarity index 100% rename from test-examples/ICE40UP-Breakout-board/02-jumping-LED/main.v rename to test-examples/ice40-up5k/02-jumping-LED/main.v diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/03-riscv-stop-watch.ice b/test-examples/ice40-up5k/03-riscv-stop-watch/03-riscv-stop-watch.ice similarity index 100% rename from test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/03-riscv-stop-watch.ice rename to test-examples/ice40-up5k/03-riscv-stop-watch/03-riscv-stop-watch.ice diff --git a/test-examples/ice40-up5k/03-riscv-stop-watch/apio.ini b/test-examples/ice40-up5k/03-riscv-stop-watch/apio.ini new file mode 100644 index 00000000..05720678 --- /dev/null +++ b/test-examples/ice40-up5k/03-riscv-stop-watch/apio.ini @@ -0,0 +1,3 @@ +[env] +board = ice40-up5k +top-module = main diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/main.pcf b/test-examples/ice40-up5k/03-riscv-stop-watch/main.pcf similarity index 100% rename from test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/main.pcf rename to test-examples/ice40-up5k/03-riscv-stop-watch/main.pcf diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/main.v b/test-examples/ice40-up5k/03-riscv-stop-watch/main.v similarity index 100% rename from test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/main.v rename to test-examples/ice40-up5k/03-riscv-stop-watch/main.v diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/v5a4ee6.list b/test-examples/ice40-up5k/03-riscv-stop-watch/v5a4ee6.list similarity index 100% rename from test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/v5a4ee6.list rename to test-examples/ice40-up5k/03-riscv-stop-watch/v5a4ee6.list diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/v771499.list b/test-examples/ice40-up5k/03-riscv-stop-watch/v771499.list similarity index 100% rename from test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/v771499.list rename to test-examples/ice40-up5k/03-riscv-stop-watch/v771499.list diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/v9298ae.list b/test-examples/ice40-up5k/03-riscv-stop-watch/v9298ae.list similarity index 100% rename from test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/v9298ae.list rename to test-examples/ice40-up5k/03-riscv-stop-watch/v9298ae.list diff --git a/test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/vba98fe.list b/test-examples/ice40-up5k/03-riscv-stop-watch/vba98fe.list similarity index 100% rename from test-examples/ICE40UP-Breakout-board/03-riscv-stop-watch/vba98fe.list rename to test-examples/ice40-up5k/03-riscv-stop-watch/vba98fe.list diff --git a/test-examples/Icebreaker/01-LEDs-buttons/01-LEDs-buttons.ice b/test-examples/icebreaker/01-LEDs-buttons/01-LEDs-buttons.ice similarity index 100% rename from test-examples/Icebreaker/01-LEDs-buttons/01-LEDs-buttons.ice rename to test-examples/icebreaker/01-LEDs-buttons/01-LEDs-buttons.ice diff --git a/test-examples/icebreaker/01-LEDs-buttons/apio.ini b/test-examples/icebreaker/01-LEDs-buttons/apio.ini new file mode 100644 index 00000000..ec40115a --- /dev/null +++ b/test-examples/icebreaker/01-LEDs-buttons/apio.ini @@ -0,0 +1,3 @@ +[env] +board = icebreaker +top-module = main diff --git a/test-examples/Icebreaker/01-LEDs-buttons/main.pcf b/test-examples/icebreaker/01-LEDs-buttons/main.pcf similarity index 100% rename from test-examples/Icebreaker/01-LEDs-buttons/main.pcf rename to test-examples/icebreaker/01-LEDs-buttons/main.pcf diff --git a/test-examples/Icebreaker/01-LEDs-buttons/main.v b/test-examples/icebreaker/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/Icebreaker/01-LEDs-buttons/main.v rename to test-examples/icebreaker/01-LEDs-buttons/main.v diff --git a/test-examples/Icebreaker/02-jumping-LED/02-jumping-LED.ice b/test-examples/icebreaker/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/Icebreaker/02-jumping-LED/02-jumping-LED.ice rename to test-examples/icebreaker/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/icebreaker/02-jumping-LED/apio.ini b/test-examples/icebreaker/02-jumping-LED/apio.ini new file mode 100644 index 00000000..ec40115a --- /dev/null +++ b/test-examples/icebreaker/02-jumping-LED/apio.ini @@ -0,0 +1,3 @@ +[env] +board = icebreaker +top-module = main diff --git a/test-examples/Icebreaker/02-jumping-LED/main.pcf b/test-examples/icebreaker/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/Icebreaker/02-jumping-LED/main.pcf rename to test-examples/icebreaker/02-jumping-LED/main.pcf diff --git a/test-examples/Icebreaker/02-jumping-LED/main.v b/test-examples/icebreaker/02-jumping-LED/main.v similarity index 100% rename from test-examples/Icebreaker/02-jumping-LED/main.v rename to test-examples/icebreaker/02-jumping-LED/main.v diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/03-riscv-stop-watch.ice b/test-examples/icebreaker/03-riscv-stop-watch/03-riscv-stop-watch.ice similarity index 100% rename from test-examples/Icebreaker/03-riscv-stop-watch/03-riscv-stop-watch.ice rename to test-examples/icebreaker/03-riscv-stop-watch/03-riscv-stop-watch.ice diff --git a/test-examples/icebreaker/03-riscv-stop-watch/apio.ini b/test-examples/icebreaker/03-riscv-stop-watch/apio.ini new file mode 100644 index 00000000..ec40115a --- /dev/null +++ b/test-examples/icebreaker/03-riscv-stop-watch/apio.ini @@ -0,0 +1,3 @@ +[env] +board = icebreaker +top-module = main diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/main.pcf b/test-examples/icebreaker/03-riscv-stop-watch/main.pcf similarity index 100% rename from test-examples/Icebreaker/03-riscv-stop-watch/main.pcf rename to test-examples/icebreaker/03-riscv-stop-watch/main.pcf diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/main.v b/test-examples/icebreaker/03-riscv-stop-watch/main.v similarity index 100% rename from test-examples/Icebreaker/03-riscv-stop-watch/main.v rename to test-examples/icebreaker/03-riscv-stop-watch/main.v diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/v5a4ee6.list b/test-examples/icebreaker/03-riscv-stop-watch/v5a4ee6.list similarity index 100% rename from test-examples/Icebreaker/03-riscv-stop-watch/v5a4ee6.list rename to test-examples/icebreaker/03-riscv-stop-watch/v5a4ee6.list diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/v771499.list b/test-examples/icebreaker/03-riscv-stop-watch/v771499.list similarity index 100% rename from test-examples/Icebreaker/03-riscv-stop-watch/v771499.list rename to test-examples/icebreaker/03-riscv-stop-watch/v771499.list diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/v9298ae.list b/test-examples/icebreaker/03-riscv-stop-watch/v9298ae.list similarity index 100% rename from test-examples/Icebreaker/03-riscv-stop-watch/v9298ae.list rename to test-examples/icebreaker/03-riscv-stop-watch/v9298ae.list diff --git a/test-examples/Icebreaker/03-riscv-stop-watch/vba98fe.list b/test-examples/icebreaker/03-riscv-stop-watch/vba98fe.list similarity index 100% rename from test-examples/Icebreaker/03-riscv-stop-watch/vba98fe.list rename to test-examples/icebreaker/03-riscv-stop-watch/vba98fe.list diff --git a/test-examples/Icestick/01-LEDs/01-LEDs.ice b/test-examples/icestick/01-LEDs/01-LEDs.ice similarity index 100% rename from test-examples/Icestick/01-LEDs/01-LEDs.ice rename to test-examples/icestick/01-LEDs/01-LEDs.ice diff --git a/test-examples/Icestick/01-LEDs/apio.ini b/test-examples/icestick/01-LEDs/apio.ini similarity index 56% rename from test-examples/Icestick/01-LEDs/apio.ini rename to test-examples/icestick/01-LEDs/apio.ini index 1faba9fb..918877c4 100644 --- a/test-examples/Icestick/01-LEDs/apio.ini +++ b/test-examples/icestick/01-LEDs/apio.ini @@ -1,3 +1,3 @@ [env] board = icestick - +top-module = main diff --git a/test-examples/Icestick/01-LEDs/main.pcf b/test-examples/icestick/01-LEDs/main.pcf similarity index 100% rename from test-examples/Icestick/01-LEDs/main.pcf rename to test-examples/icestick/01-LEDs/main.pcf diff --git a/test-examples/Icestick/01-LEDs/main.v b/test-examples/icestick/01-LEDs/main.v similarity index 100% rename from test-examples/Icestick/01-LEDs/main.v rename to test-examples/icestick/01-LEDs/main.v diff --git a/test-examples/Icestick/02-jumping-LED/02-jumping-LED.ice b/test-examples/icestick/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/Icestick/02-jumping-LED/02-jumping-LED.ice rename to test-examples/icestick/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/Icestick/03-riscv-stop-watch/apio.ini b/test-examples/icestick/02-jumping-LED/apio.ini similarity index 56% rename from test-examples/Icestick/03-riscv-stop-watch/apio.ini rename to test-examples/icestick/02-jumping-LED/apio.ini index 1faba9fb..918877c4 100644 --- a/test-examples/Icestick/03-riscv-stop-watch/apio.ini +++ b/test-examples/icestick/02-jumping-LED/apio.ini @@ -1,3 +1,3 @@ [env] board = icestick - +top-module = main diff --git a/test-examples/Icestick/02-jumping-LED/main.pcf b/test-examples/icestick/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/Icestick/02-jumping-LED/main.pcf rename to test-examples/icestick/02-jumping-LED/main.pcf diff --git a/test-examples/Icestick/02-jumping-LED/main.v b/test-examples/icestick/02-jumping-LED/main.v similarity index 100% rename from test-examples/Icestick/02-jumping-LED/main.v rename to test-examples/icestick/02-jumping-LED/main.v diff --git a/test-examples/Icestick/03-riscv-stop-watch/03-riscv-stop-watch.ice b/test-examples/icestick/03-riscv-stop-watch/03-riscv-stop-watch.ice similarity index 100% rename from test-examples/Icestick/03-riscv-stop-watch/03-riscv-stop-watch.ice rename to test-examples/icestick/03-riscv-stop-watch/03-riscv-stop-watch.ice diff --git a/test-examples/Icestick/02-jumping-LED/apio.ini b/test-examples/icestick/03-riscv-stop-watch/apio.ini similarity index 56% rename from test-examples/Icestick/02-jumping-LED/apio.ini rename to test-examples/icestick/03-riscv-stop-watch/apio.ini index 1faba9fb..918877c4 100644 --- a/test-examples/Icestick/02-jumping-LED/apio.ini +++ b/test-examples/icestick/03-riscv-stop-watch/apio.ini @@ -1,3 +1,3 @@ [env] board = icestick - +top-module = main diff --git a/test-examples/Icestick/03-riscv-stop-watch/main.pcf b/test-examples/icestick/03-riscv-stop-watch/main.pcf similarity index 100% rename from test-examples/Icestick/03-riscv-stop-watch/main.pcf rename to test-examples/icestick/03-riscv-stop-watch/main.pcf diff --git a/test-examples/Icestick/03-riscv-stop-watch/main.v b/test-examples/icestick/03-riscv-stop-watch/main.v similarity index 100% rename from test-examples/Icestick/03-riscv-stop-watch/main.v rename to test-examples/icestick/03-riscv-stop-watch/main.v diff --git a/test-examples/Icestick/03-riscv-stop-watch/v5a4ee6.list b/test-examples/icestick/03-riscv-stop-watch/v5a4ee6.list similarity index 100% rename from test-examples/Icestick/03-riscv-stop-watch/v5a4ee6.list rename to test-examples/icestick/03-riscv-stop-watch/v5a4ee6.list diff --git a/test-examples/Icestick/03-riscv-stop-watch/v771499.list b/test-examples/icestick/03-riscv-stop-watch/v771499.list similarity index 100% rename from test-examples/Icestick/03-riscv-stop-watch/v771499.list rename to test-examples/icestick/03-riscv-stop-watch/v771499.list diff --git a/test-examples/Icestick/03-riscv-stop-watch/v9298ae.list b/test-examples/icestick/03-riscv-stop-watch/v9298ae.list similarity index 100% rename from test-examples/Icestick/03-riscv-stop-watch/v9298ae.list rename to test-examples/icestick/03-riscv-stop-watch/v9298ae.list diff --git a/test-examples/Icestick/03-riscv-stop-watch/vba98fe.list b/test-examples/icestick/03-riscv-stop-watch/vba98fe.list similarity index 100% rename from test-examples/Icestick/03-riscv-stop-watch/vba98fe.list rename to test-examples/icestick/03-riscv-stop-watch/vba98fe.list diff --git a/test-examples/Icesugar-1.5/01-LEDs-buttons/01-LEDs-buttons.ice b/test-examples/icesugar-1-5/01-LEDs-buttons/01-LEDs-buttons.ice similarity index 100% rename from test-examples/Icesugar-1.5/01-LEDs-buttons/01-LEDs-buttons.ice rename to test-examples/icesugar-1-5/01-LEDs-buttons/01-LEDs-buttons.ice diff --git a/test-examples/icesugar-1-5/01-LEDs-buttons/apio.ini b/test-examples/icesugar-1-5/01-LEDs-buttons/apio.ini new file mode 100644 index 00000000..8e0cf510 --- /dev/null +++ b/test-examples/icesugar-1-5/01-LEDs-buttons/apio.ini @@ -0,0 +1,3 @@ +[env] +board = icesugar-1-5 +top-module = main diff --git a/test-examples/Icesugar-1.5/01-LEDs-buttons/main.pcf b/test-examples/icesugar-1-5/01-LEDs-buttons/main.pcf similarity index 100% rename from test-examples/Icesugar-1.5/01-LEDs-buttons/main.pcf rename to test-examples/icesugar-1-5/01-LEDs-buttons/main.pcf diff --git a/test-examples/Icesugar-1.5/01-LEDs-buttons/main.v b/test-examples/icesugar-1-5/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/Icesugar-1.5/01-LEDs-buttons/main.v rename to test-examples/icesugar-1-5/01-LEDs-buttons/main.v diff --git a/test-examples/Icesugar-1.5/02-jumping-LED/02-jumping-LED.ice b/test-examples/icesugar-1-5/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/Icesugar-1.5/02-jumping-LED/02-jumping-LED.ice rename to test-examples/icesugar-1-5/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/icesugar-1-5/02-jumping-LED/apio.ini b/test-examples/icesugar-1-5/02-jumping-LED/apio.ini new file mode 100644 index 00000000..8e0cf510 --- /dev/null +++ b/test-examples/icesugar-1-5/02-jumping-LED/apio.ini @@ -0,0 +1,3 @@ +[env] +board = icesugar-1-5 +top-module = main diff --git a/test-examples/Icesugar-1.5/02-jumping-LED/main.pcf b/test-examples/icesugar-1-5/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/Icesugar-1.5/02-jumping-LED/main.pcf rename to test-examples/icesugar-1-5/02-jumping-LED/main.pcf diff --git a/test-examples/Icesugar-1.5/02-jumping-LED/main.v b/test-examples/icesugar-1-5/02-jumping-LED/main.v similarity index 100% rename from test-examples/Icesugar-1.5/02-jumping-LED/main.v rename to test-examples/icesugar-1-5/02-jumping-LED/main.v diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/03-riscv-stop-watch.ice b/test-examples/icesugar-1-5/03-riscv-stop-watch/03-riscv-stop-watch.ice similarity index 100% rename from test-examples/Icesugar-1.5/03-riscv-stop-watch/03-riscv-stop-watch.ice rename to test-examples/icesugar-1-5/03-riscv-stop-watch/03-riscv-stop-watch.ice diff --git a/test-examples/icesugar-1-5/03-riscv-stop-watch/apio.ini b/test-examples/icesugar-1-5/03-riscv-stop-watch/apio.ini new file mode 100644 index 00000000..8e0cf510 --- /dev/null +++ b/test-examples/icesugar-1-5/03-riscv-stop-watch/apio.ini @@ -0,0 +1,3 @@ +[env] +board = icesugar-1-5 +top-module = main diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/main.pcf b/test-examples/icesugar-1-5/03-riscv-stop-watch/main.pcf similarity index 100% rename from test-examples/Icesugar-1.5/03-riscv-stop-watch/main.pcf rename to test-examples/icesugar-1-5/03-riscv-stop-watch/main.pcf diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/main.v b/test-examples/icesugar-1-5/03-riscv-stop-watch/main.v similarity index 100% rename from test-examples/Icesugar-1.5/03-riscv-stop-watch/main.v rename to test-examples/icesugar-1-5/03-riscv-stop-watch/main.v diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/v5a4ee6.list b/test-examples/icesugar-1-5/03-riscv-stop-watch/v5a4ee6.list similarity index 100% rename from test-examples/Icesugar-1.5/03-riscv-stop-watch/v5a4ee6.list rename to test-examples/icesugar-1-5/03-riscv-stop-watch/v5a4ee6.list diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/v771499.list b/test-examples/icesugar-1-5/03-riscv-stop-watch/v771499.list similarity index 100% rename from test-examples/Icesugar-1.5/03-riscv-stop-watch/v771499.list rename to test-examples/icesugar-1-5/03-riscv-stop-watch/v771499.list diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/v9298ae.list b/test-examples/icesugar-1-5/03-riscv-stop-watch/v9298ae.list similarity index 100% rename from test-examples/Icesugar-1.5/03-riscv-stop-watch/v9298ae.list rename to test-examples/icesugar-1-5/03-riscv-stop-watch/v9298ae.list diff --git a/test-examples/Icesugar-1.5/03-riscv-stop-watch/vba98fe.list b/test-examples/icesugar-1-5/03-riscv-stop-watch/vba98fe.list similarity index 100% rename from test-examples/Icesugar-1.5/03-riscv-stop-watch/vba98fe.list rename to test-examples/icesugar-1-5/03-riscv-stop-watch/vba98fe.list diff --git a/test-examples/icezum/01-LEDs-buttons/apio.ini b/test-examples/icezum/01-LEDs-buttons/apio.ini index 23b9d1ed..1a7c3a38 100644 --- a/test-examples/icezum/01-LEDs-buttons/apio.ini +++ b/test-examples/icezum/01-LEDs-buttons/apio.ini @@ -1,3 +1,3 @@ [env] board = icezum - +top-module = main diff --git a/test-examples/icezum/02-jumping-LED/apio.ini b/test-examples/icezum/02-jumping-LED/apio.ini index 23b9d1ed..1a7c3a38 100644 --- a/test-examples/icezum/02-jumping-LED/apio.ini +++ b/test-examples/icezum/02-jumping-LED/apio.ini @@ -1,3 +1,3 @@ [env] board = icezum - +top-module = main diff --git a/test-examples/icezum/03-riscv-stop-watch/apio.ini b/test-examples/icezum/03-riscv-stop-watch/apio.ini index 23b9d1ed..1a7c3a38 100644 --- a/test-examples/icezum/03-riscv-stop-watch/apio.ini +++ b/test-examples/icezum/03-riscv-stop-watch/apio.ini @@ -1,3 +1,3 @@ [env] board = icezum - +top-module = main diff --git a/test-examples/TinyFPGA-BX/01-LED-ON/01-LED-ON.ice b/test-examples/tinyfpga-bx/01-LED-ON/01-LED-ON.ice similarity index 100% rename from test-examples/TinyFPGA-BX/01-LED-ON/01-LED-ON.ice rename to test-examples/tinyfpga-bx/01-LED-ON/01-LED-ON.ice diff --git a/test-examples/tinyfpga-bx/01-LED-ON/apio.ini b/test-examples/tinyfpga-bx/01-LED-ON/apio.ini new file mode 100644 index 00000000..a65f4524 --- /dev/null +++ b/test-examples/tinyfpga-bx/01-LED-ON/apio.ini @@ -0,0 +1,3 @@ +[env] +board = tinyfpga-bx +top-module = main diff --git a/test-examples/TinyFPGA-BX/01-LED-ON/main.pcf b/test-examples/tinyfpga-bx/01-LED-ON/main.pcf similarity index 100% rename from test-examples/TinyFPGA-BX/01-LED-ON/main.pcf rename to test-examples/tinyfpga-bx/01-LED-ON/main.pcf diff --git a/test-examples/TinyFPGA-BX/01-LED-ON/main.v b/test-examples/tinyfpga-bx/01-LED-ON/main.v similarity index 100% rename from test-examples/TinyFPGA-BX/01-LED-ON/main.v rename to test-examples/tinyfpga-bx/01-LED-ON/main.v diff --git a/test-examples/TinyFPGA-BX/02-jumping-LED/02-jumping-LED.ice b/test-examples/tinyfpga-bx/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/TinyFPGA-BX/02-jumping-LED/02-jumping-LED.ice rename to test-examples/tinyfpga-bx/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/tinyfpga-bx/02-jumping-LED/apio.ini b/test-examples/tinyfpga-bx/02-jumping-LED/apio.ini new file mode 100644 index 00000000..a65f4524 --- /dev/null +++ b/test-examples/tinyfpga-bx/02-jumping-LED/apio.ini @@ -0,0 +1,3 @@ +[env] +board = tinyfpga-bx +top-module = main diff --git a/test-examples/TinyFPGA-BX/02-jumping-LED/main.pcf b/test-examples/tinyfpga-bx/02-jumping-LED/main.pcf similarity index 100% rename from test-examples/TinyFPGA-BX/02-jumping-LED/main.pcf rename to test-examples/tinyfpga-bx/02-jumping-LED/main.pcf diff --git a/test-examples/TinyFPGA-BX/02-jumping-LED/main.v b/test-examples/tinyfpga-bx/02-jumping-LED/main.v similarity index 100% rename from test-examples/TinyFPGA-BX/02-jumping-LED/main.v rename to test-examples/tinyfpga-bx/02-jumping-LED/main.v diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/03-riscv-stop-watch.ice b/test-examples/tinyfpga-bx/03-riscv-stop-watch/03-riscv-stop-watch.ice similarity index 100% rename from test-examples/TinyFPGA-BX/03-riscv-stop-watch/03-riscv-stop-watch.ice rename to test-examples/tinyfpga-bx/03-riscv-stop-watch/03-riscv-stop-watch.ice diff --git a/test-examples/tinyfpga-bx/03-riscv-stop-watch/apio.ini b/test-examples/tinyfpga-bx/03-riscv-stop-watch/apio.ini new file mode 100644 index 00000000..a65f4524 --- /dev/null +++ b/test-examples/tinyfpga-bx/03-riscv-stop-watch/apio.ini @@ -0,0 +1,3 @@ +[env] +board = tinyfpga-bx +top-module = main diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/main.pcf b/test-examples/tinyfpga-bx/03-riscv-stop-watch/main.pcf similarity index 100% rename from test-examples/TinyFPGA-BX/03-riscv-stop-watch/main.pcf rename to test-examples/tinyfpga-bx/03-riscv-stop-watch/main.pcf diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/main.v b/test-examples/tinyfpga-bx/03-riscv-stop-watch/main.v similarity index 100% rename from test-examples/TinyFPGA-BX/03-riscv-stop-watch/main.v rename to test-examples/tinyfpga-bx/03-riscv-stop-watch/main.v diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/v5a4ee6.list b/test-examples/tinyfpga-bx/03-riscv-stop-watch/v5a4ee6.list similarity index 100% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/v5a4ee6.list rename to test-examples/tinyfpga-bx/03-riscv-stop-watch/v5a4ee6.list diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/v771499.list b/test-examples/tinyfpga-bx/03-riscv-stop-watch/v771499.list similarity index 100% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/v771499.list rename to test-examples/tinyfpga-bx/03-riscv-stop-watch/v771499.list diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/v9298ae.list b/test-examples/tinyfpga-bx/03-riscv-stop-watch/v9298ae.list similarity index 100% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/v9298ae.list rename to test-examples/tinyfpga-bx/03-riscv-stop-watch/v9298ae.list diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/vba98fe.list b/test-examples/tinyfpga-bx/03-riscv-stop-watch/vba98fe.list similarity index 100% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/vba98fe.list rename to test-examples/tinyfpga-bx/03-riscv-stop-watch/vba98fe.list diff --git a/test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/01-LEDs-buttons.ice b/test-examples/ulx3s-12f/01-LEDs-buttons/01-LEDs-buttons.ice similarity index 100% rename from test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/01-LEDs-buttons.ice rename to test-examples/ulx3s-12f/01-LEDs-buttons/01-LEDs-buttons.ice diff --git a/test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/apio.ini b/test-examples/ulx3s-12f/01-LEDs-buttons/apio.ini similarity index 97% rename from test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/apio.ini rename to test-examples/ulx3s-12f/01-LEDs-buttons/apio.ini index a5e0af78..2fb1332a 100644 --- a/test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/apio.ini +++ b/test-examples/ulx3s-12f/01-LEDs-buttons/apio.ini @@ -1,4 +1,3 @@ [env] board = ulx3s-12f top-module = main - diff --git a/test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/main.lpf b/test-examples/ulx3s-12f/01-LEDs-buttons/main.lpf similarity index 100% rename from test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/main.lpf rename to test-examples/ulx3s-12f/01-LEDs-buttons/main.lpf diff --git a/test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/main.v b/test-examples/ulx3s-12f/01-LEDs-buttons/main.v similarity index 100% rename from test-examples/Radiona-ULX3S-12F/01-LEDs-buttons/main.v rename to test-examples/ulx3s-12f/01-LEDs-buttons/main.v diff --git a/test-examples/Radiona-ULX3S-12F/02-jumping-LED/02-jumping-LED.ice b/test-examples/ulx3s-12f/02-jumping-LED/02-jumping-LED.ice similarity index 100% rename from test-examples/Radiona-ULX3S-12F/02-jumping-LED/02-jumping-LED.ice rename to test-examples/ulx3s-12f/02-jumping-LED/02-jumping-LED.ice diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/apio.ini b/test-examples/ulx3s-12f/02-jumping-LED/apio.ini similarity index 57% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/apio.ini rename to test-examples/ulx3s-12f/02-jumping-LED/apio.ini index acecd388..2fb1332a 100644 --- a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/apio.ini +++ b/test-examples/ulx3s-12f/02-jumping-LED/apio.ini @@ -1,3 +1,3 @@ [env] board = ulx3s-12f - +top-module = main diff --git a/test-examples/Radiona-ULX3S-12F/02-jumping-LED/main.lpf b/test-examples/ulx3s-12f/02-jumping-LED/main.lpf similarity index 100% rename from test-examples/Radiona-ULX3S-12F/02-jumping-LED/main.lpf rename to test-examples/ulx3s-12f/02-jumping-LED/main.lpf diff --git a/test-examples/Radiona-ULX3S-12F/02-jumping-LED/main.v b/test-examples/ulx3s-12f/02-jumping-LED/main.v similarity index 100% rename from test-examples/Radiona-ULX3S-12F/02-jumping-LED/main.v rename to test-examples/ulx3s-12f/02-jumping-LED/main.v diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/03-riscv-stop-watch.ice b/test-examples/ulx3s-12f/03-riscv-stop-watch/03-riscv-stop-watch.ice similarity index 100% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/03-riscv-stop-watch.ice rename to test-examples/ulx3s-12f/03-riscv-stop-watch/03-riscv-stop-watch.ice diff --git a/test-examples/Radiona-ULX3S-12F/02-jumping-LED/apio.ini b/test-examples/ulx3s-12f/03-riscv-stop-watch/apio.ini similarity index 57% rename from test-examples/Radiona-ULX3S-12F/02-jumping-LED/apio.ini rename to test-examples/ulx3s-12f/03-riscv-stop-watch/apio.ini index acecd388..2fb1332a 100644 --- a/test-examples/Radiona-ULX3S-12F/02-jumping-LED/apio.ini +++ b/test-examples/ulx3s-12f/03-riscv-stop-watch/apio.ini @@ -1,3 +1,3 @@ [env] board = ulx3s-12f - +top-module = main diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/main.lpf b/test-examples/ulx3s-12f/03-riscv-stop-watch/main.lpf similarity index 100% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/main.lpf rename to test-examples/ulx3s-12f/03-riscv-stop-watch/main.lpf diff --git a/test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/main.v b/test-examples/ulx3s-12f/03-riscv-stop-watch/main.v similarity index 100% rename from test-examples/Radiona-ULX3S-12F/03-riscv-stop-watch/main.v rename to test-examples/ulx3s-12f/03-riscv-stop-watch/main.v diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/v5a4ee6.list b/test-examples/ulx3s-12f/03-riscv-stop-watch/v5a4ee6.list similarity index 100% rename from test-examples/TinyFPGA-BX/03-riscv-stop-watch/v5a4ee6.list rename to test-examples/ulx3s-12f/03-riscv-stop-watch/v5a4ee6.list diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/v771499.list b/test-examples/ulx3s-12f/03-riscv-stop-watch/v771499.list similarity index 100% rename from test-examples/TinyFPGA-BX/03-riscv-stop-watch/v771499.list rename to test-examples/ulx3s-12f/03-riscv-stop-watch/v771499.list diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/v9298ae.list b/test-examples/ulx3s-12f/03-riscv-stop-watch/v9298ae.list similarity index 100% rename from test-examples/TinyFPGA-BX/03-riscv-stop-watch/v9298ae.list rename to test-examples/ulx3s-12f/03-riscv-stop-watch/v9298ae.list diff --git a/test-examples/TinyFPGA-BX/03-riscv-stop-watch/vba98fe.list b/test-examples/ulx3s-12f/03-riscv-stop-watch/vba98fe.list similarity index 100% rename from test-examples/TinyFPGA-BX/03-riscv-stop-watch/vba98fe.list rename to test-examples/ulx3s-12f/03-riscv-stop-watch/vba98fe.list diff --git a/test/integration/test_examples.py b/test/integration/test_examples.py index 563244e7..87c2c49c 100644 --- a/test/integration/test_examples.py +++ b/test/integration/test_examples.py @@ -34,7 +34,7 @@ def test_examples(apio_runner: ApioRunner): # assert "Installing package 'examples'" in result.output # assert "Download" in result.output assert "Package 'examples' installed successfully" in result.output - assert getsize(sb.packages_dir / "examples/Alhambra-II/ledon/ledon.v") + assert getsize(sb.packages_dir / "examples/alhambra-ii/ledon/ledon.v") # -- List the examples result = sb.invoke_apio_cmd( @@ -42,44 +42,44 @@ def test_examples(apio_runner: ApioRunner): ["--list"], ) sb.assert_ok(result) - assert "Alhambra-II/ledon" in result.output + assert "alhambra-ii/ledon" in result.output # -- Fetch example files to current directory result = sb.invoke_apio_cmd( apio_examples, - ["--fetch-files", "Alhambra-II/ledon"], + ["--fetch-files", "alhambra-ii/ledon"], ) sb.assert_ok(result) - assert "Copying Alhambra-II/ledon example files" in result.output + assert "Copying alhambra-ii/ledon example files" in result.output assert "have been successfully created!" in result.output assert getsize("ledon.v") # -- Fetch example dir to current directory result = sb.invoke_apio_cmd( apio_examples, - ["--fetch-dir", "Alhambra-II/ledon"], + ["--fetch-dir", "alhambra-ii/ledon"], ) sb.assert_ok(result) - assert "Creating Alhambra-II/ledon directory" in result.output + assert "Creating alhambra-ii/ledon directory" in result.output assert "has been successfully created" in result.output - assert getsize("Alhambra-II/ledon/ledon.v") + assert getsize("alhambra-ii/ledon/ledon.v") # -- Fetch example files to another project dir result = sb.invoke_apio_cmd( apio_examples, - ["--fetch-files", "Alhambra-II/ledon", "--project-dir=./dir1"], + ["--fetch-files", "alhambra-ii/ledon", "--project-dir=./dir1"], ) sb.assert_ok(result) - assert "Copying Alhambra-II/ledon example files" in result.output + assert "Copying alhambra-ii/ledon example files" in result.output assert "have been successfully created!" in result.output assert getsize("dir1/ledon.v") # -- Fetch example dir to another project dir result = sb.invoke_apio_cmd( apio_examples, - ["--fetch-dir", "Alhambra-II/ledon", "--project-dir=dir2"], + ["--fetch-dir", "alhambra-ii/ledon", "--project-dir=dir2"], ) sb.assert_ok(result) - assert "Creating Alhambra-II/ledon directory" in result.output + assert "Creating alhambra-ii/ledon directory" in result.output assert "has been successfully created" in result.output - assert getsize("dir2/Alhambra-II/ledon/ledon.v") + assert getsize("dir2/alhambra-ii/ledon/ledon.v") diff --git a/test/integration/test_packages.py b/test/integration/test_packages.py index 8dc6b3db..3fa8f719 100644 --- a/test/integration/test_packages.py +++ b/test/integration/test_packages.py @@ -43,7 +43,7 @@ def test_packages(apio_runner: ApioRunner): result = sb.invoke_apio_cmd(apio_packages, ["--install", "examples"]) sb.assert_ok(result) assert "Package 'examples' installed successfully" in result.output - assert listdir(sb.packages_dir / "examples/Alhambra-II") + assert listdir(sb.packages_dir / "examples/alhambra-ii") assert "tools-oss-cad-suite" not in listdir(sb.packages_dir) # -- Install the reset of the packages. @@ -55,12 +55,12 @@ def test_packages(apio_runner: ApioRunner): assert ( "Package 'oss-cad-suite' installed successfully" in result.output ) - assert listdir(sb.packages_dir / "examples/Alhambra-II") + assert listdir(sb.packages_dir / "examples/alhambra-ii") assert listdir(sb.packages_dir / "tools-oss-cad-suite/bin") # -- Delete a file from the examples package, we will use it as an # -- indicator for the reinstallation of the package. - marker_file = sb.packages_dir / "examples/Alhambra-II/ledon/ledon.v" + marker_file = sb.packages_dir / "examples/alhambra-ii/ledon/ledon.v" assert marker_file.is_file() marker_file.unlink() assert not marker_file.exists() diff --git a/test/integration/test_projects.py b/test/integration/test_projects.py index 12ee673c..3dcdd6cf 100644 --- a/test/integration/test_projects.py +++ b/test/integration/test_projects.py @@ -115,7 +115,7 @@ def test_project_ice40(apio_runner: ApioRunner): """Tests building and testing an ice40 project.""" _test_project( apio_runner, - example="Alhambra-II/ledon", + example="alhambra-ii/ledon", testbench="ledon_tb", binary="hardware.bin", report_item="ICESTORM_LC:",