Как я могу сделать systemverilog фрагменты кода на месте замены - PullRequest
0 голосов
/ 01 мая 2020

Допустим, у меня есть 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?

1 Ответ

1 голос
/ 01 мая 2020

Переименуйте файл sub.sv в sub.svh т.е. системный заголовок verilog Также вам не нужно компилировать это файл, так как он не содержит модулей. Также обязательно передайте путь этого файла инструменту, если он находится в другой папке

...