Я собираю проект, который использует ячейки, определенные в 2 файлах lib.в обоих файлах lib есть ячейка, в примере ниже: ff
с одинаковым именем, что приводит к сбою компилятора.что я пробовал:
1. отредактировать lib_file1.v - изменить имя ff на d_ff (тьфу! lib_file1.v - сторонняя организация, к которой мы не хотим прикасаться)
2. включить файлы без опции -v.это работает, но затем компилируется множество избыточных ячеек.
3. компилируется в разные библиотеки - это не работает, так как сбой находится на стадии разработки
есть ли способ сказать компилятору использовать только ячейкуопределяется в файле lib, в котором он создается, без редактирования файлов lib_files.
список файлов выглядит следующим образом:
top.v
-v lib_file1.v
-v lib_file2.v
файл lib_file1.v
//other cells which use ff
module slow_ff(....);
............
ff i_ff(D, Q, CP);
endmodule
module ff(D, Q, CP);
.....
endmodule
файл lib_file2.v
//other cells which use ff
module fast_ff(...);
..........
ff i_ff(D, Q, CP, EN);
endmodule
module ff(D, Q, CP, EN)
.....
endmodule
РЕДАКТИРОВАТЬ: top.v напрямую не создает экземпляр ff, он использует «ячейки-обертки» (например, slow_dff и fast_dff).Проблема в том, что если lib_file1.v был скомпилирован первым, компоновщик будет использовать ff, определенный в lib_file1.v, также для lib_file_2.v