Jump to content
    

Прошу показать, как в genus собирать верхний уровень из готовых нетлистов/db (иерархический или bottom-up flow)

не имею доступа к документации, кроме как к каким-то referenc-ам. то есть общей картины для такого флоу не имею.

хочу следующее:

у меня уже синтезированы субмодули (то есть констрейны приложены к этому уровню). есть структурное описание верхнего уровня. хочу получить нетлист этого верхнего уровня, проверить его STA и т.д. делал раньше такое в DC - вопросов не было.

в идеале хотел бы посмотреть фрагмент скрипта для genus, который собирает верхний уровень из его структурного описания (SV например) и заранее синтезированых инстансов, с применением/распространением констрейнов и т.д.

-------------------------  

link - такого нет

elaborate top - не находит субмодулей (unresolved), хотя в псевдо-файл-системе субмодули располагаются в типа иерархии  top/submodule

dont_touch не работает, то есть начинает пересинтезировать субмодуль (syn_gen) и т.д.

=============

предполагаю, что я что-то делаю не так - напрямую DC-шный скрипт переносить нельзя

-----------------------

в genus есть какое-то ILM flow - но я так понимаю, что это для автоматического назначения констрейнов (bottom-up). там выбрасывается логика из субмодулей, поэтому не стал дальше смотреть. 

 

 

Share this post


Link to post
Share on other sites

On 3/11/2024 at 10:19 AM, Yaahoo said:

read_hdl -netlist    пробовали?

 

Да.

read_netlist совсем не работает, ну или же совсем не для этого

Сейчас пишу вручную wrapper-ы для субмодулей, там все-таки поломались имена сигналов.

set_db / .write_sv_port_wrapper true
write_sv_wrapper
не сработало

Поэтому и хочу пример посмотреть, а не перебирать все из референса

Share this post


Link to post
Share on other sites

https://disk.yandex.ru/d/Zs4DsGRKTTmMJw

 

Надеюсь, это вам поможет. Курс по G-us от Cad-ce. Ссылку на месяц выставляю, чтобы меньше внимания привлекала, если кому-то нужно будет позже - в ЛС заброшу.

Плюсом, закидываю тикль своего pet-проекта. Комментировать строки не стал, думаю, разберетесь. Конечно немного не то, что вам конкретно нужно, но может будет полезно, если раньше в DC синтезили. Команды там несколько отличаются, плавали, знаем 🙂

set_db init_lib_search_path /home/fengzhao/GPDK045/gsclib045_all_v4.7/gsclib045/timing
set_db library slow_vdd1v0_basicCells.lib
set_db init_hdl_search_path ../src/rtl
read_hdl aes.v
elaborate
read_sdc ../AES.sdc
set_db syn_generic_effort medium
set_db syn_map_effort medium
set_db syn_opt_effort medium
syn_generic
syn_map
syn_opt
report_timing
report_power
report_area
write_hdl > out/aes_netlist.v
write_sdc > out/aes_sdc.v
write_sdf -timescale ns -nonegchecks -recrem split -edges check_edge -setuphold split > out/aes.sdf

 

Share this post


Link to post
Share on other sites

спасибо.

скрипт увы не иерархический, у меня такое тоже работает.

--------------------------------

наверно, можно и одним прогоном синтезировать, без иерархии.  но есть дополнительная беда - собрать все надо на genuse 17-го года, который не берет SV, но тот SV модуль собирается на генусе 19-го года, то есть хотелось бы генусу 17 отдать уже нетлист, а не исходники

у меня самый большой кусок, который синтезируется одним куском - 2.8М, остальное все меньше, то есть в 4М весь чип влезет, ну и памяти там еще где-то столько же по площади, но ячеек 64 шт - то есть, наверняка можно собрать все сразу, не разбивая на модули, но надо 

     Type      Instances     Area     Area %
---------------------------------------------
sequential        749927  7124099.400   55.7
inverter          246385   279473.040    2.2
buffer             21352    96346.080    0.8
logic            1770491  5280672.602   41.3
physical_cells         0        0.000    0.0
---------------------------------------------
total            2788155 12780591.122  100.0

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...