Я получаю ошибку Can't open include file
с yosys. Есть ли аргумент командной строки для определения каталогов include и/или есть ли каталог по умолчанию, в который он ищет включенные файлы?Yosys Не могу открыть файл include
2
A
ответ
4
Включает каталоги могут быть переданы в качестве аргументов read_verilog
:
read_verilog -Ipath/to/includes rtl/main.v
read_verilog -Ipath/to/includes rtl/stuff.v
В качестве альтернативы команды verilog_defaults
можно использовать для настройки параметров для всех последующих вызовов read_verilog
. Например:
verilog_defaults -add -Ipath/to/includes
read_verilog rtl/main.v
read_verilog rtl/stuff.v
По умолчанию read_verilog
ищет включаемые файлы в текущем рабочем каталоге и в каталоге, который содержит Verilog файл с `include
заявлением.
Редактировать re. комментарии:
Я создал следующий пример:
$ cat a.v
`include "b.v"
module test;
initial $display(`message);
endmodule
$ cat b.v
`define message "Hello World!"
Я могу успешно запустить это с yosys -p "read_verilog a.v"
, а также с yosys a.v
. Пожалуйста, отредактируйте вопрос, чтобы он включал пример, когда обработка файлов include не удалась.
файл находился в текущей директории, в которой запускался yosys, и все файлы, попробуют эти предложения и посмотрите, что это делает, спасибо! –
ОК, я думаю, что между вашими комментариями и разными примерами командной строки есть. делал что-то из примера hackaday yosys -p «synth_ice40 -blif out.blif» av bv cv и имел проблему с включением, но если вы yosys -p «read_verilog av; read_verilog bv; read_verilog cv; synth_ice40 -blif out. blif ", то нет проблем, он находит файл include. –
grr, но теперь arachne-pnr жалуется на файл blif ... просто не могу победить ... –