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

FSM или как попасть в default

37 minutes ago, RobFPGA said:

А почему так увы не знаю

Да, как говорит мой коллега с прошлой работы: "Интересная картина: голой женщины портрет!" :curtsey:
Спасибо!

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


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

23 hours ago, MaratZuev said:

Разве есть не является подтасовкой результатов? Ведь так я могу и весь код исключить, чтобы лишней, как по мне, работой не заниматься!

нет не будет, т.к. вы исключаете те места, которые, при использовании типа enum, не могут быть в принципе. Даже при синтезе они быть не должны, т.к. синтезатор должен делать safe FSM в случае использования enum, но это сильно влияет на тайминги, поэтому, штатно это остается на совести разработчика, который как раз и ставит default.

Но вообще у вас крайне странный взгляд на верификацию. Ответил вам в вашей новой теме 

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


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

32 minutes ago, des00 said:

при использовании типа enum, не могут быть в принципе

Если их не может быть в принципе, то почему верификатор об этом не знает?

33 minutes ago, des00 said:

Ответил вам в вашей новой теме

Да, спасибо. Пошёл читать..

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


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

1 hour ago, MaratZuev said:

Если их не может быть в принципе, то почему верификатор об этом не знает?

эмм, верификатор - человек? или верификатор - симулятор?

Если симулятор и речь про статистику покрытия кода, то он и не должен это знать. Задача покрытия исполнительных выражений - было исполнение кода это выражения или нет, задача покрытия условия - было срабатывание этого условия или нет. Не важно в каком контексте, только сам факт. Если у вас в перечисляемом типе 5 состояний и только 5, вы описали их все в case и добавили default (что не противоречит стандарту), то вы, как разработчик должны понимать что эта строка никогда не будет исполнена. Но об этом не знает софт, который снимает покрытие.

а если верификатор - человек, то есть разные варианты тестирования : black, white, gray box. Верификатор может не знать и не догадываться что у вас там внутри вашего кода, он руководствуется моделью верификации и спецификациями

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


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

21 hours ago, des00 said:

Если у вас в перечисляемом типе 5 состояний и только 5, вы описали их все в case и добавили default (что не противоречит стандарту), то вы, как разработчик должны понимать что эта строка никогда не будет исполнена

Если смотреть с точки зрения безопасности, то у Вас ниодна конструкция не сможет синтезоровать 5-ти значную переменную в двоичной логике. И отказы, увы, случаются, но опять же: и вероятность отказа мала и логика предотвращения данного отказа отсутствует в силу принципов работы синтезатора. Поэтому, как говорится "никто никому ничего не должен", но кое-чем в данном контексте можно пренебречь.

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


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

4 hours ago, Nick_K said:

Если смотреть с точки зрения безопасности, то у Вас ниодна конструкция не сможет синтезоровать 5-ти значную переменную в двоичной логике. И отказы, увы, случаются, но опять же: и вероятность отказа мала и логика предотвращения данного отказа отсутствует в силу принципов работы синтезатора. Поэтому, как говорится "никто никому ничего не должен", но кое-чем в данном контексте можно пренебречь.

слабо понял куда вас понесло, куда именно смотреть я вам уже писал. но хотите блуждать в трех соснах, дело ваше)

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


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

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

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

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

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

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

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

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

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

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