1891ВМ12Я 0 1 марта, 2016 Опубликовано 1 марта, 2016 · Жалоба Контора закупила зверь-машину для всяких задач (x86, windows, linux), которые долго выполняются на обычном компе. В связи с этим интересует: можно ли процесс моделирования (Verilog, SystemVerilog) разнести на несколько ядер параллельно, учитывая что тесты будут активно использовать много параллельных нитей ввиде множества initial begin, fork join и так далее? Тут например пишут: the simulation will occupy one processor core, while the GUI operations will run on the other, и это огорчает. Если нет так нет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
agregat 0 1 марта, 2016 Опубликовано 1 марта, 2016 · Жалоба Мы чтобы ускорить моделирование разбивали дизайн на узлы и использовали режим "маггнитофона". Берем первый узел моделируем нужное время, записываем выходные сигналы. Затем второй узел моделируем используя входные воздействия записанные сигналы. Скорость моделирования возрастает неограниченно и никак не связана с мощностью компа в принципе. Так как дробить можно сколько угодно :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 1 марта, 2016 Опубликовано 1 марта, 2016 · Жалоба Мы чтобы ускорить моделирование разбивали дизайн на узлы и использовали режим "маггнитофона". Берем первый узел моделируем нужное время, записываем выходные сигналы. Затем второй узел моделируем используя входные воздействия записанные сигналы. Это у вас обратных связей нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 1 марта, 2016 Опубликовано 1 марта, 2016 · Жалоба Мы чтобы ускорить моделирование разбивали дизайн на узлы и использовали режим "маггнитофона". Не катит... Я мог бы просто запускать N экземпляров в параллель, каждый бы отрабатывал свою часть возможных сценариев тестов. Еще один симулятор пишет что у них "Multi-Core simulation which supports all design languages and constructs and either automatically or manually partitions the design to run in parallel while maintaining a single database for debug and coverage", это Questa - насколько это правда или врут? Почему они смогли а другие пока нет? Собираюсь попробовать этот симулятор... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
akorud 0 1 марта, 2016 Опубликовано 1 марта, 2016 · Жалоба Контора закупила зверь-машину для всяких задач (x86, windows, linux), которые долго выполняются на обычном компе. У Xilinx симуляция на одном ядре. В Vivado P&R (но не синтез) наконец научился загружать все, до чего дотянется. Приятно смотреть. Единственный способ заметно ускорить симуляцию и синтез - собрать игровой компьютер (без графики - хотя если есть бюджет то и поиграть можно ;-) и разгонять по мегагерцах сколько получится. У нас получилось ощутимо сократить время сборки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 1 марта, 2016 Опубликовано 1 марта, 2016 · Жалоба У нас верификаторы для ускорения моделирования использовали VCS вместо modelsim и все это дело запускалось без графики - только трасса в текстовике. PS. Слышал, что для modelsim вроде как отдельная утилита есть, которая позволяет распаралелить задачи за бешенные деньги. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 1 марта, 2016 Опубликовано 1 марта, 2016 · Жалоба использовали VCS вместо modelsim Про него тоже пишут что он типа многопоточный. Его тоже проверю, запущу 10 потоков в fork-join и посмотрю как ядра грузит, и насколько быстрее чем на одном ядре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 2 марта, 2016 Опубликовано 2 марта, 2016 · Жалоба Еще один симулятор пишет что у них "Multi-Core simulation which supports all design languages and constructs and either automatically or manually partitions the design to run in parallel while maintaining a single database for debug and coverage", это Questa - насколько это правда или врут? Почему они смогли а другие пока нет? Собираюсь попробовать этот симулятор... Попробовал в QuestaSim просимулить, посмотрите пожалуйста код, корректно ли я попытался загрузить много ядер тестом? А то QuestaSim крутит это всё на одном ядре, чуть еще одного ядра занимает по всей видимости принтинг $display. В документации (мануале) на QuestaSim единственное что пишут что одного ядро для симуляции, второе логи принимает и графики рисует - но это же отстой, это не соответствует заявлению на их сайте "Multi-Core simulation which supports all design languages and constructs and either automatically or manually partitions the design to run in parallel while maintaining a single database for debug and coverage"... Версия QuestaSim очень старая (10.2c ревизия 2013.07), но все равно - корректно ли я написал тест что жду от него параллельности? Где можно узнать какая конкретно версия QuestaSim самая новая и вообще узнать её возможности, скачать отдельно доки? Может у кого стоит уже, вышлите, пожалуйста, мануал. Графики не вывожу и данные потом никуда не идут, может оно оптимизировало то что не отображается и никуда не поступает?.. `timescale 1ns / 1ps module test_mt; reg [127:0] a, b, c, d; reg clock1, clock2; reg [31:0] x, y; initial begin clock1 = 0; clock2 = 0; x = 0; y = 0; a = 0; b = 0; c = 0; d = 0; end always #(5) clock1 = !clock1; always #(2) clock2 = !clock2; always @(posedge clock1) x <= x + 1; always @(posedge clock2) y <= y - 1; initial fork forever begin #1; $display("thread 1"); c += 2; end forever begin #2; $display("thread 2"); d += 5; end forever begin #1; $display("thread 3"); a++; end forever begin #1; $display("thread 4"); b--; end join endmodule Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aT-DeviLru 1 2 марта, 2016 Опубликовано 2 марта, 2016 · Жалоба В квесте есть отдельная документация на многопроцессорную симуляцию: "Questa ® SIM Multi-core Simulation User’s Guide" (смотреть в папке docs\pdfdocs) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 3 марта, 2016 Опубликовано 3 марта, 2016 · Жалоба В квесте есть отдельная документация на многопроцессорную симуляцию: "Questa ® SIM Multi-core Simulation User’s Guide" (смотреть в папке docs\pdfdocs) Прочитайте, пожалуйста, личку/PM. Написал конфиденциальный вопрос :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 4 марта, 2016 Опубликовано 4 марта, 2016 · Жалоба > мог бы просто запускать N экземпляров в параллель, ну так это одна из причин для создания всяких методологий типа UVM VMM и многих конструкций языка SV если написано с возможностью запуска N экземпляров, то никаким чудо-тулом не поднимете производительность выше этого , распараллеливая один экземпляр (думаю, что даже для N равно 2) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 18 марта, 2016 Опубликовано 18 марта, 2016 · Жалоба В квесте есть отдельная документация на многопроцессорную симуляцию: "Questa ® SIM Multi-core Simulation User’s Guide" (смотреть в папке docs\pdfdocs) Прогресс по теме: действительно, Questa Sim умеет многоядерную симуляцию (и даже многосерверную симуляцию!), там есть специальные утилиты для этого, есть примеры ручного разбиения проекта (если это вообще возможно для данного проекта). Работает такая возможность лишь под Linux 64-bit (мне как линуксоиду приятно). Пока что эксперименты временно отложены. Как появятся результаты - обязательно отпишусь в данной теме :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 18 марта, 2016 Опубликовано 18 марта, 2016 · Жалоба В квесте есть отдельная документация на многопроцессорную симуляцию: "Questa ® SIM Multi-core Simulation User’s Guide" (смотреть в папке docs\pdfdocs) можно выложить? просто пользуюсь ModelSim - заинтересовало... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mad_kvmg 0 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба Простой скриптик раскидывает симуляцию на 8 ядер #!/bin/bash clear opt=0 ts_param="1ns/1ps" if [ $opt == 1 ]; then opt_param="-O1" else opt_param="-novopt" fi vlib work vlog -sv -timescale $ts_param $opt_param -f ./source.list mc2com tb_top -o top_opt -mc2numpart 8 vsim -mc2 top_opt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба В 01.03.2016 в 12:42, akorud сказал: У Xilinx симуляция на одном ядре. В Vivado P&R (но не синтез) наконец научился загружать все, до чего дотянется. Приятно смотреть. Единственный способ заметно ускорить симуляцию и синтез - собрать игровой компьютер (без графики - хотя если есть бюджет то и поиграть можно ;-) и разгонять по мегагерцах сколько получится. У нас получилось ощутимо сократить время сборки. Как показала практика: чем выше частота ядра - тем быстрее моделирование и P&R. На работе простенький Процессор Intel® Core™ i7-8700 дома AMD ryzen 5 3600. Хоть по всем тестам AMD и впереди. Однако P&R Intel делает быстрее. Хотя дома и ОЗУ боле быстрое... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться