yes 5 12 октября, 2009 Опубликовано 12 октября, 2009 · Жалоба вроде бы такая тема должна быть в ТОПе, но не смог найти... ---------------- есть некий модуль в виде нетлиста (vqm), размер порядка 10К Combinational ALUT (Stratix III) структура модуля от меня скрыта, но пути в нем длинные и с большим fanin/out по времянке нелезет (на 10нс, -1нс slack) все синхронно - один клок, к IO чипа путей нету по опыту ксайлинса (то есть сопоставляя времянку других модулей и аналогичного) должно бы лезть, но с трудом ------------------ в отличие от ISE, как я понял, в Квартусе нет большого выбора "уровня усилий" для Fittera? поэтому интересно, что крутить первую очередь? как я понимаю, опции синтеза не окажут влияние на нетлист (vqm), но на всякий случай поставил все по максимуму опции компилятора поставил в Full incremental опции фиттера, я выставил в Standard (Maximum Effort) попробовал задать партиции и руками их разложить (Design Partition Planer), вобщем это улучшило критические пути по этому модулю до -0.7, но ес-сно начали разваливаться другие модули - пока буду пытать этот путь, ------------------ вопрос, что бы посоветовали гуру? 1) крутить компилятор/фитер без всякой геометрии? опции, seed-ы и т.п. "шаманство" - где ставить? как? 2) пытаться постичь DSE? 3) пользуясь экспириенсом полученым при раскладки партиций в ксайлинсе, делать что-то такое и в квартусе (руками в Partition Planer)? 4) может имеет смысл прогнать vqm через синтез еще раз? как это сделать, если это не делается автоматом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 12 октября, 2009 Опубликовано 12 октября, 2009 · Жалоба А Compilation Process Settings / Physical synthesis optimizations крутили? ИМХО именно оно этим заведует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyF 0 12 октября, 2009 Опубликовано 12 октября, 2009 · Жалоба как я понимаю, опции синтеза не окажут влияние на нетлист (vqm) Попробуйте включить настройку WYSIWYG Primitive Resynthesis в Analysis&Synthesis Settings. Тогда она ресинтезирует списки соединений. Под руками только старый Квартус, в версии 9.0 они немного переупорядочили настройки - найдите в настройках раздел Physical Synthesis Optimization и поиграйте настройками. Попробуйте следовать советам Tools>Advisors>Timing Optimization Advisor. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 12 октября, 2009 Опубликовано 12 октября, 2009 · Жалоба 2) пытаться постичь DSE? Тоже можно, он еще может впараллель пускать несколько компмиляций с разными сидами/настройками. Если процессоров бездействующих излишек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IL-76 0 12 октября, 2009 Опубликовано 12 октября, 2009 · Жалоба Попробуйте отключить Incremental compilation. А в разделе Analysis & Synthesis для Optimization Technique поставить Balanced, как ни странно, это может давать лучший результат по времянке, чем Speed. Ну и в разделах Analysis & Synthesis и Fitter Setting есть масса специфичных настроек по кнопкам More Settings. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 12 октября, 2009 Опубликовано 12 октября, 2009 · Жалоба спасибо за рекомендации. ----------------------------------------- на одном компе DSE и Quartus пускать нельзя? почему-то после запуска DSE отвалился квартус с внутренней ошибкой (запущенный на другом проекте с другими исходниками) UPD: возможно валится из-за попытки пересентизировать нетлист - свалился еще раз без DSE у меня 4х процессорный (коре) комп, 6Гб (вопрос с видимостью в винде пока не прояснил) - квартус сообщает, что 1 - процессор 100%, 2 процессора 25%, 4 процессора 10% (чтобы это значило ?) сколько параллельных процессов в DSE ставить? пока удобнее под виндой, так как побыстрее на проц. имеет ли смысл распределять по сетке или гемороя больше чем пользы? процесс занимает 45-60мин (пока) ----------------------------------------- инкрементал вроде бы помогает - те портиции, которые не удовлетворяют поставил в Source-level, то есть их как-бы переделывает, а остальное не трогает. но попробую выключить, начало валиться на этапе синтеза Speed уберу а про More Settings есть какие-либо Golden для Стратикс 3? все-таки пока хотелось бы верить, что в Альтере эти опции выставлены "правильно" ----------------------------------------- WYSIWYG Primitive Resynthesis есть такая опция в A&S ----------------------------------------- Physical Synthesys вроде бы достаточно четко разбит на оптимизацию по Speed-у (performance) и Area выставил все, кроме пайпинизации асинхронных путей More там вроде бы нет ----------------------------------------- мда... видимо обратно придется раскручивать настройки/чистить проект - устойчиво валится со внутренней ошибкой -------------- а что означает такое сообщение? каким "шагом" оно генерится? то есть мне интересно - проходит ли это entity через синтез / физический синтез? Info: Elaborating entity "grfpw" for hierarchy "leon3s:\l3:cpu:0:u0|grfpwx:\grfpw0gen:fpu0|grfpw:\x0:grfpw0" ==== ну и с партишинами, видимо, следует аккуратнее обращаться - валился квартус (A&S) вроде бы из-за них Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 12 октября, 2009 Опубликовано 12 октября, 2009 · Жалоба у меня 4х процессорный (коре) комп, 6Гб (вопрос с видимостью в винде пока не прояснил) - квартус сообщает, что 1 - процессор 100%, 2 процессора 25%, 4 процессора 10% (чтобы это значило ?) сколько параллельных процессов в DSE ставить? Это значит, что из всего времени компиляции 10% времени было 4 активных треда, 25% времени 2 треда (10% 4-тредности туда входят), ну а 1 тред, разумеется, все 100%. Т.е. всего 10% времени тачка загружалась на все 100. Сколько процессов в DSE... ну при таких раскладах думаю 2 будет нормально. А вообще зависит на сколько синхронно они будут пиковые мультитредные загрузки давать. Может и 4 нормально будет. Physical Synthesys вроде бы достаточно четко разбит на оптимизацию по Speed-у (performance) и Area выставил все, кроме пайпинизации асинхронных путей More там вроде бы нет И что, не помогло? Обычно 3-5 процентов задержки критического пути вытягивает... мда... видимо обратно придется раскручивать настройки/чистить проект - устойчиво валится со внутренней ошибкой А вот это не лечится... Апгрейд/даунгрейд разве что. Сколько оно у меня не падало само по себе, я так и не понял, что именно приводило к падению. Чтобы что-то осмысленное в саппорт можно было сказать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 13 октября, 2009 Опубликовано 13 октября, 2009 · Жалоба спасибо. накрутка опций помогла - то есть без партиций и DSE удалось удовлетворить (отыграть около 10% задержки) --------------- теоретические вопросы: имеет ли смысл разбираться с партициями и их ручным размещением? по теории софт должен бы уметь это делать лучше, но не встречал на практике. в DSE можно ли "крутить" параметры прогонов (ну то есть те галки, которые расставляются в квартусе) или только seed-ы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 13 октября, 2009 Опубликовано 13 октября, 2009 · Жалоба имеет ли смысл разбираться с партициями и их ручным размещением? по теории софт должен бы уметь это делать лучше, но не встречал на практике. Как я понял, это все имеет смысл ради убыстрения компиляции, залочить модули на какой-то более-менее человеческий флурплан и инкрементально собирать, не переплейсивая неизменные куски. Но это отъявленно портит тайминги относительно полного пересбора всего вместе без локов. в DSE можно ли "крутить" параметры прогонов (ну то есть те галки, которые расставляются в квартусе) или только seed-ы? Да, можно менять любые настройки, включая и сиды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 13 октября, 2009 Опубликовано 13 октября, 2009 · Жалоба Как я понял, это все имеет смысл ради убыстрения компиляции, залочить модули на какой-то более-менее человеческий флурплан и инкрементально собирать, не переплейсивая неизменные куски. Но это отъявленно портит тайминги относительно полного пересбора всего вместе без локов. а смысл уменьшения объема информации для плейсера/роутера (то есть развести 4 маленьких кусочка проще, чем 1 в 4 раза больше) и из-за этого улучшение результата (времянки)? так для ксайлинса и латиса получалось ну то есть, алгоритмы используют не полный перебор, а какой-то псевдо оптимальный, чтобы уложится в конечное время... для большого виртекса даже не очень тщательное разбиение проекта на блоки и размещение этих блоков на флорплане (planahead) позволяло сильно улучшить результаты - дополнительно еще 5-10% по сравнению с максимальными опциями по скорости и целому проекту вопрос - для Альтеры (большие кристаллы) кто-нибудь использует такую методу (тул, как я понял, в квартусе есть)? или может быть пользовал, но не получил результата? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 13 октября, 2009 Опубликовано 13 октября, 2009 · Жалоба вопрос - для Альтеры (большие кристаллы) кто-нибудь использует такую методу (тул, как я понял, в квартусе есть)? или может быть пользовал, но не получил результата? Я вот пытался расфлурпланить прототип своего микроконтроллера, правда кристалл не особо большой, 12К лутовый циклон, заметил явное ухудшение времянки из-за удлинения разводки меж блоков (блоки - это внешние устройства МК, с отдельными шинами чтения и записи, т.е. двухпортовые, и там огромный мультиплексор получался на все I/O space процесора, который в результате моего флурпланенья никак не выходил оптимальным и устраивал критический путь). Зато время перекомпиляции - раз, два, и готово. А если без флурплана, то компилирует хрен знает сколько, зато всегда укладывает в констрейны. а смысл уменьшения объема информации для плейсера/роутера (то есть развести 4 маленьких кусочка проще, чем 1 в 4 раза больше) и из-за этого улучшение результата (времянки)? У меня пока что получалось ухудшение из-за того, что та логика, которая склеивает блоки меж собой, никак не выходила столь оптимальной, как без разбивки на куски. Да и плейсер я урезаю в возможности выбора стратегий размещения. Еще, как вариант, я просто не умею их, флурпланы, готовить... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 14 октября, 2009 Опубликовано 14 октября, 2009 · Жалоба вопрос - для Альтеры (большие кристаллы) кто-нибудь использует такую методу (тул, как я понял, в квартусе есть)? или может быть пользовал, но не получил результата? имеено флурпланом не пользовался, т.к. смысла не было, но назначение партиций типа Post-Fit и разрешение инкрементальной компиляции, уменьшает время на порядок (вместо ~20 минут ~= 9 минут), хотя по размеру проигрыш есть. Таймквест говорит что ошибок нет, но в моих текущих проектах (радиомодемы) связи простые и на каждую связь между блоками я ставлю триггеры %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 14 октября, 2009 Опубликовано 14 октября, 2009 · Жалоба имеено флурпланом не пользовался, т.к. смысла не было, но назначение партиций типа Post-Fit и разрешение инкрементальной компиляции, уменьшает время на порядок (вместо ~20 минут ~= 9 минут), хотя по размеру проигрыш есть. Таймквест говорит что ошибок нет, но в моих текущих проектах (радиомодемы) связи простые и на каждую связь между блоками я ставлю триггеры %) Тоже пробывал партиции. Заметного выигрыша по времени не заметил. А вот баги с "будто бы не изменилось, а RTL исправлен" были. Нужно постоянно перепроверять, а правильно ли про-инкрементировал проект в этот раз. Да и обновление сигналтапа чаще всего игнорирует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 14 октября, 2009 Опубликовано 14 октября, 2009 · Жалоба Тоже пробывал партиции. Заметного выигрыша по времени не заметил. А вот баги с "будто бы не изменилось, а RTL исправлен" были. Нужно постоянно перепроверять, а правильно ли про-инкрементировал проект в этот раз. Да и обновление сигналтапа чаще всего игнорирует. именно на баги инкрементальной компиляции не наступал ни разу, у меня все работает корректно %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 14 октября, 2009 Опубликовано 14 октября, 2009 · Жалоба имеено на баги инкрементальной компиляции не наступал ни разу, у меня все работает корректно %) Это на какой-то определенной версии было... Значит просто пронесло мимо :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться