2015-10-25 3 views
4

Я использую Yosys синтезировать мой дизайн RTL, который включает в себя несколько буквенных констант, таких как связаны порты вывода, как показано в следующем коде:Создайте ячейки TIE с помощью Yosys?

module my_module (
    input a, 
    input b, 
    output c, 
    output d); 

    assign c = a & b; 
    assign d = 1'b1; 
endmodule 

В этом случае выход d будет, очевидно, всегда будет логическим , Используемый мной поток включает вызов abc -liberty my_stdcells.lib для сопоставления комбинаторной логики со стандартными ячейками, предоставляемыми библиотекой, а затем вызовы clean и write_verilog.

Я использую также библиотеку ячеек TIELO и TIEHI, но синтезированный список соединений Verilog не включает в себя никаких экземпляров этих ячеек, но вместо этого все еще показывает литеральные константы, как в приведенном выше примере.

Я мог бы написать сценарий для последующей обработки синтезированного списка соединений заменить эти литералы TIE* экземпляров клеток из библиотеки, но мне интересно, если я мог бы получить Yosys, чтобы сделать это для меня как-то, в результате чего-то вроде

TIEHI tiehi_d_inst(.Y(d)); 

для assign d = 1'b1 строка в коде выше.

ответ

2

Команда, которую вы ищете, является hilomap. Например, для сопоставления TIEHI и TIELO клетки с Y выходами использовать что-то вроде:

hilomap -hicell TIEHI Y -locell TIELO Y 

Это позволит создать индивидуальный TIEHI/TIELO ячейку для каждого постоянного бита в конструкции. Используйте опцию -singleton только для создания одиночных ячеек TIEHI/TIELO с более высоким вентилятором.

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

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