Format

module [MPATH] new

Command new creates a new module project from a .json file located in MPATH. The json file must have the same name as the directory in which it is located. For example, for a new module hello_world, the starting point is:

└── hello_world
    └── hello_world.json

In case MPATH points to a directory which does not exist or a properly named .json file is not found in the directory pointed to by MPATH, then command new creates a default .json file as well as the corresponding directory if needed. The default .json file contains only a Reset and Clock interfaces. This is convenient way to create a new HW module project without the need to prepare a .json file in advance.

Usage

$ module hello_world new

The command will generate the following files and directories:

└── hello_world
    ├── hello_world.json
    ├── hello_world.py
    ├── __init__.py
    ├── out
    ├── src
    │   ├── compile_list.txt
    │   ├── hello_world_beh.py
    │   ├── hello_world_rtl.py
    │   └── __init__.py
    └── test
        ├── hello_world_cosim.gtkw
        ├── hello_world.gtkw
        ├── __init__.py
        ├── t_hello_world.py
        ├── utest_hello_world.py
        └── vectors

After creating the project, you can use commands add and remove to build/update the top-level interfaces of the HW module. The .json file is modified accordingly after every use of these commands.