Несколько вопросов о проводах с частным именем в Yosys
В одном из проектов, которые я скомпилировал с использованием Yosys, я увидел, что у нас могут быть частные провода (провода с частным именем). Например, $0_s0[127:0]. Итак, у меня есть несколько вопросов о них:
почему у нас есть частные провода в Yosys (какие сценарии)?
всегда ли он конвертируется в уникальное имя. Например, когда я выкидываю весь дизайн (используя write_verilog), он дает мне то же имя, что и когда я выкидываю только модуль, содержащий этот приватный провод?
1 ответ
почему у нас есть частные провода в Yosys (какие сценарии)?
потому что нам нужен механизм для создания имен для промежуточных проводов. В выражении, как assign x = (a+b)+c;
будет провод, содержащий результат (a+b)
и этому проводу понадобится имя.
Лучше сделать это правильно и создать пространство имен для таких имен и отделить их от пользовательских имен. Таким образом, последующие проходы в потоке синтеза всегда будут знать, какие имена сохранить и какие имена можно выбросить.
всегда ли он конвертируется в уникальное имя. Например, когда я выкидываю весь дизайн (используя write_verilog), он дает мне то же имя, что и когда я выкидываю только модуль, содержащий этот приватный провод?
Нет.
Используйте команду как rename -enumerate
на самом деле давать публичные имена этим проводам, если вы заботитесь о такой последовательности между различными выходными файлами.