ПОИСК Статьи Чертежи Таблицы Перевод из системногоалгоритмического уровня в код и другие из "Проектирование на ПЛИС архитектура, средства и методы " Этот тип чисел с плавающей точкой обладает определенными преимуществами, так как обеспечивает высокую точность в огромном динамическом диапазоне. Однако реализация вычислений с плавающей точкой этого типа данных в специализированных устройствах на базе ПЛИС или заказных микросхем требует офомного количества ресурсов и по меркам аппаратного обеспечения является чрезвычайно медленной. Поэтому на некоторой стадии проектирования устройство должно быть переведено на использование чисел с фиксированной точкой, т. е. числа с фиксированным количеством битов для представления целой и дробной частей. Этот процесс обычно называется квантованием. [c.191] Процесс квантования целиком и полностью зависит от типа системы и алгоритма, и может потребоваться немалое количество экспериментов для определения оптимального баланса между использованием наименьшего количества битов для представления чисел тем самым, уменьшая количество требуемых ресурсов и увеличивая скорость вычисления, и сохранением точности вычислений. Это может натолкнуть на мысль о компромиссной величине пофешности, которую разработчик допускает для данного количества битов. В некоторых случаях конструкторы могут провести несколько дней, решая Следует ли использовать 14, 15 или 16 бит для представления этих данных . И специально для поднятия настроения можно попробовать использовать различное количество битов для представления данных на разных участках алгоритма или системы. [c.191] Ещё больше удовольствия можно получить при переходе от чисел с плавающей точкой к данным с фиксированной точкой на более высоком системном или алгоритмическом уровне проектирования, или на более низком уровне кода / ++. [c.191] Поскольку системный (алгоритмический) уровень и уровень регистровых передач (RTL) существенно отличаются, ручной перенос кода из одной области в другую занимает массу времени и имеет такие нежелательные последствия, как наличие ошибок. Итоговое RTL-представление устройства зависит также от конкретной реализации, поскольку создание оптимального устройства на ПЛИС требует иного стиля программирования, чем при использовании заказной микросхемы. [c.192] Что же касается модификации вручную и перепроверки RTL-кода для формирования ряда оценок возможных вариантов микроархитектурных реализаций, то они требует чрезвычайно много времени. Кстати, такие оценки могут включать формирование определённых операций в параллельном и последовательном режимах с применением и без применения канала передачи данных, с распределёнными ресурсами, например две операции используют один умножитель, и со специализированными средствами и т. д. [c.192] Аналогично, если в ходе проектирования в начальный замысел были внесены некоторые изменения, их можно довольно просто реализовать и оценить на системном (алгоритмическом) уровне представления, но последующая ручная свёртка этих изменений в RTL-код может оказаться трудоёмкой и потребовать много времени. [c.192] После создания RTL-представления устройства можно воспользоваться низкоуровневыми средствами логического синтеза, которые были рассмотрены в гл. 9. [c.192] Как обычно, проектирование на системном (алгоритмическом) уровне начинается с описания устройства с применением чисел с плавающей точкой. Согласно одному из подходов к проектированию, система (среда) проектирования используется также для перевода этих представлений в их эквиваленты с фиксированной точкой, а затем выполняется автоматическая генерация эквивалентного RTL кода на языке VHDL или Verilog (Рис. 12.8, а). [c.193] Как и раньше, после создания RTL-представления устройства можно воспользоваться низкоуровневыми средствами логического синтеза, которые были рассмотрены в гл. 9. [c.193] В последнее время наметилась тенденция использовать для решения проблем, связанных с анализом устройства на уровне регистровых передач (RTL), так называемый метод ступенек. Этот метод подразумевает преобразование из системного (алгоритмического) представления устройства в некоторое представление кода / ++, которое затем переводится в код RTL. Одна из причин такого двойного перехода заключается в том, что большинство разработчиков, проектирующих системы цифровой обработки сигналов, используют представления на языке / ++ в качестве золотой, т. е. эталонной, модели, причём такие модели являются бесплатными, в чём весьма заинтересованы разработчики, работающие с RTL. [c.194] Разумеется, сначала необходимо принять решение, где и когда в процессе проектирования перейти от моделей с плавающей точкой к описаниям с фиксированной точкой (Рис. 12.9). [c.194] Вернуться к основной статье