vitus_strom 0 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба Всем доброго времени суток! Давно мучает такой вопрос: имеется набор исходников, некоторые из них время от времени редактируются, для того чтобы отмоделировать систему нужно эти исходники (которые изменились) перекомпилировать, естесственно хочется чтобы тикль сам анализировал что изменилось и компилировал только то что изменилось... Может быть кто то такую весчь делал? Заранее всем спасибо за ответы! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Victor 0 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба Так он вроде сам и отслеживает - при открытии проекта изменившееся перекомпилирует... Только как-то встречал глюк, что мсим "не увидел", что файл изменился и не перекомпилировал - с тех пор ручками удаляю папку work, просто на всякий случай ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 199 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба У меня есть подобный скрипт, но он рассчитан на проверку модификации после перекомпиляции только в рамках одного сеанса. Хотя, если есть желание, его не сложно модифицировать для работы и между сеансами моделирования (запусками modelsim). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба 2 maks: можно послать суда: viktor (dot) motspan (at) sitronicsts (dot)com что то нет времени самому писать а так бы с удовольствием 2 Viktor: так это для проекта... что то мне показалось геморным заводить проект, да и ведет он себя как то странно, без проекта все нормально складывается а в проекте что то его колбасит а удалив предварительно ворк проблема исчезает автоматицки :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба 2 vitus_strom: я по прежнему предлагаю вам жестко компилировать все файлы проекта из списка - текстового файла. vcom -f project_files.txt Сколько времени это занимает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба В большом проекте много. в данный момент время компиляции примерно равно времени моделирования Плюс зачем мне компилить файлы которые точно не изменялись? приведите хотябы один довод. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба Если времена примерно одинаковые, то действительно не имеет смысла. У меня время компиляции обычно меньше в разы, поэтому я компилирую все, чтобы не думать над этой проблемой вообще. К тому же, этот же список файлов я использую в нц-верилоге и debussy. Если его еще использовать и для синтезатора (обычно у меня два списка, с рабочими исходниками и с тестовыми воздействиями), то для всех инструментов исходники гарантированно одинаковы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 199 29 октября, 2007 Опубликовано 29 октября, 2007 · Жалоба 2 maks: можно послать суда: viktor (dot) motspan (at) sitronicsts (dot)com что то нет времени самому писать а так бы с удовольствием См. приложение к сообщению. Пример запускать так: "modelsim -do flipflop.do" или "questasim -do flipflop.do" После старта симулятора, если начальная компиляция не удалась по причине ошибок, то ее можно перезапустить с помощью команды sim из командной строки. После успешного начала моделирования можно использовать следующие команды: save_wave - сохранить текущее отображение окна с сигналами (его режим). load_wave - загрузить сохраненное отображение окна с сигналами (его режим). r - сброс сеанста моделирования (reset). c - перекомпилировать все изменившиеся исходники. ca - принудительно перекомпилировать все исходники. crs - перекомпилировать, сбросить (отресетить) и запустить моделирование. rs - сбросить и запустить моделирование сначала. 2 Viktor: так это для проекта... что то мне показалось геморным заводить проект, да и ведет он себя как то странно, без проекта все нормально складывается а в проекте что то его колбасит а удалив предварительно ворк проблема исчезает автоматицки :) Проекты не всегда удобны. Куда удобнее .do-файл и правильный modelsim.ini. sample_simulation.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба Добрый день всем! Решил спросить здесь что бы темы не плодить. Есть проект на систем верилоге и его верификационное окружение. Теперь хочу пропустить rtl часть через code_coverage. В хелпе указано что для этого нужно воспользоваться coverage save, coverage report. Но вызванными после окончания или остановки моделирования. У меня время моделирования определяется разработанным окружением и моделирование заканчивается вызовом $finish(2); Но в этой среде вызов $finish приводит к закрытию симулятора и окончанию выполнения команд из скрипта. Существует ли способ, с помошью которого можно завершить верилог симуляцию и вернуть управление симулятору, для дальнейшего выполнения скрипта ? ЗЫ. В пределах поставленной задачи можно решить проблему с помошью coverage save -onexit или $set_coverage_db_name(). Но это к вопросу не относиться. ЗЗЫ. Что касается компиляции верилог исходников в среду заложена возможность инкрементальной компиляции vlog -incr. Странно что нет такого для вхдл. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба Существует ли способ, с помошью которого можно завершить верилог симуляцию и вернуть управление симулятору, для дальнейшего выполнения скрипта ?Используйте $stop вместро $finish. Или я чего-то не понял? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба Используйте $stop вместро $finish. Или я чего-то не понял? тоже не работает :( вот пример : timeunit 1ns; timeprecision 100ps; module tb; logic a; initial begin a = 0; forever a = #10ns !a; end logic b; always_comb b = a; logic c; always_ff @(posedge a or negedge b) begin c <= 1 + b; end initial begin #100ns; $display ("done"); $stop; end endmodule вот батник запуска vsim -c -do do.do где в do файле прописано vlog -sv tst.v -cover bcesxf vsim -coverage work.tb run -all coverage report -lines -file coverage_rep coverage save coverage.ucdb quit а вот и печальный результат # do do.do # QuestaSim vlog 6.2f Compiler 2007.01 Jan 12 2007 # -- Compiling module tb # # Top level modules: # tb # vsim -coverage work.tb # ** Note: (vsim-3813) Design is being optimized due to module recompilation... # // QuestaSim 6.2f Jan 12 2007 # // # // Copyright 1991-2007 Mentor Graphics Corporation # // All Rights Reserved. # // # // THIS WORK CONTAINS TRADE SECRET AND # // PROPRIETARY INFORMATION WHICH IS THE PROPERTY # // OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS # // AND IS SUBJECT TO LICENSE TERMS. # // # Loading C:\QuestaSim_6.2f\win32/../sv_std.std # Loading work.tb(fast) # done # Break in Module tb at tst.v line 28 # Stopped at tst.v line 28 # Simulation Breakpoint: Break in Module tb at tst.v line 28 # MACRO ./do.do PAUSED at line 7 после $stop, $finish вываливается консоль с приглашением ввести следущую команду. если запускать не в консольном режиме результат тот же самый # Break in Module tb at tst.v line 28 # Simulation Breakpoint: Break in Module tb at tst.v line 28 # MACRO ./do.do PAUSED at line 7 Может я что то не так делаю ? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 50 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба См. приложение к сообщению. Скрипты на TCL - это, конечно, замечательно. Но это надо учить этот язык - еще один язык среди прочих. И только для того, чтобы пилотировать симулятором. Как-то в такой постановке оно не очень располагает к изучению. У меня вопрос: вот я гляжу в доку на симулятор и вижу, что помимо команд консоли та же функциональность достигается и из командной строки (шелла). Для Ривьеры, например, в консоли для компиляции используется команда alog (для Verilog'а), а из командной строки vlog. Для создания библиотеки в консоли - alib, в командной строке - vlib. И т.д. Так вот, не выходит ли так, что все эти действия по компиляции, симуляции, работе с библиотеками и прочим можно делать вообще извне по отношению к консоли симулятора - например, записав все команды в качестве целей системе сборки (или вообще в виде набора батников) и пускать их хоть из того же Far'а или из любимого редактора HDL, что, вообще-то, и является желаемой целью - кодить описание в редакторе и из него все тулзы пускать (компиляцию, симуляцию, просмотр диаграмм)... В чем подвох? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба Скрипты на TCL - это, конечно, замечательно. Но это надо учить этот язык - еще один язык среди прочих. И только для того, чтобы пилотировать симулятором. Как-то в такой постановке оно не очень располагает к изучению. У меня вопрос: вот я гляжу в доку на симулятор и вижу, что помимо команд консоли та же функциональность достигается и из командной строки (шелла). Для Ривьеры, например, в консоли для компиляции используется команда alog (для Verilog'а), а из командной строки vlog. Для создания библиотеки в консоли - alib, в командной строке - vlib. И т.д. Так вот, не выходит ли так, что все эти действия по компиляции, симуляции, работе с библиотеками и прочим можно делать вообще извне по отношению к консоли симулятора - например, записав все команды в качестве целей системе сборки (или вообще в виде набора батников) и пускать их хоть из того же Far'а или из любимого редактора HDL, что, вообще-то, и является желаемой целью - кодить описание в редакторе и из него все тулзы пускать (компиляцию, симуляцию, просмотр диаграмм)... В чем подвох? Вы абсолютно правы :)) когда я плотно сидел на активе, то верхом его использования была компиляция и симуляция с коммандной строки. (доходил до запуска на 4 башковой машине сразу 4 тестов на 3-4 часа. Все работало хорошо). Самое главное пути верные прописать. Все работает с обычных батников. Ну а когда переполз на ментор, о тут вообще все просто, правда иногда бывают затыки описанные выше. Подключил его к слику, работаю практически как в активе :) ЗЫ. Шас работаю с альтерой так и квартус запускаю только с командной строки. Получается просто и быстро. И логи просто обрабатывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ClockworkOrange 0 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба Скрипты на TCL - это, конечно, замечательно. Но это надо учить этот язык - еще один язык среди прочих. И только для того, чтобы пилотировать симулятором. Как-то в такой постановке оно не очень располагает к изучению. .. & Altera Quartus, Xilinx ISE, Synplify, more MG product (all?), all Synopsys product, all Cadence product, etc.. (& more-more EDA-tools) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 50 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба .. & Altera Quartus, Xilinx ISE, Synplify, more MG product (all?), all Synopsys product, all Cadence product, etc.. (& more-more EDA-tools) Я это все знаю, но там оно не так актуально (исключая синопсисы и иже с ними). У меня в арсенале, например, есть простой и мощный ЯП Python (который по возможностям кроет TCL как бык овцу, и изучать который было много сильных мотивов), и меня бы куда больше устроило использовать его для целей скриптописания. Беда лишь в том, что тулзы (возможно, пока) не поддерживают его. Хотя в той же Ривьере есть возможность пускать Perl'овые скрипты, это уже прогресс - Perl язык того же калибра, что и Python, т.ч. есть надежда. А пока я, в общем, иду по этому же пути, только скрипт у меня в системе сборки и запуск тулзов производится как commad-line. Самое главное пути верные прописать. Все работает с обычных батников. Ну а когда переполз на ментор, о тут вообще все просто, правда иногда бывают затыки описанные выше. "Все просто" - это вы TCL освоили? Или что? Подключил его к слику, работаю практически как в активе :) ЗЫ. Шас работаю с альтерой так и квартус запускаю только с командной строки. Получается просто и быстро. И логи просто обрабатывать. Логи чем обрабатываете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться