Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Обработки неопределённости при одновременной записи по двум портам и последующем чтении #6

Open
dsmv opened this issue Jul 13, 2021 · 5 comments

Comments

@dsmv
Copy link

dsmv commented Jul 13, 2021

No description provided.

@dsmv
Copy link
Author

dsmv commented Jul 13, 2021

5f7fd0e

На диаграмме видна запись в один момент времени по двум портам. Далее идёт чтение. Видно что порт 1 успел прочитать значение 0xA020, далее - только 0xA220. Порт 2 - читает только 0xA220

В такой ситуации оба значения правильные. Но появление после 0xA220 старого значения 0xA020 уже недопустимо.

image

@dsmv
Copy link
Author

dsmv commented Jul 16, 2021

35c817e
На тесте randomize выскакивает одна ошибка - скорее всего связана с неопроеделённостью при записи

@dsmv
Copy link
Author

dsmv commented Jul 16, 2021

0267726
Увеличена задержка. При randomize_loop=100 тест проходит. При randomize_loop=1000 - ошибка. Проявились обе неопределённости одновременно - запись по двум портам и чтение сразу после записи. Похже что шести возможных значений не хватает. Нужно девять.

@dsmv
Copy link
Author

dsmv commented Jul 18, 2021

image

Вот так на диаграмме выглядит место получения одной ошибки. Здесь установлен порог неопределённости в 16 тактов, ошибка всё равно возникаем. Счётчик ошибок показывает примерное место. Теперь на временной диаграмме можно найти причину ошибки. Скорее всего она связана с одновременной записью и чтением из памяти.

@dsmv
Copy link
Author

dsmv commented Jul 18, 2021

6052328
Без ошибок выполняются тесты direct, randomize
В тест direct внесена ситуация одновременной записи и чтения

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant