Chr*_*ris 5 system-verilog dependency-management
我正在寻找不特定于Java或任何其他语言的依赖管理工具.
我们使用SystemVerilog(一种硬件描述语言)来创建独立模块.我们在不同的里程碑标记这些模块的版本.更高级别的设计经常使用Subversion标签引入其他模块.
我们尝试使用Subversion外部实现自动化,因此当您签出模块时,您也会获得其依赖关系.但是当你进入系统级别时,有很多嵌套的外部设备需要一个小时才能运行svn update.显然这种方法不起作用.
基本上,我希望能够说,"我的模块依赖于此版本的模块A,此版本的模块B,以及此版本的模块C." 该工具会做检查出来的依赖性,检查出的依赖关系的依赖关系,并确保没有冲突的依赖关系(例如,两个相同的模块的版本)的工作.
是否有任何工具可以与任意语言和Subversion一起使用?
我没有感受到您所描述的依赖跟踪的痛苦,这意味着我可能不完全理解您的问题。
一种方法是将模块的所有版本保存在同一库中的单独文件中。例如,您可以拥有adder_0_0.sv全加器 HDL 模块的第一个版本,该模块将描述一个名为 的模块adder_0。如果您在模块中发现错误,您可以创建一个名为adder_0_1.svalso描述的文件adder_0。您将能够使用adder_0_1.sv来代替adder_0_0.sv. 如果您想通过添加或删除端口或更改端口的语义来更改接口,那么您可以创建一个名为adder_1_0.sv描述模块的文件adder_1。请注意,adder_0和adder_1 不能互换使用。
这种方法背后的原理是所有这些文件都写入一次。您只需不断向库中添加新文件即可。任何使用该库的项目只需检出整个库并使用他们想要的任何文件。依赖关系管理的复杂程度只是将正确的文件名放入正确的项目描述文件中,无论您使用什么模拟或综合工具。不需要特殊的依赖管理工具。拥有的独立库越少,管理它们就越容易。
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |