当前位置 : 主页 > 手机开发 > 其它 >

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

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在寻找不特定于 Java或任何其他语言的依赖管理工具. 我们使用SystemVerilog(一种硬件描述语言)来创建独立模块.我们在不同的里程碑标记这些模块的版本.更高级别的设计经常使用Sub
我正在寻找不特定于 Java或任何其他语言的依赖管理工具.

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

我们尝试使用Subversion外部实现自动化,因此当您签出模块时,您也会获得其依赖关系.但是当你进入系统级别时,有很多嵌套的外部设备需要一个小时才能运行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.如果要通过添加或删除端口或更改端口的语义来更改接口,则可以创建名为adder_1_0.sv的文件,该文件描述名为adder_1的模块.请注意,adder_0和adder_1不能互换使用.

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

网友评论