Jump to content

    

al1

Участник
  • Content Count

    122
  • Joined

  • Last visited

Community Reputation

0 Обычный

About al1

  • Rank
    Частый гость
  1. В далёком 2008 году конфигурировал систему: сервер Questa на линуксе Клиенты Questa на виндовсе Работает так: - вручную на сервере стартуем Questa - вручную на клиентах стартуем Questa и указываем слушать сервер - Сервер скриптом раздаёт задачи и ждёт их завершения --- Раздаёт так: --- есть общая для всех квест расшаренная директория --- Сервер копирует туда проект в новую директорию --- сервер через jobspy даёт команду клиенту компилировать, моделировать и т.д. - не уверен, но вроде после завершения задачи на клиенте сервер выдаёт новую Как работают скрипты уже не помню, но может наведёт на размышление. Делал сам, для себя, поэтому с оформлением текста не очень, выкладываю как есть P.S. Бред какой-то - не даёт вставить файлы с расширением .sh и .do, пришлось добавить .txt
  2. -------------------------------------------------------------------------------- 1. HDL Designer: How to use Altera parts without using Megawizard? Solution You can use the Altera primitive without using the Megawizard. In this case you would use the "Add External IP" function is HDL Designer. In order to use this function, you must have access to the source file for the primitive that you wish to use, and you need to first compile the primitive in ModelSim, outside of HDL Designer. Then you need to map the Altera library in HDL Designer. To map the library, select "New Library" in the HDL Designer Project Manager and choose the option to create a new "Downstream Only" library. Then enter the path to your compiled Altera directory that you created with Modelsim. Click the Add button and then click Finish. Now you should be able to use the "Add External IP" function in HDL Designer to instantiate the primitive in your design. -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 2. [attachment=78296:10054.pdf] --------------------------------------------------------------------------------
  3. Фальш путь? (False Path) Если это что надо, то оно описано в User Manual > Constraining and Synthesizing > Setting Timing Constraints > Setting False Paths
  4. Алгоритм такой: 1. сносим всё 2. ставим ПОСЛЕДНЮЮ версию EXP 3. Ставим ПОСЛЕДНЮЮ версию SV, причём при инсталляции выбираем Overlay и в качестве директории инсталляции указываем SDD_HOME Должно рабоать.
  5. Цитата(brag @ Dec 29 2009, 23:12) a в hyperlynx_analog, который вгодит в PADS9, входит уже симулятор или надо ставить отдельно ADMS?<br /><br /><br /> Да, надо инсталлировать ADMS отдельно, и, открыв проект в HLA, в свойствах тестбенча переключить симулятор с HyperLynx Analog на Eldo или ADMS. Первое для чисто spice проекта, второе - для проекта содержащего кроме spice любые другие языки.
  6. Цитата(des00 @ Jul 16 2009, 09:51) Кодрезультат тестов AMD Atlon 64 X2 4400+ : 4*1GB : Windows XP SP3 32Bit Aldec8.1sp2 NO_LOG 2**24        # RUNTIME: RUNTIME_0069 CPU time - 9.15s system + 0.01s user = 9.16s total.   WAVEFORM            # RUNTIME: RUNTIME_0069 CPU time - 16.67s system + 0.09s user = 16.76s total. QuestaSim6.4c NO_LOG 2**24        #          Process time 11.81 seconds   WAVEFORM            # с оптимизацией порты увидеть не получилось вообще                      # увидеть получилось только в режиме -novopt : Process time 110.25 seconds Вот я и добрался до waveform. Но тут у нас свами суууууурьёзные расхождения. Начнём с альдека. Тут я согласен, замедление с диаграммами составляет 1.8 раза. Похоже на правду. Теперь Ms. что значит не видятся сигналы? У меня на верхнем уровне всё видится! там 4 сигнала. Я их вывел, через GUI и промоделировал. Только не маленько время, а максимальное - 2**28. Результат - 360.54 seconds. Напомню, без диаграмм у меня было 319.41 Итого замедление в 1.1 раза. Похоже на правду? По моему похоже! Сигналы живые, я проверил - меняются. Я почему такие осторожные формулировки даю, потому, что как мы убелились выше что Ms, что альдек, хитрожопые очень, в любой момент могут заоптимизировать чёнить и сказать что всё круто. ААААААААААААА! Озарение пришло!!! Я понял почему вы сигналы не видели!!! Код-то у вас с ошибками! Я вам тверже- твержу, что заголовок мой надо использовать, т.е. выводить сигналы из UUT! Проверил MS еще раз, но теперь с маленьким временм - 2**24 Без диаграмм - 19.07 seconds С диаграммами - 22.36 seconds Замедление в 1.2 раза Вот, я вас выше по тексту просил объяснить пару фактов, вот вам ещё один факт который потрудитесь, пожалуйста объяснить: если с моделсимом всё понято, замедление в 1.1 раза можно объяснить записью данных в базу диаграмм сигналов, то с альдеком вызывает удивление что простейшая операция записи данных в файл приводит к почти двухкратному замедлению производительности. Странно? Странно! А вот вам ещё тест: Возьмите МОЙ заголовок, время 2**28 и сравните альдек и молесим С ВЫВОДОМ сигналов. Рискну сделать прогноз: ваши резултатты для MS получатся следющие: NO_LOG 2**24 # Process time 31.89 * 1.15 = 36.67 seconds NO_LOG 2**28 # Process time 520.58 * 1.15 = 598.66 seconds Это медленнее альдека с диаграммами в ВАШИМ заголовком, но для меня пока не ясен ворос почему в альдеке двухкратная просадка при включении диаграмм сигналов. Посмотрим что будес с МОИМ зоголовком.
  7. Цитата(des00 @ Jul 17 2009, 07:44) КодAldec8.1sp2 NO_LOG 2**24         # RUNTIME: RUNTIME_0069 CPU time - 9.09s system + 0.00s user = 9.09s total. NO_LOG 2**28         # RUNTIME: RUNTIME_0069 CPU time - 145.79s system + 0.00s user = 145.79s total. QuestaSim6.4c NO_LOG 2**24           #          Process time 31.89 seconds NO_LOG 2**28           #          Process time 520.58 seconds как видно альдек почти не заметил этого измения, тогда как ментор круто просел. Взял бы меня ментор/альдек на должность тестера (денег мне не надо, дайте только официальную поддержку), подобных финтов обоих симуляторов за свою жизнь я видел очень много. Это уже интересно. Я уже близок к тому чтобы послать пример на ментор, но всё еще не могу сформулировать вопрос. Проблема вот в чём: Ваш оригинальный пример (NO_LOG 2**28) моделируется в моделсиме - 112.49 seconds (на моём компе) После модификации заголовка - 319.41 seconds На вашем компе тоже разница около трёх раз получилась. Логичный предположительный вывод: до модификации удаляется часть логики - поэтому быстрее. Теперь альдек: Ваш оригинальный пример (NO_LOG 2**28) моделируется в альдеке - 146.94s total. (на вашем компе) После модификации заголовка - 145.79s total. Т.е. как будем считать, что результаты равны или после модификации даже быстрее? И в том и в другом случае помогите мне, пожалуйста, объяснить данные результаты. P.S. Вот, вы говорите что я пустослов ибо мне лень скачать альдек и запустить скрипт. И сейчас я готов объяснить что обвинения ваши совершенно не справедливы. А не справедливы потому, что запустить скрипт и увидеть результаты это одно, а объяснить почему именно такие результаты - это совсем другое. Т.е. мне, тогда, надо рзабираться каие способы оптимизации есть у альдека, как они работают, и не является-ли данный примрер покозателем того что альдек "заоптимизировал в ноль" оба примера - и до и после модификации - в то время как моделсим - только первый. Я не настаиваю на этом, просто говорю что если бы я выдал некие результаты исследований, то я обязан был бы их грамотно объяснить. А это много дней исследовательской работы (т.е. внимательно изучения user manual-а от альдека). Тем более вы говорите что вы всё знаете. Вот и объясните, пожалуйста. P.S. 2 В качестве тестеров нужны люди которые могут не только получить некие результаты, но и объяснить почему результаты именно такие. P.S. 3 Ещё я запустил самый первый вариант, где не repeat используется, а #112000 $stop(2); Но с моим заголовком!!!! Только я подставил не 112000, а 268435456. А получил я это число вот как: в вашем старом примере задействовано 2**28 тактов, а каждый такт это 20ns. 2**28*20 = 5368709120 Но при попытке промоделировать #5368709120 $stop(2); - получил отлупу что число не укладывается в 32-х битный формат. Тогда я просто не стал умножать на 20, а взял 2**28=268435456, полуил время моделирования 15.65 seconds, ну и помножил его на 20, получил 313 секунд. Т.е. в ModelSim, и в первом варианте , когда #112000 $stop(2); и во втором, когда через repeat получаются равные резыльтаты - 319.41 и 313 ссответственно. Расхождение только из-за того что я подставлял не 5368709120, а 268435456. Наверное, возрожений не возникнет если я скажу что так и должно быть. А что же альдек? Цитирую: Цитата(des00 @ Jul 16 2009, 13:23) сделано через repeat (2**24) @(posedge CLK). т.к. моделирование на задержках даже при #(2**31-1) заканчивается очень быстро, и чревато большей погрешностью измерений. И вы кому-то рекомендуете ЭТИМ пользоваться? --------------------------- Цитата(des00 @ Jul 17 2009, 07:44) все правильно вы сделали, в данном конкретном примере пишется по строке каждый такт. потому и лог большой. В моих проектах логи доходят до 500-800 мегабайт, разбираю я их с помощью регулярных выражений на любимом питоне. Можно упростить задачу, вести логи не в одном файле в нескольких файлах, апогеем этой идеи есть использование message server в современных технологиях верификации. Можно и самому написать нечто похожее, взяв за образец примеры из OVM/VMM. именно по этому я и ссылаюсь на эти технологии, как комплексное обобщение инженерного опыта накопленного большим поколением разработчиков. Ну ни фига себе у вас оптимально процесс налажен!!?? Сначала сгенерить туеву хучу логов, а потом написать скрипт который отсеит 99.99999999999% мусора. Наверное, десяток строк из 800 мегов текста. Вам не стыдно такое про себя рассказывать? Вы же позиционипуете себя как хороший специалист!!! А потом удивляемся - а чё это у нас продукция неконкурентроспособная? Да потому что производительность труда в 10 раз хуже!!! А не проще сразу генерить ТОЛЬКО те логи которые нужны? Простите за резкие фразы, но я чуть со стула не упал когда это прочитал. Цитата(des00 @ Jul 16 2009, 13:23) вы никогда не наблюдали как красиво зависает тестбенч, а вы сидите и думаете что он работает? В GUI моделсима в срмой нижней строке окна есть индикатор показывающий текущий момент моделирования, т.е. что симулятор жив.
  8. Цитата(des00 @ Jul 16 2009, 13:23) задача : сравнить производительность по времени моделирования для симуляторов компаний альдек и ментор. на различных категориях тестов, в том числе и на тестах с автоматической проверкой ошибок, в которых очень часто ведутся логи проверки. тесты без логов очень редки, т.к. они позволяют выявить ошибку, но не позволяют ее локализовать. 1.5 гига логов позволяют выловить ошибку? (об этом иже) Сумнивааюсь. Цитата(des00 @ Jul 16 2009, 13:23) Использовать OVM совершенно не обязательно для создания среды автоматической верификации. Ну а чё же вы тогда про OVM вспоминаете? Нипаняяятна Цитата(des00 @ Jul 16 2009, 13:23) 1. в этой теме мы рассматриваем фпга маршрут 2. компании выпускают и продают windows версии 3. называя себя лидером рынка подсовывать windows пользователям не доработанный продукт, как то не красит компанию. лучше бы вообще его не выпускали. Не используйте функций из ОС и всё будет одинаково. Цитата(des00 @ Jul 16 2009, 13:23) видя что функция $monitor выводи сообщения не куда либо в систему, а в консоль того симулятора в котором она вызывается, делаю заключение что это не системная функция. и видя результаты сравнения вижу что реализация этой функции у ментора хуже. Вы знаете что такое библиотека Tk? Вы готовы поставить, скажем, $100 на то что функция вывода строки в поле вывода окна не использует системную функцию вывода данных на монитор? Просто я знаком с языком/библиотекой TCL/Tk (на которых построен GUI моделсима) и могу рассказать много интересного. (Кстати за это GUI моделстма и ругают) Именно по этому я не делаю таких радикальных выодов как вы. Про $100 я не шучу. Цитата(des00 @ Jul 16 2009, 13:23) еще раз для тех кто в танке. есть тестбенч, у которого есть начало и есть конец. пока он не будет закончен процесс верификации не выполнен. есть время начало теста и время его конца. Тот симулятор имеет большую производительность, который имеет это время меньше. А какими причинами это вызвано, меня как пользователя, не волнует. А если HDL код не правильный - это тоже не волнует? Цитата(des00 @ Jul 16 2009, 13:23) все это я прекрасно знаю, если вы внимательно читали мое сообщение, то увидели бы что в альдеке мне удалось отмоделировать на максимальном уровне оптимизации с вейвформой и это замедлило проект всего в 2 раза. для сравнения я хотел сделать тоже в квесте, но видно не судьба. если думаете что вы открыли мне глаза на assettion based design то вы глубоко ошибаетесь. Ок. про сравнение с/без диаграмм - чуть позже. Почему позже - объяснение в конце этого поста. Цитата(des00 @ Jul 16 2009, 13:23) простите великодушно, но ИМХО вы обычный пустозвон. Вы первый наехали на пользователей сторонних симуляторов, причем так конкретно наехали, но как началась серьезная работа и разборки так сразу в кусты. Мне вот например не жалко было потратить пол дня на запуск тестов, результат которых я знал заранее и был в этом уверен. А вам жаль поставить софт и сделать Run-Macro для того что бы на своей машине увидеть результат, конечно легче в очередной раз всех признать некомпетентными. Я вас тоже люблю. Но наезжать я ни на кого не собирался, если вы это так восприняли, то прошу меня простить. Моя задача найти и если нашёл, то указать на ошибку, ибо вдруг это не ошибка а я не прав. Цитата(des00 @ Jul 16 2009, 13:23) скажите, какой у вас опыт проектирования и моделирования проектов ? вы никогда не наблюдали как красиво зависает тестбенч, а вы сидите и думаете что он работает? Вы никогда не делали прогоны на golden model, когда например надо прогнать пару гигабайт данных для проверки математики? Искренне хочу ошибаться, но ваши ответы больше похожи на ответы рекламного инженера/менеджера нахватавшегося минимальных знаний от гуру и рекламных книг и ничего кроме улыбки у меня не вызывают. Давайте начнём с вас. (Обычно говорят: я крутой а ты кто?) Для начала расскажите вот что: при запуске вашего теста USE_LOG я получил .log файл 1.5 гигабайта! ПОЛТОРА ГИГАБАЙТА ЛОГОВ - это так и должно быть или я то-то неверно сделал? Расскажите мне, пожалуйста методику работы с логами такго объёма. И не надо ля-ля про то что это всего лишь тестовый пример. Если ваша задача просто показать что моделсим медленнее, так и скажите - я с вами сразу соглашусь - да, сформировать такой HDL который в MS будет моделиться медленнее всех принципиально возможно. Я это ни гда и не отрицал. ------------------------------ Всё что было выше (в этом моём посте) - неважно - пустая болтовня. Важно следующее. У мнея без логов получилось вот - что: # NO_LOG 2**28 # Process time 184.47 seconds NO_LOG 2**28 # Process time 112.49 seconds NO_LOG 2**28 al1_modelsim.zip # Process time 319.41 seconds Остальные сравнения я тоже запускал, но и их результатах я пока сомневаюсь по следующей причине. Объясняю. На вашей машине получилось 184.47 seconds На моей - 112.49 seconds Ок. Результаты похожи и меня всё устраивает, за исключением одного: я изменил заголовок файла uut.v и теперь он выглядит так (модифицированный проект приаттачен): Кодmodule UUT(AB, DB, WR, ERR); output [15:0] AB; output [7:0]  DB; output WR,ERR; И о чудо, время моделирования возросло до 319.41 seconds - в три раза! Т.е. у меня такое подозрение что vopt как-то слишком сильно "оптимизирует" проект (в кавычках - потому что это уже чересчур). Вы, вот, зря проигнорировали мой вчерашний пост что надо заголовок менять. Похоже что надо. Или я не прав? Ну, и, типа, сразу возникают подозрения, а не заоптимизировал-ли альдек проект тоже в ноль. (это не наезд - это предположение) Зпустите на альдеке модифицированный код - это всего 300 секунд.
  9. Цитата(des00 @ Jul 16 2009, 09:51) не выдержал, специально для вас потратил пол рабочих дня на исследования (т.к. машина одна, работать не ней я не мог что бы не сбить измерения). на машине работал только симулятор. сорцы + скрипты в атаче. вот результат работы ... смотрите сами, решайте сами. надеюсь время тестирования в 1200 секунд вы не сочтете бесконечно малым . тесты запускались несколько раз, записывалось среднее время. Ок. Если я правильно понял это новый проект? Сейчас начну с ним разбираться... Но а старый-то проект, вы подтверждаете или опровергаете мой вывод о 30-кратном преимуществе моделсима без $fmolitor ? Запустите его тоже еще раз на вашем новом оборудовании, только в модифицированном мной варианте. У вас получится 0.01 секунда для #112000 $stop(2); ? Цитата(des00 @ Jul 16 2009, 09:51) долго смеялся, и это после того как вся отладка и работа в любимом, продвигаемым ментором, OVM построена на $display/$fdisplay в разные файлы %) В очередной раз обясняю: сформулируйте чётко задачу! Что вы хотите? Сравнить скорость моделирования с aldec? aldek поддерживает OVM? Если вы хотите использовать OVM, то повышение производительности труда будет НЕ за счёт быстрой скорости моделирования. Скорость моделирования ввобще уменьшится. Смысл в другом. В чём именно объяснял уже не раз, могу повторить если надо. Вспомните процессоры. Раньше все гнались за частотой. Потом AMD-шникам первым пришлов голову что частота это не главное, а важна ещё и архитектура и они ввели так называемые индексы (или коэффециенты, хз как правильно). Сейчас скорость моделирования уже не главное. Уже не имеет значения сколько будет моделироваться проект, одну неделю или две - оба случая неприемлемы!!! Цитата(des00 @ Jul 16 2009, 09:51) смеялся еще больше, тогда уж пишите в рекомендация к софту "Не несем ответственности в случае работы под виндами" %) 1. Ну если бы это был официальная рекомендация ментора, можно было-бы и посмеяться. 2. А так, посмеяться можно только над вами, раз вы не знаете что все маржруты проектирования IC работают под разными юниксами и линуксами, а windows не признаётся как ОС для рабочих станций. Для неграмотных - мат часть: существуют два понятия - 1. PC - персональный компьютер, как правило подразумевает ОС windows 2. Workstation - рабочая станция, ни какого виндавоза даже и не подразумевается. Цитата(des00 @ Jul 16 2009, 09:51) ЗЫ. ИМХО функция $monitor не имеет отношения к системе, т.к. это функция по выдаче информации в консоль конкретного симулятора и именно эта функция у ментора тормозит в разы. Но и у альдека тут не все так гладко, в частности почему то $monitor работает медленнее чем $fmonitor(1, ...) Это вы утверждаете или спрашиваете? Если спрашиваете, то надо разбираться, я в таки дебри не вникал, а нести отсебятину не привик. А если утверждаете, то что? Что на тесте где функция вывода в консоль занимает большОй процент от всего времени моделирования что-то работает медленее, а что-то быстрее? Так это бред, ибо вы сравниваете не скорость работы функций относящихся к ОС, а не к симуляторам. Нужно чтобы время на вывод в консоль составлято доли процента от общего времени моделирования. И, вообще, зачем вам выводить в консоль строки типа "действие такое-то - успешно"? Надо выодить только ошибки. Цитата(des00 @ Jul 16 2009, 09:51) ЗЗЫ. подскажите как в режиме -O5 смотреть вейвформы в симуляторах ментора ? Два варианта: 1. проект маденький Тогда он моделируется секнды и минуты и вам -О5 не нуден 2. Проект большой Тогда при использовании диаграмм сигналов вы будете проект делать годами, выискивая глазами на диграммах ошибку. Короче, вейвформы не нужны. Всё что вы хотите найти глазами на вейформах надо сформулировать ассертами. Один раз. И эта формулировка ОСЕГДА будет отслеживаться, а не только тогда, когда вы соизволите просмотреть диаграмму. В современных проектах формальная модель (ассерты) по объёму сравнима с HDL моделью. Да, работы в два раза больше, но проект вы отладите раз в 10 быстрее. Точно знаю что так делают в Intel: сначала пишется HDL модель, затем формальная (на ассертах). Цитата(des00 @ Jul 16 2009, 09:51) ЗЗЗЫ. поставте себе симулятор от альдека для адекватности сравнения. ривера под линух точно есть, ну а актив запустите хотя бы под вайном. Прошу прощения, ну ни как, а то работа совсем встанет... Мне постоянно приходится изучать много нового материала. А он как правило на английском... да ещё и хрен найдёшь. Щас, вот, ввязался в перевод спецификации по SystemVerilog... (не весь, кончно, моя тольо часть) Короче разбираться в ещё одной системе только чтобы кому-то что-то доказать - совсем не катит. Я метор знаю хорошо, мне этого за глаза хватает. Считаю что кому надо, прочитав эту ветку уже смогут сделать выводы.
  10. Сорри за нескорый ответ, работу надо делать. ...приподмодифицировал uut.v Заголовок заменил на: module UUT (AB, DB, WR, ERR); output [15:0] AB; output [7:0] DB; output WR,ERR; ... это чтобы оптимизатор не выкидывал ничего Теперь моделирование времени #(112000*10000) $stop(2); выдаёт более реальные результаты: # ** Note: Data structure takes 1572880 bytes of memory # Process time 60.81 seconds # $stop : .//uut.v(55) # Time: 1120 ms Iteration: 0 Instance: /UUT Т.е. убедились что оптимизатор не порушил проект. А если вернуть время как было: #112000 $stop(2); то получаю ту же самою 0.01 секунду: # ** Note: Data structure takes 1572880 bytes of memory # Process time 0.01 seconds # $stop : .//uut.v(56) # Time: 112 us Iteration: 0 Instance: /UUT Далее просто методом подбора подогнал такое модельное время чтобы получить примерно 0.19s: #(112000*30) $stop(2); и получил # ** Note: Data structure takes 1572880 bytes of memory # Process time 0.19 seconds # $stop : .//uut.v(55) # Time: 3360 us Iteration: 0 Instance: /UUT Так что если стравнить с самым первым тестом альдека в этой теме годичной давности, то получается моделсим в 30 раз быстрее моделирует. Ну с учётом того что у меня оборудование более мощное - пусть будет в 28 раз быстрее, ибо я считаю что более новое оборудование может ускорить на несколько процентов, но не на порядки. P.S. Можт и ошибся где в расчтах - поправьте. P.S. 2 Вы, господин, des00, предлагали создать тему с описаниями стилей наиболее пригодных для разных симуляторов. Предлагаю первую запись для ModelSim Симулятор: ModelSim, Questa Задача: максимально быстрое моделирование Решения: 1. Не использовать системных вызовов 1.a. Если системные вызовы необходимы - использовать Linux.
  11. P.S. Вот ещё комментарий почему при отключенном fmonitor моделсим выдаёт настолько маленькое время моделирования - похоже моделсим проекта совсем заоптимизировал. Чтобы получить время побольше надо менять исходный код. Чуть позже попробую подредактировать проект...
  12. Обратился к гуру по поводу обещанного мной примера, естественно свои ни кто не даёт, но посмотрели выложенный в этой ветке modelsim.zip и, в итоге, в качестве примера который моделируется быстрее всех именно в ModelSim-е выкладываю модифицированный uut.v из того-же modelsim.zip, который ранее почему-то был признан как более быстрый в альдек. В модифицированном uut.v 1. время моделирования (строка 50) увеличено до 112000*1000000000, я пытался и больше, но возникает ошибка что превышен порог 32-х битного значения и 2. закомментирован вывод в консоль (строка $fmonitor). Результат - время моделирования варьируется от # Process time 0.01 seconds до # Process time 0.00 seconds Почему нужно нужно отключить $fmonitor? 1. это системный вызов, т.е. вызов функции операционной системы, а за скорость работы ВАШЕЙ операциооной системы разработчики не могут отчитываться. Подтверждением этого является тот факт, что моделирование со ВКЛЮЧЕННЫМ $fmonitor на моём компьютере работает существенно (в несколько раз) быстрее чем при первоначальном моделировании выполненном товарищем des00. Объяснить это только тем что я использовал более мощный компьютер нельзя!!! Сравните конфигурации. Тогда-бы у меня моделирование выполнялось на 30%, ну на 50% быстрее, но не в несколько раз! Объяснение оно - я использовал линукс, а в линкусе конкретно этот системный вызов ($fmonitor) выполняется быстрее. 2. само сравнение со включенным $fmonitor с альдеком является не корректным, т.к. моделсим, не сильно заморачиваясь выводит суммарное время моделирования, включая время на ожидание завершения системных функций, а как можно предположить из отчётов альдека - он вычленяет только то время которое тратится именно на сам процесс моделирования. Итог: как видно из результатов сравнения опубликованных выше по этой теме - в примере modelsim.zip моделсим на один или несколько порядков работает быстрее. Итог 2: на данном форуме несколько раз возникали отзывы о сравнении производительности утверждающие что ModelSim самый медленный симулятор, например, при моделировании после синтеза и с задержками. Как видно из единственного выложенного примера, скорее всего эти сравнения проводились с неверно сконфигурированным проектом.
  13. Цитата(des00 @ Jul 3 2009, 06:22) Код          assert (std::randomize(delay) with {delay dist {0 := 1, !0 :/ 2};}) else              $error ("random delay generate error"); вот этот код будет выполнен программным инструментом под названием моделсим? очень часто использую для моделирования V/SV/VHDL кода. Скорее всего не будет, но он и в альдеке не промоделируется? Цитата(des00 @ Jul 3 2009, 06:22) давайте выкладывайте, чем больше мы наберем базу примеров, тем лучше. можно будет даже таблицу как на сахаре для МК сделать с эталонными примерами и результатами. "№;%:?*?:%;№"№; Ну ладно, я сам напросился, надо былао промолчать. Ок, постараюсь на следующей недели вспомнить где я их видел и выложить. Цитата(des00 @ Jul 3 2009, 06:22) можно подробнее ? вот ответ официального представителя фирмы ментор в россии : + документы ModelSim 6.5 Series Product Comparison и Questa 6.5 Series Product Comparison в котором черным по белому написано что SystemVerilog IEEE1800 Verification не поддерживается в ModelSim SE даже за доплату. + прайс на ментор, в котором базовая позиция поддерживает только один язык Система моделирования на языке VHDL или Verilog (полнофункциональная версия) - ModelSim SE/VHDL (or Verilog) Ap SW а расширенная позиция Система моделирования на языке VHDL и Verilog (полнофункциональная версия) - ModelSim SE MixedHDL Ap SW не содержит даже упоминания о поддержке SV сравните с прайсами и функциональностью продуктов компании альдек Про прайсы, извините, не комне, а, вот, ModelSim 6.5 Series Product Comparison, это тот файл что я приаттачил? Там же две строчки?: SystemVerilog IEEE1800 Design и SystemVerilog IEEE1800 Verification SystemVerilog IEEE1800 Verification - действительно тока в квесте, а SystemVerilog IEEE1800 Design - я всегда считал что должен быть эквивалентен альдеку Опять же лично я, для себя образно разделяю: Design - это классы, а Verification - это ассерты Могу и ошибаться. Цитата(des00 @ Jul 3 2009, 06:22) хорошо, я подготовлю рандомизированный тест этого кодека, который будет моделироваться в квесте и альдеке, а уж вы проверьте его в моделсиме. Ну, вот, это дело! И если какие конструкции заработают в альдеке, но не заработают в моделсиме - вот тогда и можно будет говорить что альдек лучше (ибо квеста дороже). Цитата(des00 @ Jul 3 2009, 06:22) ЗЫ. и для корректности сравнения поставте себе альдек, что бы было с чем сравнивать скорость. Согласен, это, как бы, надо сделать. Но толку? Я же всё равно не смогу опубликовать результаты исследований. И самое главное - я же не ставлю под сомнение ваши результаты. И, потом, я не могу быть специалистом во всём. (Точнее, могу, конечно, но тогда я буду плохим специалистом (и нервным )) Лучше я, действительно, потрачу время на поиск тестбенчей где MS быстрее всех, а вы подтвердите или опровергните. По моему пользы больше будет.
  14. Цитата(des00 @ Jul 2 2009, 13:22) так зачем тогда нужен модесим? не все ли равно в составе какого софта тестировать одинаковый движок? Или вы думаете что разработчики ментора, настолько не проффесионально запихали движок в квесту что замедлили его раза в 2-3? Ну я-же написал в своём сравнении что результаты в квесте и моделсиме одинаковые. Цитата(des00 @ Jul 2 2009, 13:22) странно слышать это от вас. verilog полностью вошел в состав system verilog и потому утверждать что верилоговские модули плохо гонять на SV симуляторе это извините меня бред. Повторюсь еще раз, модуль написанный на чистом верилоге автоматом является модулем написанном на SV (при условии что вы не назвали переменные ключевыми словами конечно). Зачем мне нужен SV, потому что у меня все на нем написано и RTL и верификация, причем верификация есть как в старом, верилоговском стиле, так и в новом ООПовском. Потому тул для моей работы должен поддерживать как rtl SV, так и верификацию SV. Чего в моделсиме нет, а есть только в квесте. Ну да, вошёл в verilog в system verilog. Но вы уверены что его моделируют одни и те-же, не знаю как сказть... блоки, чтоли... счётного ядра квесты? А зачам тогда ключ -sv ? Я понимаю что лично вам нужен Sv. Но для моделирования предложенного вами теста-то он не нужен? Правильно? И для этого примера можно использовать ModelSim. Можно ведь? У меня работает! Ещё раз повторю - вопрос не технический. Даже если вы физически используете инсталлированную программу Questa, но моделируете только то что поддерживается в ModelSim (ваш тестовый примерчик), то по факту вы используете ModelSim. Questa - это моделирование проекта в котором используются конструкции из раздела SystemVerilog Verification. Цитата(des00 @ Jul 2 2009, 13:22) Теперь почему взят был именно такой тест, потому как этот проект есть у каждого кто хоть раз ставил альдек, он был там еще с версии 6.1, написан в простом стиле и потому не может быть предвзятого отношения к этому коду, мол "вы специально так написали что ментор проигрывает". Идея понятна. Но я и не говорил что код плохой, т.к. лично меня это вообще мало волнует, ибо нет времени ещё и разбираться какой стиль кода для каких симуляторов лучше подходит. Наверное ни кто не будет спорить что каждый разработчик всегда подберёт такой тестбенч, что его симулятор будет самым быстрым. Например, я видел тесты где ModelSim обыгрывает более чем в 2 раза всех остальных, в т.ч. и после синтеза и с таймингами. Но я -же об этом молчу. Хотя могу вспомнить былое и найти таковые, если кому интересно. Просто мне интересно другое. Цитата(des00 @ Jul 2 2009, 13:22) в 6.5 есть задокументированные уважаемым CaPpuCcino глюки с обработкой событийной модели ядром симлуятора. Поэтому как инструмент он не рассматривается, из того что есть последнее под руками это 6.4с. эээ.... А ссылки на примеры не подкините? Цитата(des00 @ Jul 2 2009, 13:22) у меня нет моделсима, качать его я не вижу смысла и не собираюсь, по причинам указанным выше. Повторюсь - качать и не надо. Просто в данном конкретном примере то в чём воделируется этот пример более правильно называть modelsim ибо расширения относящиеся к квесте не затрагиваются. Цитата(des00 @ Jul 2 2009, 13:22) для меня я уже указал причину не приемлимости моделсима, банальный базовый альдек (Active-HDL Designer Edition (DE)) может обеспечить мне поддержку SV (пусть и более бедную), а базовый моделсим, который стоит в 2 раза дороже нет. Нужно брать квесту которая будет стоить много дороже. При этом я пользовался обеими системами и не могу сказать что функциональная отладка в альдеке менее производительна и геморройная чем в менторе. ModelSim тоже поддерживает SV - "(пусть и более бедную)"- как вы сказали. Т.е. вопрос можно свормулировать так: приведите пример конструкций SV поддерживаемых в Active-HDL но не поддерживаемых ModelSim. НЕ УТВЕРЖДАЮ!!!! что таких примеров нет (а то сейчас опять накинутся что я MS хвалю)!!! Возможно есть, но мне не известны. Цитата(des00 @ Jul 2 2009, 13:22) ЗЫ. если хотите я выкладывал здесь SV код RC4 кодера, накачать его рандомными данными и логами на SV, что бы тест длился минут 5-10 не проблема. этот тест вы засчитаете за SV ? Но думаю что основные временные соотношения не изменяться. Ну если там расширение у файла .sv, то кончно А кроме шуток, этот кодек в Active-HDL моделируется? Если да, то, конечно, итересно было-бы сравнить. С чем? А вот с чем: если этот-же кодек заработает с MS - то с моделсимом, а, вот, если нет - тогда уже с квестой.
  15. Цитата(des00 @ Jul 2 2009, 06:32) вот когда фирма ментор, не будет зажимать опции SystemVerilog IEEE1800 Verification и Constrained-Random Test Generation/Assertion-Based Verification в моделсиме и писать в прайсах что то типа вот этого "Система моделирования на языке VHDL и Verilog (полнофункциональная версия) - ModelSim SE MixedHDL Ap SW" (хочу отметить что SV здесь нет), тогда и будет он предметом исследования. И я сильно сомневаюсь что ментор настолько богат что бы поддерживать разработку двух разных движков симуляторов, оплачивать разные команды разработчиков, тестеров, инженеров поддержки и т.д.. ИМХО движок в этих продуктах одинаковый, так же как у фирмы альдек в ривере/активе. Движок один и тот-же, согласен - это факт. И мой тест это подтвердил. Просто если вам ножен Sv, то тогда и тесты надо выкладывать на Sv. Я не понимаю вашу логику.... "мне нужно одно" (язык SystemVerilog) а "сравнивать буду другое" (язык Verilog). Это тоже самое что сказать: мне нужна более как можно более быстрая машина и для этого я купил LancerEvoloution, но мой выбор хреновый, т.к. я сравнил Простой Lancer с двиглом 1.6 - он ваще не едет. Бред? Бред! Цитата(des00 @ Jul 2 2009, 06:32) чуть позже сравню более новую квесту и альдек (6.4c vs 8.1sp2) на другой машине, результаты выложу. Ну тогда уж 6.5 надо... И не квету а моделсим! сколько раз повторять... Или тогда расскажите чем альдек превосходит моделсим и почему его надо сравнивать именно с квестой? Здесь вопрос не технический - здесь вопрос цены и производительноси труда.