Вычисляет основанную на CORDIC гиперболическую касательную и генерирует оптимизированный HDL-код
Поддержка HDL Fixed-Point Designer / Математические операции
Блок Hyperbolic Tangent HDL Optimized возвращает гиперболическую касательную x, вычисленное использование основанной на CORDIC реализации, оптимизированной для генерации HDL-кода.
x
— Угол в радианахУгол в радианах в виде действительного конечного скаляра. Если x является фиксированной точкой или масштабируемым двойным типом данных, x должен использовать масштабирование двоичной точки. Представление наклонного смещения не поддерживается для типов данных с фиксированной точкой.
Типы данных: single
| double
| fixed point
validIn
— Допустимо ли введенныйBoolean
скалярДопустимо ли введенный в виде булева скаляра. Этот управляющий сигнал указывает, когда данные из входного порта x допустимы. Когда этим значением является 1
TRUE
), блок получает значение на входном порте x. Когда этим значением является 0
ложь
), блок игнорирует входные выборки.
Типы данных: Boolean
y
— Гиперболическая касательная x
Гиперболическая касательная значения в x, возвращенном как скаляр. Значение в y является основанным на CORDIC приближением гиперболической касательной x. Когда вход к функции является плавающей точкой, тип выходных данных совпадает с типом входных данных. Когда вход является типом данных с фиксированной точкой, выход имеет тот же размер слова как вход и дробная длина, равная 2 меньше, чем размер слова.
Типы данных: single
| double
| fixed point
validOut
— Допустимы ли выходные данныеBoolean
скалярДопустимы ли выходные данные, возвращенные как булев скаляр. Когда значением этого управляющего сигнала является 1
TRUE
), блок успешно вычислил выход y. Когда этим значением является 0
ложь
), выходные данные не допустимо.
Типы данных: Boolean
ready
— Готов ли блокBoolean
скалярГотов ли блок, возвращенный как булев скаляр. Этот управляющий сигнал указывает, когда блок готов к новым входным данным. Когда это значение равняется 1 (true
), и значение validIn равняется 1 (true
), блок принимает входные данные в следующем временном шаге. Когда это значение 0 (false
), блок игнорирует входные данные в следующем временном шаге.
Типы данных: Boolean
CORDIC является акронимом для Координатного Компьютера Вращения. Основанный на вращении алгоритм CORDIC Givens является одним из самых эффективных оборудованием алгоритмов, доступных, потому что это требует только итеративных операций shift-add (см. Ссылки). Алгоритм CORDIC избавляет от необходимости явные множители.
Блок автоматически определяет количество итераций, niters
, алгоритм CORDIC выполняет на основе типа данных входа.
Тип данных входа x | niters |
---|---|
единственный | 23
|
'double' | 52
|
фиксированная точка | Меньше, чем размер слова x. Минимальным количеством итераций CORDIC является 7 . |
Блок Hyperbolic Tangent HDL Optimized поддерживает генерацию HDL-кода для данных фиксированной точки с масштабированием двоичной точки. Это спроектировано с этим приложением в памяти и использует оборудование определенная семантика и оптимизация. Одна из этой оптимизации является разделением ресурсов.
При развертывании сложных алгоритмов в FPGA или устройства ASIC, часто существует компромисс между использованием ресурсов и общей пропускной способностью для данного расчета. Полностью конвейерные и параллелизированные алгоритмы имеют самую большую пропускную способность, но они являются часто слишком интенсивно использующими ресурсы, чтобы развернуться на физических устройствах. Путем реализации планирования логики вокруг одной или нескольких базовых вычислительных схем возможно снова использовать ресурсы в течение расчета. Результатом является реализация с намного меньшим местом, за счет уменьшаемой общей пропускной способности. Это часто - приемлемый компромисс, когда совместно использованные проекты ресурса могут все еще удовлетворить полные требования задержки.
Все ключевые вычислительные модули в блоке Hyperbolic Tangent HDL Optimized снова используются в жизненном цикле расчета. Это включает не, только схема CORDIC раньше выполняла вращения Givens, но также и сумматоры и множители, используемые для обновления углов. Это сохраняет и DSP и ресурсы матрицы при развертывании к устройствам ASIC или FPGA.
Блок Hyperbolic Tangent HDL Optimized принимает данные, когда ready, выход высок, указывая, что блок готов начать новый расчет. Чтобы отправить входные данные в блок, сигнал validIn должен утверждаться. Если блок успешно укажет входное значение, то это будет de-assert готовый сигнал, и пользователь должен затем ожидать, пока сигнал, как не утверждается, снова отправляет новый вход. Этот протокол получен в итоге в следующей схеме волны. Отметьте, как первый допустимый вход с блоком отбрасывается, потому что блок не был готов принять входные данные.
Когда блок закончит расчет и будет готов отправить выход, это будет утверждать validOut для одного такта. Затем ready будет утверждаться, указывая, что блок готов принять новое входное значение.
Представление наклонного смещения не поддерживается для типов данных с фиксированной точкой.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
Общий | |
---|---|
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Типы данных с фиксированной точкой поддержек только.
x должен использовать масштабирование двоичной точки. Представление наклонного смещения не поддерживается для типов данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.