Или ограниченный количеством аппаратный счетчик свободного доступа
HDL Coder / Источники
Блок HDL Counter моделирует ограниченный количеством, или аппаратный счетчик по модулю свободного доступа, который поддерживает целое число со знаком и беззнаковое целое и типы данных с фиксированной точкой. Счетчик испускает свое значение для текущего шага расчета. В процессе моделирования этот блок не сообщает о предупреждениях или ошибках, должных переноситься на переполнении. Чтобы сообщить об этих предупреждениях, смотрите Simulink.restoreDiagnostic
.
По умолчанию счетчик не имеет входных портов. Счетчик подсчитывает от начального значения до порогового значения на основе Counter type, Count to value и Word length. Тип выходных данных счетчика зависит от Counter output data, Word length и Fraction length.
rst
— Локальный порт сбросаЛокальный порт сброса для счетчика, что, когда высокий сброс значение количества.
Чтобы включить этот порт, установите Local reset port.
Типы данных: Boolean
load
— Порт LoadЗагрузите порт что когда высокие наборы в противоречии со значением загрузки, load_val
.
Чтобы включить этот порт, установите Load ports.
Типы данных: Boolean
load_val
— Загрузите значение портаЗначение данных, чтобы загрузить для того, чтобы установить значение количества, когда высокий вход дан порту загрузки.
Чтобы включить этот порт, установите Load ports.
Типы данных: Boolean
enb
— Количество включает портВключите сигнал, который задает, должен ли счетчик рассчитать от предыдущего значения. Когда этот сигнал высок, встречные количества продолжается или вниз в зависимости от направления. Когда этот сигнал является низким, счетчик содержит предыдущее значение.
Чтобы включить этот порт, установите Count enable port.
Типы данных: Boolean
dir
— Считайте порт направленияСчитайте направление, которое задает, подсчитать ли или считать в обратном порядке. Этот порт взаимодействует с Step value, чтобы определить направление количества.
1: Это значение является значением по умолчанию, которое приводит к суммирующему счетчику. Step value добавляется к текущему встречному значению, чтобы вычислить следующее значение.
0: Это значение приводит к обратному счетчику. Step value вычтен из текущего встречного значения, чтобы вычислить следующее значение.
Чтобы включить этот порт, установите Count direction port.
Типы данных: Boolean
count
— Встречное значениеЭто - встречное значение. По умолчанию, если вы не включаете входным портам, встречным количествам до значения, которое определяется на основе Counter type, Count to value и Word length.
Типы данных: int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
count_hit
— Встречный предельный индикаторВстречный предельный индикатор, возвращенный как булев скаляр.
1: указывает, что счетчик достиг своего предела.
0: указывает, что счетчик не достиг своего предела.
Чтобы включить этот порт, выберите параметр Count hit output port.
Типы данных: Boolean
Counter type
— Встречное поведениеFree running
(значение по умолчанию) | Count limited
| Modulo
Встречное поведение, которое определяет, смоделировать ли свободный ход, ограниченный количеством, или аппаратный счетчик модуля.
Free running
(значение по умолчанию): счетчик продолжает постепенно увеличиваться или постепенно уменьшаться Step value, пока не сброшено.
Count limited
: Встречный шаг или декременты Step value, пока это не точно равно Count to value. Если значение Step value таково, что значение количества точно не равняется Count to value, то это может продолжить рассчитывать к пороговому значению, которое определяется размером слова.
Modulo
: Встречный шаг или декременты Step value, пока это не достигает Count to value. Если значение Step value таково, что значение количества точно не равняется Count to value, то счетчик переносится к значению, которое определяется переносящимся значением шага.
Параметры блоков:
CountType |
Ввод: символьный вектор |
Значение:
'Free running' | 'Count limited' | 'Modulo' |
Значение по умолчанию:
'Free running' |
Initial value
— Встречное значение, после того, как сброшено
(значение по умолчанию)Значение, к который сбросы счетчика. Значение по умолчанию 0
.
Параметры блоков:
CountInit |
Ввод: символьный вектор |
Значение: целое число, больше, чем или равный нулю |
Значение по умолчанию:
'0' |
Step value
— Значение шага для количества
(значение по умолчанию)Значение, добавленное к счетчику в каждом шаге расчета. Значением по умолчанию является 1
.
Параметры блоков:
CountStep |
Ввод: символьный вектор |
Значение: целое число, больше, чем или равный нулю |
Значение по умолчанию:
'1' |
Count to value
— Пороговое значение количества
(значение по умолчанию)Когда вы используете Count limited
счетчик, если количество точно равно Count to value, перезапускам количества в Initial value. Если значение количества превышает Count to value, счетчик продолжает рассчитывать к пороговому значению, которое зависит от Word length. Значением по умолчанию является 25
.
Когда вы используете Modulo
счетчик, если количество достигает Count to value, перезапусков количества в значении, которое определяется переносящимся значением шага.
Чтобы включить этот параметр, установите Counter type на Count limited
или Modulo
.
Параметры блоков:
CountMax |
Ввод: символьный вектор |
Значение: целое число, больше, чем или равный нулю |
Значение по умолчанию:
'25' |
Count from
— Критерии количества от значенияInitial value
(значение по умолчанию) | Specify
Задает параметр, который устанавливает значение запуска после трансформации, когда вы используете Count limited
или Free running
счетчик. Когда вы используете Modulo
счетчик, счетчик может трансформация к переносящемуся значению шага, которое отличается от значения, чтобы рассчитать от. Когда установлено в Specify
, параметр Count from value является значением запуска после трансформации. Значением по умолчанию является Initial value
.
Параметры блоков:
CountFromType |
Ввод: символьный вектор |
Значение:
'Initial value' | 'Specify' |
Значение по умолчанию:
'Initial value' |
Count from value
— Начальное значение, чтобы рассчитать от
(значение по умолчанию)Встречное значение после трансформации, когда Count from установлен в Specify
Значением по умолчанию является 0.
Параметры блоков:
CountFrom |
Ввод: символьный вектор |
Значение:
'Initial value' | 'Specify' |
Значение по умолчанию:
'Initial value' |
Local reset port
— Локальный порт, чтобы сбросить счетчикoff
(значение по умолчанию) | on
Когда выбрано, создает локальный порт сброса, rst
.
Параметры блоков:
CountResetPort |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |
Load ports
— Порт для значения загрузкиoff
(значение по умолчанию) | on
Когда выбрано, создает порт данных загрузки, load_val
, и загрузите триггерный порт, load
.
Параметры блоков:
CountLoadPort |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |
Count enable port
— Порт, чтобы позволить рассчитатьoff
(значение по умолчанию) | on
Когда выбрано, создает количество, включают порт, enb
.
Параметры блоков:
CountEnbPort |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |
Count direction port
— Порт для направления количестваoff
(значение по умолчанию) | on
Когда выбрано, создает порт направления количества, dir
.
Включение этого параметра отключает параметр Count hit output port.
Параметры блоков:
CountDirPort |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |
Count hit output port
— Порт для предела количестваoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы включить выходной порт count_hit.
Включение этого параметра очищает параметр Count direction port.
Параметры блоков:
CountHitOutputPort |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |
Counter output data is
— Тип выходных данных, со знакомUnsigned
(значение по умолчанию) | Signed
Тип выходных данных, со знаком. Значением по умолчанию является Unsigned
.
Параметры блоков:
CountDataType |
Ввод: символьный вектор |
Значение:
'Unsigned' | 'Signed' |
Значение по умолчанию:
'off' |
Word length
— Встречный размер слова
(значение по умолчанию)Битная ширина, включая знаковый бит, для целочисленного счетчика; размер слова для счетчика типа данных с фиксированной точкой. Минимальное значение, если Output data type является Unsigned
1
, 2 если
Signed
. Максимальным значением является 125
. Значением по умолчанию является 8
.
Параметры блоков:
CountWordLen |
Ввод: символьный вектор |
Значение: целое число, больше, чем или равный одному |
Значение по умолчанию:
'8' |
Fraction length
— Встречная дробная длина
(значение по умолчанию)Длина части типа данных с фиксированной точкой. Значением по умолчанию является 0
.
Параметры блоков:
CountFracLen |
Ввод: символьный вектор |
Значение: целое число, больше, чем или равный нулю |
Значение по умолчанию:
'0' |
Sample time
— Встречный шаг расчета
(значение по умолчанию)Размер шага. Значением по умолчанию является 1
. Этот параметр не доступен, и блок наследовал свой шаг расчета от входных портов, когда любой из этих параметров выбран:
Local reset port
Load ports
Count enable port
Count direction port
Параметры блоков:
CountSampTime |
Ввод: символьный вектор |
Значение: целое число, больше, чем или равный одному |
Значение по умолчанию:
'1' |
По умолчанию, когда вы не включаете порты управления, счетчик рассчитывает вверх от нуля в режиме свободного доступа. В этом режиме счетчик постепенно увеличивается с шагом одного в каждом модуле шага расчета, пока это не достигает порогового значения. Пороговое значение количества вычисляется как 2^(Word length) - 1
. Когда это достигает значения количества, сбросов счетчика к начальному значению.
Встречное поведение зависит от портов управления, которые вы задаете. Эта таблица показывает приоритет управляющих сигналов и как встречное значение обновляется относительно управляющих сигналов.
Локальный сброс, rst | Загрузите триггер, load | Количество включает, enb | Считайте направление, dir | Следующее встречное значение |
---|---|---|---|---|
1 | – | – | – | Начальное значение |
0 | 1 | – | – | load_val значение |
0 | 0 | 0 | – | Текущее значение |
0 | 0 | 1 | 1 | Текущее значение + значение шага |
0 | 0 | 1 | 0 | Текущее значение - значение шага |
Параметр Step value и дополнительный порт направления количества, dir
, взаимодействуйте, чтобы определить фактическое направление количества.
dir Значение сигналов | Знак значения шага | Фактическое направление количества |
---|---|---|
1 | + (положительный) | |
1 | - (отрицательный) | Вниз |
0 | + (положительный) | Вниз |
0 | - (отрицательный) |
Этот рисунок иллюстрирует режим свободного доступа операции. В этом примере счетчик имеет Word length 4
. Initial value является 2
, значением загрузки является 7
, и Step value является 1
. Когда сигнал Enb высок, встречный шаг шагами одного. Когда сигнал Rst становится высоким, сбросы счетчика к начальному значению, 2
. Когда порт Dir идет низко, встречные декременты от 4
к 3
на временном шаге 11s
. Значение количества связывается к значению загрузки, когда порт Load становится высоким.
Можно использовать параметр Counter type, чтобы задать встречное поведение. Count limited
режим счетчика переносит количество к начальному значению, когда счетчик точно достигает Count to value. Если счетчик точно не достигает Count to value, он может превысить это значение. Для суммирующего счетчика значение количества может достигнуть порогового значения, которое вычисляется как 2^(Word length) - 1
. Для обратного счетчика значение количества может достигнуть Initial value. Когда это достигает или точно совпадает с этим пороговым значением, сбросами счетчика к значению, которое определяется переносящимся значением шага.
Modulo
режим счетчика переносит количество, когда это достигает или точно совпадает с Count to value. Вместо того, чтобы перезапустить в начальном значении, счетчик переносится назад к значению, которое определяется переносящимся значением шага. Для суммирующего счетчика переносящееся значение шага вычисляется как значение шага - (количество к значению + 1) + количество от значения. Для обратного счетчика переносящееся значение шага вычисляется как количество от значения - значение шага + (количество к значению + 1).
Этот рисунок иллюстрирует Count limited
и Modulo
режимы работы. В этом примере счетчик имеет Word length 4
, Initial value 2
, Step value 3
, и Count to value 12
.
В Count limited
режим, когда значение количества достигает 11
, это превышает Count to value и достигает 14
. Когда пороговым значением является 15 (2^4-1)
, сбросы счетчика к значению, которое определяется переносящимся значением шага. При считании в обратном порядке счетчик превышает Initial value и может достигнуть нуля. Это затем сбрасывает к значению, которое определяется переносящимся значением шага.
В Modulo
режим, когда значение количества достигает 11
, сбросы счетчика к значению, которое определяется переносящимся значением шага. Переносящимся значением шага является 3 - (12 + 1) + 2 = -8
. Поэтому сбросы счетчика к значению 3
(11 + (-8) . При считании в обратном порядке, когда значение количества достигает
4
, сбросы счетчика к значению, которое определяется переносящимся значением шага. Переносящимся значением шага является 2 - 3 + (12 + 1) = 12
. Поэтому сбросы счетчика к значению 12
.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
Общий | |
---|---|
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Если bitwidth входного сигнала к HDL Counter превышает предел типа данных, сгенерированный HDL-код может произвести неправильные результаты симуляции. Чтобы вместить большую битную ширину, используйте больший тип данных.
Блок не поддерживает векторы. Только скалярные типы поддерживаются для вводов и выводов блока.
Загрузите значение, используемое в Modulo
встречный режим должен быть в области значений Count from и Count to value, чтобы избежать несоответствий симуляции.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.