Как определить пользовательскую ячейку для синтеза списка соединений? - PullRequest
0 голосов
/ 29 ноября 2018

В настоящее время я работаю над дизайном процессора, в котором я хочу сравнить различные микроархитектуры по мощности, скорости и площади.Эти микроархитектуры отличаются только созданием различных компонентов, например, по-разному реализованных ALU или файлов регистров.Некоторые из этих компонентов довольно сложны и недоступны для меня в виде кода HDL.Таким образом, идея состоит в том, чтобы создать их как черные ящики в коде HDL и позволить инструменту синтеза (Synopsys Design Compiler) сопоставить их с самоопределяемыми ячейками для получения списка соединений.

Теперь возникает вопрос: как мнесамоопределить клетки для использования в синтезе?Конечно, у меня есть стандартная библиотека ячеек, поэтому мне нужно только «добавить» эти несколько дополнительных ячеек в библиотеку ссылок.Я не мог найти способ определить их внутри оболочки DC.Поэтому я полагаю, что мне нужно написать дополнительный файл свободы для загрузки и ссылки на него.

Есть ли способ определить файл свободы, где мне не нужно беспокоиться о заголовках, таких как параметры процесса,и нужно только определить нужные ячейки и «добавить» их в существующую библиотеку, чтобы она автоматически предполагала все параметры процесса, как указано в стандартной библиотеке ячеек?

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

1 Ответ

0 голосов
/ 30 ноября 2018

Я нашел решение.Можно просто написать файл свободы, содержащий только описания пользовательских ячеек, а затем прочитать его перед компиляцией с помощью команды update_lib.Это как раз то, что я хотел.

...