рейтинг блогов

Бодание с OpenLane. Часть 2.

топ 100 блогов panchul27.06.2022 Бодание с OpenLane. Часть 2.

Как бы вы не относились к путинской войне на Украине, признайте, что перед нашими глазами разворачивается грандиозный эксперимент - перевод 140-миллионной страны с Microsoft Windows на российские дистрибутивы Линукса - Astra Linux (произошел от Debian) и ALT Linux (произошел от Mandrake / Red Hat).

Если вдруг Россия начнет проигрывать СВО, и украинские войска, во главе демократизирующей армии всего свободного мира, понесутся по просторам белгородской и воронежской областей, их политруки из киевско-могилянской академии наверняка будут заходить в каждый сельсовет, стирать тоталитарные кгбистские ОСы и устанавливать утвержденную в Сиэттле и Вашингтоне специальную версию Windows, которая будет автоматически исправлять "на Украине" во всех текстовых файлах и не давать работать российcкой 1С, заменяя ее на SAP.

Да, но все это будет в будущем, а пока российская пропаганда утверждает, что через 2 года в России о Windows все забудут. Меня же (я пытаюсь смотреть на два шага вперед российской пропаганды) интересует вот какой вопрос: а не попробуют ли россияне таким же макаром импортозаместить программы для проектирования чипов? То есть вместо ломания лицензий на Synopsys и Cadence перейти на OpenLane и создать аналог комбинации Google / eFabless / SkyWater для поощрения юных российких чипостроителей проектировать хотя-бы low-end 130 nm микросхемы в вузах и стартапах?


Я уже задавал этот вопрос в более раннем посте и теперь продолжу.

В предыдущем посте я сначала установил OpenPDK и SkyWater PDK, потом выяснил что это не нужно, так как они входят в OpenLane. Потом установил docker, под которым работает OpenLane, запустил тест, и чтобы посмотреть результат теста, установил редактор Magic, который после танцев с бубном что-то показал.

Сегодня я выяснил, что сделал две ошибки:

1. Я совершенно зря устанавливал редактор Magic отдельно - он есть и внутри пакета OpenLane, работает из dockers.

2. Мой способ боротся с ошибкой "dial unix /var/run/docker.sock: connect: permission denied" с помощью "sudo chmod 666 /var/run/docker.sock" был порочным.

Правильно бороться так: "sudo usermod -aG docker $USER", после чего сделать reboot [UPD: передогиниться].

Это инфо из https://stackoverflow.com/questions/48957195/how-to-fix-docker-got-permission-denied-issue

Далее я попробовал запустить свой пример. Для этого я сначала запустил docker через makefile в OpenLane:
cd /home/panchul/github/OpenLane
make mount


Получил промпт:
OpenLane Container (9accacf):/openlane$


Затем я запустил маршрут для их тестового примера:
./flow.tcl -design spm


и оно заработало! Потом я запустил два редактора - magic и klayout, и оба показали синтезированный дизайн (см. картинки).

В magic открыл файл
/openlane/designs/spm/runs/RUN_2022.06.26_05.53.34/results/final/mag/spm.mag

Бодание с OpenLane. Часть 2. 290424856_10160146140678392_3269360875939761717_n.jpg
|

В klayout открыл файл
/openlane/designs/spm/runs/RUN_2022.06.26_05.53.34/results/final/gds/spm.gds

Бодание с OpenLane. Часть 2.

Затем я попробовал создать свой пример используя инструкцию из:

https://github.com/The-OpenROAD-Project/OpenLane/blob/master/designs/README.md

Для начала я запустил
cd /openlane
./flow.tcl -design yuri -init_design_config


Оно создало директорию внутри докера
/openlane/designs/yuri


которая (слава богу) также видна и доступна вне докера как
/home/panchul/github/OpenLane/designs/yuri


Слава богу - потому что до этого я думал, что все файлы между докером и обычной файловой системой нужно копировать с помощью docker cp.

В этой директории оно создало файл на тикле config.tcl
# User config
set ::env(DESIGN_NAME) yuri

# Change if needed
set ::env(VERILOG_FILES) [glob $::env(DESIGN_DIR)/src/*.v]

# Fill this
set ::env(CLOCK_PERIOD) "10.0"
set ::env(CLOCK_PORT) "clk"

set filename $::env(DESIGN_DIR)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
if { [file exists $filename] == 1} {
        source $filename
}


Отсюда я подумал, что достаточно положить в src какие-то верилог файлы и оно заработает. Это был чрезмерный оптимизм - при попытке запустить
./flow.tcl -design yuri


оно стало грязно и непонятно ругаться.

Я понял, что нужно внимательно прочитать документацию, а также вспомнить Tcl, который весь мир забыл еще в 1990-е годы, заменив сначала на Perl, а потом на Python. Весь мир, кроме электронной промышленности.

Но напоследок сегодняшнего подхода к снаряду я синтезировал процессор picorv32a, который был в примерах. Процесс состоит из 39 шагов и занял около получаса на моем суперкомпьтере с селероном за $169 который умещается на ладонь. На более суровом устройстве должно быть быстрее.

Бодание с OpenLane. Часть 2.

Вот лог:
OpenLane Container (9accacf):/openlane$ ./flow.tcl -design picorv32a
OpenLane 9accacfc19f9c26ad094e2f7143b53d2cb6a859a
All rights reserved. (c) 2020-2022 Efabless Corporation and contributors.
Available under the Apache License, version 2.0. See the LICENSE file for more details.

[INFO]: Using design configuration at /openlane/designs/picorv32a/config.tcl
[INFO]: Sourcing Configurations from /openlane/designs/picorv32a/config.tcl
[INFO]: PDKs root directory: /home/panchul/github/OpenLane/pdks
[INFO]: PDK: sky130A
[INFO]: Setting PDKPATH to /home/panchul/github/OpenLane/pdks/sky130A
[INFO]: Standard Cell Library: sky130_fd_sc_hd
[INFO]: Optimization Standard Cell Library is set to: sky130_fd_sc_hd
[INFO]: Sourcing Configurations from /openlane/designs/picorv32a/config.tcl
[INFO]: Current run directory is /openlane/designs/picorv32a/runs/RUN_2022.06.26_16.50.38
[INFO]: Preparing LEF files for the nom corner...
[INFO]: Preparing LEF files for the min corner...
[INFO]: Preparing LEF files for the max corner...
[STEP 1]
[INFO]: Running Synthesis...
[STEP 2]
[INFO]: Running Single-Corner Static Timing Analysis...
[STEP 3]
[INFO]: Running Initial Floorplanning...
[INFO]: Extracting core dimensions...
[INFO]: Set CORE_WIDTH to 683.1, CORE_HEIGHT to 682.72.
[STEP 4]
[INFO]: Running IO Placement...
[STEP 5]
[INFO]: Running Tap/Decap Insertion...
[INFO]: Power planning with power {VPWR} and ground {VGND}...
[STEP 6]
[INFO]: Generating PDN...
[STEP 7]
[INFO]: Running Global Placement...
[STEP 8]
[INFO]: Running Placement Resizer Design Optimizations...
[STEP 9]
[INFO]: Writing Verilog...
[STEP 10]
[INFO]: Running Detailed Placement...
[STEP 11]
[INFO]: Running Clock Tree Synthesis...
[STEP 12]
[INFO]: Writing Verilog...
[STEP 13]
[INFO]: Running Placement Resizer Timing Optimizations...
[STEP 14]
[INFO]: Writing Verilog...
[INFO]: Routing...
[STEP 15]
[INFO]: Running Global Routing Resizer Timing Optimizations...
[STEP 16]
[INFO]: Writing Verilog...
[STEP 17]
[INFO]: Running Detailed Placement...
[STEP 18]
[INFO]: Running Global Routing...
[INFO]: Starting FastRoute Antenna Repair Iterations...
[STEP 19]
[INFO]: Running Fill Insertion...
[STEP 20]
[INFO]: Writing Verilog...
[STEP 21]
[INFO]: Running Detailed Routing...
[INFO]: No DRC violations after detailed routing.
[STEP 22]
[INFO]: Writing Verilog...
[INFO]: Running parasitics-based static timing analysis...
[STEP 23]
[INFO]: Running SPEF Extraction at the min process corner...
[STEP 24]
[INFO]: Running Multi-Corner Static Timing Analysis at the min process corner...
[STEP 33]
[INFO]: Running Magic Spice Export from LEF...
[STEP 34]
[INFO]: Writing Powered Verilog...
[STEP 35]
[INFO]: Writing Verilog...
[STEP 36]
[INFO]: Running LEF LVS...
[STEP 37]
[INFO]: Running Magic DRC...
[INFO]: Converting Magic DRC Violations to Magic Readable Format...
[INFO]: Converting Magic DRC Violations to Klayout XML Database...
[INFO]: No DRC violations after GDS streaming out.
[INFO]: Running Antenna Checks...
[STEP 38]
[INFO]: Running OpenROAD Antenna Rule Checker...
[STEP 39]
[INFO]: Running CVC...
[INFO]: Saving current set of views in 'designs/picorv32a/runs/RUN_2022.06.26_16.50.38/results/final'...
[INFO]: Saving runtime environment...
[INFO]: Generating final set of reports...
[INFO]: Created manufacturability report at 'designs/picorv32a/runs/RUN_2022.06.26_16.50.38/reports/manufacturability.rpt'.
[INFO]: Created metrics report at 'designs/picorv32a/runs/RUN_2022.06.26_16.50.38/reports/metrics.csv'.
[WARNING]: There are max slew violations in the design at the typical corner. Please refer to 'designs/picorv32a/runs/RUN_2022.06.26_16.50.38/reports/signoff/28-rcx_sta.slew.rpt'.                                                                                                                                       
[INFO]: There are no hold violations in the design at the typical corner.
[INFO]: There are no setup violations in the design at the typical corner.
[SUCCESS]: Flow complete.
[INFO]: Note that the following warnings have been generated:
[WARNING]: There are max slew violations in the design at the typical corner. Please refer to 'designs/picorv32a/runs/RUN_2022.06.26_16.50.38/reports/signoff/28-rcx_sta.slew.rpt'.


Оставить комментарий



Посты по теме:
  1. «Ъ»: количество запросов в интернете о пиратской версии Windows выросло до 250% в России  BFM.RU
  2. Спрос на пиратскую версию Windows вырос в России на 250%  NEWS.ru
  3. «Ъ»: в России в несколько раз увеличился спрос на пиратский Windows  Сноб
  4. Россияне вводят ответные санкции против Microsoft и массово переходят на пиратскую Windows  CNews.ru
  5. Россияне на 250% чаще стали «гуглить» способы активации ОС Windows 10  Inc. Russia
  6. Посмотреть в приложении "Google Новости"
  1. Больше никакой Windows. Microsoft объяснила, почему запретила россиянам скачивать свои ОС  CNews.ru
  2. Россиян лишили возможности скачивать образы Windows 10 и 11 с сайта Microsoft — ограничение можно обойти  3DNews
  3. Windows прикрывает окна  Коммерсантъ
  4. Пользователи из РФ не смогли загрузить Windows 10 и 11 с сайта Microsoft  Интерфакс
  5. В России больше нельзя скачать образы Windows 10 и 11 с официального сайта Microsoft  Чемпионат
  6. Посмотреть в приложении "Google Новости"
Для Windows 10 готовится обновление 22H2  overclockers.ru
Архив записей в блогах:
некоторые свотчики гоняют в депрессию, а некоторые в панику, хочется закрыть глаза, забыть, и спрятаться подальше от этого жестокого мира.  тут видимо кто то пытался кровавый маникюр изобразить. Следующие 2 фото принадлежат одному телу. ...
                                      Спасает или ...
« Сладкий сон.. » на Яндекс.Фотках Между прочим, ухи и пузя давно не ...
Собсно к утренней теме "взгляда на мир курильщика". Стала замечать, что меня начинает напрягать скорость на дороге. Причем не так чтоб прям скорость-скорость а ля "втопили 220", а нормальная такая, вполне допустимая скорость на пустой ровной трассе, около ста кэмэчэ. Каждый раз, когда ...
" Население РФ не обладает  возможностями для накоплений, поэтому повышение ставки налога на доходы физлиц ( для тех, кто не хочет самостоятельно копить себе на пенсию, больше всего ударит по неимущим ", считает  г-н Угрюмов , а по ...