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

Отображение сигнала в нужном мне виде в окне Wave Active-HDL - а возможно ли?

On 12/2/2019 at 10:13 AM, des00 said:

Если вам нужен тестбенч что бы доказать что переданные вами исходники одинаково работают на любом симуляторе это одно

И тестбенч и исходники, о котором идёт речь в этом контексте, - дело рук вашего покорного слуги. Именно это и надо доказать.

On 12/2/2019 at 10:13 AM, des00 said:

привычка выработанная годами, делать не статические функции и таски

У меня (пока) такой привычки нет, и я, по-вашему, где-то могу сильно пострадать из-за отсутствия оной?

On 12/2/2019 at 4:42 PM, lexx said:

Static может сохранять значение между вызовами, automatic создаётся заново при вызове и удаляется после завершения.

Если я не расцвечиваю задачи и функции, кто они по-умолчанию, и чем мне это грозит? До сих пор не задумывался.

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


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

5 minutes ago, MaratZuev said:

Если я не расцвечиваю задачи и функции, кто они по-умолчанию, и чем мне это грозит?

К переменным, объявленным внутри автоматических функций, у Вас не будет никогда доступа. Ибо они дуструктятся сразу после обращения. С точки зрения объёмов тестирования, лучше пользовать автоматические.

А ещё по той причине, что при параллельном вызове одной функции Вы можете увидеть неожиданные результаты.

С другой стороны в автоматической функции нельзя переприсваивать переменные (насколько я видел), хотя возможно это просто "фокусы" моего тестового окружения.

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


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

8 hours ago, MaratZuev said:

Если я не расцвечиваю задачи и функции, кто они по-умолчанию, и чем мне это грозит?

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

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


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

5 коп. 

 

1. Неавтоматические функции являются нереентерабельными. В подавляющем большинстве случаев это не то поведение, которое нужно. Лучше все функции и таски делать автоматическими, и только в специальных случаях объявлять в них статические переменные явно. Это практика конвенциональных ЯП таких как С.

2. В SV можно поменять поведение по умолчанию для модуля, объявив его 'module automatic ...'. В таком модуле все функции и таски по умолчанию делаются автоматическими.

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


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

19 hours ago, MaratZuev said:

И тестбенч и исходники, о котором идёт речь в этом контексте, - дело рук вашего покорного слуги. Именно это и надо доказать.

Я не это имел в виду. Вот смотрите есть 4 возможных случая в тестировании: 

1. код без ошибок, тест без ошибок - все ок. 

2. код без ошибок, тест с ошибокой - все не ок. 

3. код с ошибкой, тест без ошибок - все не ок. 

4. код с ошибкой, тест с ошибкой - все ок. 

случай 4 часто называют законом парных ошибок. Принимаются специальные меры, что бы такого не было. Вы, судя по вашему тексту, собираетесь проверять эквивалентность формирования сигналов в двух симуляторах. Но это не будет гарантией правильности работы исходного кода. Вот на этом я акцентировал внимание, на разработке теста с самопроверкой, по выверенной эталонной модели. Если такой ваш тест и является, то это хорошо) 

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


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

Вы упустили еще один случай:

5. код без ошибок, тест с ошибкой - все ок.

Такое вполне бывало. И не раз. Тест с ошибкой может выдавать все что угодно.

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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