Перейти к содержанию
    

.lib для Yosys

Добрый день.

Разыскивается пример lib файла с описание FDE триггера для Yosys.

Есть ли на форуме те, кто может проконсультировать по работе в Yosys?

Изменено пользователем Dantist2k17

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что там в это Yosys какие-то особенные либы нужны?

Если речь идет об формате liberty то хорошие примеры можно найти в стандарте:

https://media.c3d2.de/mgoblin_media/media_entries/659/Liberty_User_Guides_and_Reference_Manual_Suite_Version_2017.06.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 hours ago, MickeyMouse said:

А что там в это Yosys какие-то особенные либы нужны?

Если речь идет об формате liberty то хорошие примеры можно найти в стандарте:

https://media.c3d2.de/mgoblin_media/media_entries/659/Liberty_User_Guides_and_Reference_Manual_Suite_Version_2017.06.pdf

Была (есть) проблема, связанная с тем, что Yosys ругался на lib триггера, в котором при описании ff (IQ,IQB) { ... }  next_state определяется выражением, например:

next_state: (CE*D + !CE*IQ);

а не просто как: next_state: D;

Как мне рассказали программисты, проанализировавшие исходный код Yosys, там явно указано о том, что подобные выражения текущая версия не поддерживает, мол в разработке.

Так что судя по всему дело не в либах.

Однако сам Yosys имеет на вооружении команду dff2dffe, которая оптимизирует схему, выявляя ff с мультиплексорами в обратной связи и заменяя их на ffe. При этом в выходной netlist пишутся примитивы \$_DFFE_PP_.

Всегда можно сделать автозамену, но это как-то...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Dantist2k17 сказал:

Была (есть) проблема, связанная с тем, что Yosys ругался на lib триггера, в котором при описании ff (IQ,IQB) { ... }  next_state определяется выражением, например:

next_state: (CE*D + !CE*IQ);

а не просто как: next_state: D;

Как мне рассказали программисты, проанализировавшие исходный код Yosys, там явно указано о том, что подобные выражения текущая версия не поддерживает, мол в разработке. 

Так что судя по всему дело не в либах.

Однако сам Yosys имеет на вооружении команду dff2dffe, которая оптимизирует схему, выявляя ff с мультиплексорами в обратной связи и заменяя их на ffe. При этом в выходной netlist пишутся примитивы \$_DFFE_PP_.

Всегда можно сделать автозамену, но это как-то...

 

В описании на этот тул сказано:

Mapping to Xilinx 7-Series and Lattice iCE40 FPGAs

Если это не для красного словца, то где yosys берет библиотеки для мапинга? Ведь в xilinx вроде тоже все на либерти(по крайней мере либерти можно найти в папках вивадо). Попробуйте поискать нужный Вам флип-флоп в таргетах для yosys, если он есть значит они его как-то должны описывать.

PS У меня была проблема с next_state, не знал как описать бифронтовый флип-флоп при характеризации, я как-раз в вивадо такой пример и нашел(это я к тому что там точно либерти есть на элементы).

Изменено пользователем MickeyMouse

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Dantist2k17 

Флоп с разрешением имеет две схемы замещения - флоп с мультиплексором в обратной связи, и флоп с клок-гатором в цепи управления. Поэтому если не поддерживаются формулы в next_state, можете попробовать вставить формулу в clocked_on

 clocked_on : "CLK * EN";

а еще лучше, купите DC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, Aleх said:

@Dantist2k17 

Флоп с разрешением имеет две схемы замещения - флоп с мультиплексором в обратной связи, и флоп с клок-гатором в цепи управления. Поэтому если не поддерживаются формулы в next_state, можете попробовать вставить формулу в clocked_on

 clocked_on : "CLK * EN";

а еще лучше, купите DC.

Спасибо, попробую.

Про DC не поспоришь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...