我该如何在位置上替换systemverilog代码片段

问题描述 投票:0回答:1

比方说,我有5000行的RTL .sv文件称为main.sv,并且在其中有一个always_comb块,如下所示:

always_comb begin
 //2000 lines of code here
end

我正在尝试将这个大的always_comb剪切并粘贴到另一个名为sub.sv的单独文件中,并替换为

`include "sub.sv"

在同一位置在main.sv文件中,该文件曾经是大的always_comb所在的位置,以提高可读性和简洁性。

我现在遇到的问题是vcs编译会在我创建的sub.sv文件中引发语法错误,它只是说它不希望第一行出现“ always_comb开始”。我猜(尽管不确定),这是因为vcs将此文件视为.sv文件,并期望在开始时有sv模块定义。

我在网上寻找其他使用宏的方法,但找不到适合我的案例的示例。您认为在Systemverilog中进行这种就地代码替换的正确或更好的方法是什么?

macros include verilog system-verilog register-transfer-level
1个回答
0
投票

将您的sub.sv文件重命名为sub.svh系统Verilog标头另外,您不需要编译此文件,因为它不包含任何模块。如果文件位于其他文件夹中,也请确保将此文件的路径传递给工具。

© www.soinside.com 2019 - 2024. All rights reserved.