2015-10-27 4 views
2

Я получаю ошибку Can't open include file с yosys. Есть ли аргумент командной строки для определения каталогов include и/или есть ли каталог по умолчанию, в который он ищет включенные файлы?Yosys Не могу открыть файл include

ответ

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 не удалась.

+0

файл находился в текущей директории, в которой запускался yosys, и все файлы, попробуют эти предложения и посмотрите, что это делает, спасибо! –

+0

ОК, я думаю, что между вашими комментариями и разными примерами командной строки есть. делал что-то из примера 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. –

+0

grr, но теперь arachne-pnr жалуется на файл blif ... просто не могу победить ... –

 Смежные вопросы

  • Нет связанных вопросов^_^