Допустим, у меня есть 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 compile создает синтаксическую ошибку в файле sub.sv, который я создал, он просто говорит, что не ожидает "always_comb" начать "с 1-й строки. Я предполагаю (хотя и не уверен), что это потому, что vcs считает этот файл файлом .sv и ожидает определения модуля sv в начале.
Я искал другие способы использования макроса в Интернете, но не могу найти пример для своего дело. Как вы думаете, что является правильным или лучшим способом сделать такую замену кода на месте в Systemverilog?