How does it work?
The MIO CLI client runs on all OS and interacts with several data file formats that describe IP, project configuration, tool defaults, regressions, code templates, etc. These can be edited by hand (they are all captured in common, industry standards) or via the client. This dataset is used to drive/automate EDA tools, manage source files, and other common development needs. Freeing hardware engineers from spending hours on infrastructure and automation.
The Moore.io CLI Client is written in Python3. However, it is fully contained (no need to download the Python runtime environment). It will be available for Windows, Linux and Mac OS. It automates and takes care of many tasks:
- Engineering (simulation, linting, synthesis, etc.) - in other words: an industrial grade "common project makefile/script" usually found at large semiconductor corps built and maintained by a dedicated team.
- IP management (install, update, publish, etc) - in other words: npm for HDL packages (npm uses the term package,
miouses the term IP, but they are the same concept)
- Results management: all EDA tool results are addressable via an SQL-like query language. Actions (delete, compress, move) can be automated via policy configurations. Save tons in storage and keep the results that actually matter.
- Interacting with EDApps in other words: TBD as to how this works. The overall concept is still nebulous at this point.
IP is described by ip.yml, located within root IP directory (
/ip.yml). This includes:
The behavior of
mio is controlled via layered TOML configuration files (.mio.toml). In order of precedence (