# Генератор случайных чисел

Библиотека: | Память
Введён в: | 2.3.0
Внешний вид: |

## Поведение

Этот компонент перебирает псевдослучайную последовательность чисел, переходя к следующему числу в последовательности каждый раз, когда срабатывает тактовый вход, если компонент включен. С технической точки зрения, алгоритм, используемый для вычисления псевдослучайных последовательностей - это линейный конгруэнтный генератор: начиная с семени r0, следующий номер r1 - это число

r1 = (25,214,903,917 r0 + 11) mod 248

Следующее значение r2 вычисляется из r1, используя те же вычисления, и так далее. Эта последовательность состоит из 48-битных чисел; значение на выходе компонента - это младшие биты, количество которых выбрано в атрибуте Биты данных, но после отбрасывания младших 12 битов текущего семени.

Кроме тактового входа, компонент имеет вход включение, который заставляет компонент игнорировать тактовый вход, если на входе включение 0; и вход сброс, который асинхронно сбрасывает значение компонента на начальное семя r0.

Начальное семя может быть настроено пользователем. Если выбран 0 (по умолчанию), то семя выбирается на основе текущего времени; когда значение сбрасывается с помощью входа сброс, компонент вычисляет новое семя на основе нового текущего времени.

## Контакты

Восточный край, отмечен Q (выход, разрядность соответствует атрибуту Биты данных)
  Выдаёт значение, хранящееся в данный момент в компоненте.
Западный край, верхний контакт, отмечен треугольником (вход, разрядность равна 1)
  Тактовый вход: в момент срабатывания этого входа (как указано в атрибуте Срабатывание) компонент переходит к следующему числу в последовательности.
Западный край, нижний контакт (вход, разрядность равна 1)
  Включение: компонент включен, когда этот вход не подключен, или на нём 1; но когда на нём 0, тактовый вход игнорируется.
Южный край (вход, разрядность равна 1)
  Сброс: когда на этом входе 1, псевдослучайная последовательность асинхронно сбрасывается на начальное семя. (Если семя - 0, то новое семя будет отличаться от начального семени, использованного перед этим.)

## Атрибуты

Когда компонент выбран, или уже добавлен, комбинации от Alt-0 до Alt-9 меняют его атрибут Биты данных.

Биты данных
  Разрядность значения, выдаваемого компонентом.
Семя
  Начальное значение, используемое для псевдослучайной последовательности. Когда равно 0 (по умолчанию), стартовое значение основано на времени запуска псевдослучайной последовательности.
Срабатывание
  Определяет, как обрабатывается тактовый вход. Значение Передний фронт означает, что компонент должен обновляться в момент, когда значение на тактовом входе меняется с 0 на 1. Значение Задний фронт означает, что он должен обновляться, когда значение на тактовом входе меняется с 1 на 0.
Метка
  Текст внутри метки, привязанной к компоненту.
Шрифт метки
  Шрифт, которым отрисовывается метка.

## Поведение Инструмента Нажатие

Нет.

## Поведение Инструмента Текст

Позволяет редактировать привязанную к компоненту метку.

Назад к Справке по библиотеке