dependency-management - 是否有任何非特定语言的良好依赖管理工具?

标签 dependency-management system-verilog

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




我正在寻找不特定于 Java 或任何其他语言的依赖管理工具。

我们使用 SystemVerilog(一种硬件描述语言)来创建独立模块。我们在各个里程碑标记这些模块的发布。更高级别的设计经常使用 Subversion 标签引入其他模块。

我们尝试使用 Subversion 外部组件来自动化操作,这样当您 checkout 一个模块时,您也可以获得它的依赖项。但是当你进入系统级别时,嵌套的外部对象太多了,运行 svn update 需要一个小时。显然这种方法行不通。

基本上,我想说“我的模块依赖于这个版本的模块 A、这个版本的模块 B 和这个版本的模块 C”。该工具将检查依赖关系,检查依赖关系的依赖关系,并确保没有冲突的依赖关系(例如,同一模块的两个版本)。

是否有任何工具可以很好地与任意语言和 Subversion 配合使用?

最佳答案

我没有感受到您所描述的依赖跟踪的痛苦,这意味着我可能不完全理解您的问题。

一种方法是将所有版本的模块保存在同一个库中的不同文件中。例如,您可以拥有 adder_0_0.sv对于全加器 HDL 模块的第一个版本,它将描述一个名为 adder_0 的模块.如果您在模块中发现错误,您可以创建一个名为 adder_0_1.sv 的文件。还描述了adder_0 .您将可以使用 adder_0_1.sv而不是 adder_0_0.sv .如果您想通过添加或删除端口或更改端口的语义来更改接口(interface),则可以创建一个名为 adder_1_0.sv 的文件。描述一个名为 adder_1 的模块.请注意 adder_0adder_1 不能可以互换使用。

这种方法背后的理念是所有这些文件都写入一次。您只需不断将新文件添加到您的库中。任何使用这个库的项目只需检查整个库并使用他们想要的任何文件。对于您使用的任何仿真或综合工具,依赖关系管理只需将正确的文件名放入正确的项目描述文件中即可。不需要特殊的依赖管理工具。您拥有的独立库越少,管理它们就越容易。

关于dependency-management - 是否有任何非特定语言的良好依赖管理工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9541477/

相关文章:

multidimensional-array - 如何输出多维数组切片

c - 如何使用 DPI-C 嵌入 Systemverilog 解释器?

android - 如何获得有关 Android appcompat 或支持库更新的通知?

具有严格版本和因为关键字的 Gradle 6 依赖项

Python 轮子反依赖

verilog - 即使条件成立,我的代码也不会进入下一个状态

verilog - 如何在verilog中使用独特的语句?

graph-theory - 在有向图中查找孤岛

gradle - 语言/平台/独立于构建的依赖管理器

interface - 系统 Verilog : enum inside interface