Перейти к содержанию
    

Mentor Precission 2008a.42 валицца на SV коде

то есть примеры и простые тесты синтезируются, но на более сложном дизайне валится со внутренней ошибкой (обычно на второй фазе компиляции, когда собирает дизайн из модулей)

 

я для примера взял несложный проект - слегка поправил его в стиле SV (synplify его компилит) - precision валится

 

 

может ли ему не хватать памяти или какая-то ошибка в операционке (проверил под линуксом версию 2007 года, так она взяла небольшой проект, на котором 2008+winXP валицца, но SV проект, ради которого я взял presision все-равно валится)?

 

можно ли как-то бороться (какие-либо tips-ы) или лучше отказаться, пока не поздно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выложите, пожалуйста, пример - я попробую на версии 2008a.update2-linux

 

спасибо

 

реальный пример - сугубо коммерческий.

если будет подозрение, что я не прав - попытаюсь какую-то абстракцию сделать

(я уже попытался убрать IP, оставить подозрительные конструкции, но скомпилировалось)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выложите, пожалуйста, пример - я попробую на версии 2008a.update2-linux

 

вот пример - это совсем не то, что меня интересует, но также валит прецижн и точто не из-за недостатка памяти (слишком быстро и слишком просто)

 

вобщем-то проведя некоторые исправления по убиранию части конструкций SV и замены их на Verilog это стало компилится.

проверить на симпливае этот проектик не могу, так как она не поддерживает часть конструкций

correlator.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На этапе компиляции выдаёт:

...

# Warning: [41073]: "/media/disk/data/work_megratec/al1-126/files/Precision.Project/correlator/top.sv", line 27: No connection to the output port ( write_out ).

...

# Warning: [45729]: "/media/disk/data/work_megratec/al1-126/files/Precision.Project/correlator/code.sv", line 15: out[2:0] has never been used.

...

# Error: [47003]: Segmentation violation.

# Info: [44859]: Compilation failed...

...

# Error: [658]: Unable to elaborate design work.top in verilog.

 

Но не вылетает.

 

Я так понял, что в стоке

ticker t(.*, .write_in(write[CHANNELS]), .write_out());

что-то не так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

# Error: [47003]: Segmentation violation.

 

имхо, это то и есть северная пушистая лисичка.

 

инстанциация тикера ОК

если внутри nco (глубоко внутри иерархии) кое-что подправить, то начинает собираться вполне адекватно, с тем же top-ом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно ли как-то бороться (какие-либо tips-ы) или лучше отказаться, пока не поздно?

 

ИМХО для синтезируемого кода, использовать самый минимум SV фич. Для полновесного SV для синтеза время еще не пришло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, пожалуйста, где можно прочитать новичку про синтезируемость конструкций SV. А то пишу-пишу, а потом выясняется, что он такое собрать и не может вообще...причём бывает и такое, что в разных кодах одинаковые конструкции могут синтезироваться или нет...

Есть какие-то конкретные ограничения, соблюдая которые гарантированно precission сможет синтезировать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть какие-то конкретные ограничения, соблюдая которые гарантированно precission сможет синтезировать?

у пресижена в пдф-ках есть описание того, что он синтезирует. там же есть примеры некоторых базовых узлов на СВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, пожалуйста, где можно прочитать новичку про синтезируемость конструкций SV. А то пишу-пишу, а потом выясняется, что он такое собрать и не может вообще...причём бывает и такое, что в разных кодах одинаковые конструкции могут синтезироваться или нет...

Есть какие-то конкретные ограничения, соблюдая которые гарантированно precission сможет синтезировать?

 

совет : не пользуйте пресижн, пользуйте симплифай.

по мелочам слабее поддерживает SV, но по качеству кода и уменьшению геммора значительно лучше пресижина.

 

то есть нормально SV пресижин не поддерживает [пока], а тот код, который поддерживается достаточно легко можно в симплифайный переписать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

совет : не пользуйте пресижн, пользуйте симплифай.

по мелочам слабее поддерживает SV, но по качеству кода и уменьшению геммора значительно лучше пресижина.

 

А вы про сравнительное качество пресижина и симплифая откуда знаете?

Киньте ссылку на первоисточники плз. А то народ может неправильно понять.

Просто я, например, слышал, что, наоборот, в симплифае для выполнения элементарных действий надо знать что делаешь, т.е. сначала разбираться, а в пресижне (это я уже точно знаю) нажал на кнопку - получил результат.

Изменено пользователем al1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Киньте ссылку на первоисточники плз.

yes в этой части сам первоисточник. Мои опыты подтверждают его выводы полностью. С прециженом хронически времянка не проходит. Он говорит, типа все ОК, а после PAR такие слаки, что представить даже сложно. С синплифаем такого нет. Что касается констрейнов и "одной кнопки", то что синплифай, что прецижн, одинаково.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...