HDL组件管理器
hcm的Python项目详细描述
将hdl代码作为组件管理,以便它们可以作为ip共享。
概述
hcm是在一次令人沮丧的尝试之后创建的,它试图将一个程序中的更改合并到另一个程序中。 即使在仔细执行合并之后,仍然存在一些问题。
仅仅在多个并发运行的程序之间传递更新就变成了一场噩梦。 我的灵感来自pip,以及安装python包是多么容易。 我想给hdl设计带来同样的便利。
主要优点
- 提供控制IP版本的方法
- 控制HDL代码的分发
- 遵循版本控制的major.minor.patch方法
- 与语言无关(vhdl、verilog、systemverilog)
- 可用于控制供应商IP
主要功能
- 使用SVN存储库
- 自动将代码发布到中心位置
- 自动安装和升级代码
- 支持多个IP存储库
- 支持组件之间的依赖关系
安装
您可以通过pip获得最新版本的hcm。
pip install hcm
最新的开发版本可以克隆…
git clone https://github.com/jeremiah-c-leary/hdl-component-manager.git
…然后在本地安装…
python setup.py install
用法
可以通过在命令行提示符下发出hcm来调用hcm
hcm有八个子命令:browse、create、install、uninstall、list、publish、show和validate。 使用browse子命令列出可用于安装的组件。 子命令的参数可以使用-h选项列出: 使用create子命令在存储库中创建组件目录。 子命令的参数可以使用-h选项列出: 使用download子命令从存储库中提取一个版本,而不安装它。 使用install子命令添加或升级存储库中的组件。 子命令的参数可以使用-h选项列出:$ hcm
usage: hcm [-h]{browse,create,download,install,uninstall,list,publish,show,validate,version}
...
Provides configuration management for HDL components.
positional arguments:
{browse,create,download,install,uninstall,list,publish,show,validate,version}
browse List components available for installation.
create Creates a component repo
download Downloads components without installing them.
install Adds a component from the component repo
uninstall Removes installed components
list Lists components and their versions
publish Adds components to the component repo
show Displays information about installed components
validate Verifies manifest of installed component
version Displays HCM version information
optional arguments:
-h, --help show this help message and exit
浏览
$ hcm browse -h
usage: hcm browse [-h][component]
positional arguments:
component Component to browse
optional arguments:
-h, --help show this help message and exit
创建
$ hcm create -h
usage: hcm create [-h] url
positional arguments:
url location to create the base component repo
optional arguments:
-h, --help show this help message and exit
下载
安装
$ bin/hcm install -h
usage: hcm install [-h][--version VERSION][--url URL][--force][--external][--dependencies][--upgrade]
component
positional arguments:
component Component name to install
optional arguments:
-h, --help show this help message and exit
--version VERSION Major.Minor.Patch version of component to install.
--url URL location of component directory in repo
--force Install component ignoring any local changes
--external Install as an external
--dependencies Install dependencies
--upgrade Upgrade dependencies to latest version
卸载
使用uninstall子命令删除已安装的组件。
子命令的参数可以使用-h选项列出:
$ hcm uninstall -h usage: hcm uninstall [-h] component positional arguments: component Installed Component name to install optional arguments: -h, --help show this help message and exit
列表
使用list子命令检查已安装组件的版本。
子命令的参数可以使用-h选项列出:
$ hcm list -h usage: hcm list [-h][--all] optional arguments: -h, --help show this help message and exit --all Includes directories that are not under HCM control
发布
使用publish子命令将组件的版本推送到存储库。
子命令的参数可以使用-h选项列出:
$ hcm publish -h usage: hcm publish [-h](-m M | -f F)[--url URL] component version positional arguments: component Component name to publish version Major.Minor.Patch version to publish optional arguments: -h, --help show this help message and exit -m M Commit message -f F File to use as commit message --url URL Base URL of the component repository
显示
使用show子命令显示有关已安装组件的信息。
子命令的参数可以使用-h选项列出:
$ hcm show -h usage: hcm show [-h][--manifest][--upgrades][--updates][--modifications] component positional arguments: component Component to display information optional arguments: -h, --help show this help message and exit --manifest Displays manifest for all files in component --upgrades Lists upgrade versions and their log entries --updates Lists versions with newer publishes and their log entries --modifications Lists committed modifications for component
验证
使用validate子命令将组件清单与当前安装的组件清单进行比较。
子命令的参数可以使用-h选项列出:
$ hcm validate -h usage: hcm validate [-h][--report] component positional arguments: component Component to display information optional arguments: -h, --help show this help message and exit --report Reports differences
环境变量
hcm将使用hcm url路径环境变量替换–url命令行选项。 hcm使用变量中的路径来知道要与哪个组件存储库交互。
文档
hcm的所有文档都托管在read-the-docs。