Особенности языка VHDL для программирования кристаллов ПЛИС

Рассмотрены особенности языка описания аппаратных средств для программирования структуры пре-
 образователей чисел с плавающей точкой в числа с фиксированной точкой и обратно. Алгоритмы
 представлены путем поведенческого описания на языке VHDL. Рассмотрены различные конструкции&#...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2006
Hauptverfasser: Опанасенко, В.Н., Лисовый, А.Н.
Format: Artikel
Sprache:Russisch
Veröffentlicht: Інститут програмних систем НАН України 2006
Schlagworte:
Online Zugang:https://nasplib.isofts.kiev.ua/handle/123456789/2319
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Zitieren:Особенности языка VHDL для программирования кристаллов ПЛИС / В.Н. Опанасенко, А.Н. Лисовый // Проблеми програмування. — 2006. — N 1. — С. 70-78. — Бібліогр.: 3 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1860208539167883264
author Опанасенко, В.Н.
Лисовый, А.Н.
author_facet Опанасенко, В.Н.
Лисовый, А.Н.
citation_txt Особенности языка VHDL для программирования кристаллов ПЛИС / В.Н. Опанасенко, А.Н. Лисовый // Проблеми програмування. — 2006. — N 1. — С. 70-78. — Бібліогр.: 3 назв. — рос.
collection DSpace DC
description Рассмотрены особенности языка описания аппаратных средств для программирования структуры пре-
 образователей чисел с плавающей точкой в числа с фиксированной точкой и обратно. Алгоритмы
 представлены путем поведенческого описания на языке VHDL. Рассмотрены различные конструкции
 для организации функции сдвига битов регистра и функции доступа к отдельным битам регистра, ко-
 торые являются базовыми в преобразователях. Верификация преобразователей реализована методом
 моделирования в системе ModelSim Xilinx Edition - MXE II. Розглянуто особливості мови опису апаратних засобів для програмування структури перетворювачів чисел із плаваючою точкою в числа з фіксованою точкою й зворотним перетворенням. Алгоритми реалізовано шляхом поведінкового опису мовою VHDL. Розглянуто різні конструкції для організації функції зрушення бітів регістра й функції доступу до окремих бітів регістра, які є базовими в перетворювачах. Верифікація перетворювачів реалізована методом моделювання в системі ModelSim Xilinx Edition - MXE II. Features of the Hardware Description Language (HDL) for programming the structure of the converter of number with a floating point into number with a fixing point and inversing convert are considered. Algorithms are implemented by means behavorial description of the VHDL Language. Different construction for forming of the function of shifting bites register and function of access to individual bites of register is offered.
first_indexed 2025-12-07T18:13:20Z
format Article
fulltext Інструментальні засоби та середовища програмування © В.Н. Опанасенко, А.Н. Лисовый, 2006 70 ISSN 1727-4907. Проблеми програмування. 2006. № 1 УДК 004.274 В.Н. Опанасенко, А.Н. Лисовый ОСОБЕННОСТИ ЯЗЫКА VHDL ДЛЯ ПРОГРАММИРОВАНИЯ КРИСТАЛЛОВ ПЛИС Рассмотрены особенности языка описания аппаратных средств для программирования структуры пре- образователей чисел с плавающей точкой в числа с фиксированной точкой и обратно. Алгоритмы представлены путем поведенческого описания на языке VHDL. Рассмотрены различные конструкции для организации функции сдвига битов регистра и функции доступа к отдельным битам регистра, ко- торые являются базовыми в преобразователях. Верификация преобразователей реализована методом моделирования в системе ModelSim Xilinx Edition - MXE II. Введение Решение широкого круга задач тре- бует использования представления чисел в формате с плавающей точкой (ФПТ) вместо формата с фиксированной точкой (ФФТ). Так как основным форматом представления чисел в современных компьютерах является ФФТ, то полный набор операций для чисел ФПТ содержит, кроме арифметических, операции по преобразованию форматов. Функциональные IP-блоки ФПТ находят широкое применение при построении мате- матических сопроцессоров, DSP-процес- соров, встроенных арифметических сопро- цессоров. В связи с этим рядом фирм раз- рабатываются собственные IP-блоки для обработки операндов ФПТ (согласно стан- дарту IEEE-754 [1]) для кристаллов про- граммируемых логических интегральных схем (ПЛИС) FPGA (Field Programmable Gate Array) [2], которые позволят про- граммировать не только алгоритм обра- ботки данных, но также структуру устрой- ства, реализующего заданный алгоритм. Та- кие IP-блоки можно легко настраивать в со- ответствии с требованиями нового проекта, и они, как правило, независимы от техноло- гии изготовления ПЛИС. Наиболее важным свойством готового технического решения является его гарантированное воспроизве- дение в новом проекте в соответствии со спецификацией, определенной разработчи- ком этого решения и уточненной разработ- чиком проекта. Следует отметить, что опи- сание модели с помощью HDL-технологии (Hardware Description Language – язык опи- сания аппаратных средств) позволяет не только сделать ее перенастраиваемой и не- зависимой от технологии, но и выполнять ее моделирование и синтез с использованием инструментальных средств различных фирм [3]. Благодаря сетевым технологиям проек- тировщик в соответствии со сформулиро- ванными техническими требованиями по сети Internet может получить оптимизиро- ванное логическое ядро и включить его в свой проект. Проектирование и реализация циф- ровых устройств на современной элемент- ной базе может быть выполнено на ПЛИС. Одним из подходов к проектированию уст- ройства является использование HDL-тех- нологии, которая представляет собой ком- плекс инструментальных средств САПР и методологию проектирования, ориентиро- ванных на описание проекта с помощью языка HDL (VHDL или Verilog). Основными предпосылками для внедрения в практику HDL-технологии являются: внедрение про- мышленных стандартов, обеспечивающих эффективное и оптимальное проектиро- вание средств электроники и вычислите- льной техники; увеличение логической ем- кости элементной базы (например, кри- сталлы Virtex-4 содержат до 10 млн логиче- ских вентилей или 125 тыс. логических яче- ек); развитие инструментальных средств САПР и в первую очередь средств автома- тического синтеза и верификации. Такие возможности HDL-технологии, как иерар- хическое проектирование, переносимость библиотек, платформонезависимость, по- зволяют использовать имеющиеся IP-блоки в качестве макроэлементов для разработки новых технических решений в виде IP-блоков (soft cores). Інструментальні засоби та середовища програмування 71 Если до недавнего времени основ- ным способом описания проектов являлся графический синтез схемы устройства, вы- полняемый схематическим редактором, то в последнее время предпочтение отдается текстовому описанию, подобному тексту программы. Этим достигается компактность и более строгая формализация описания в соответствии со стандартом используемого языка. Описание в виде текста на HDL-языке регламентируется соответст- вующими стандартами. Следует отметить, что синтаксически правильное описание на HDL-языке не всегда может быть синтези- ровано, т.е. представлено в виде аппаратной модели, полученной после компиляции из HDL-кода. Так, например, не могут быть синтезированы сигналы и переменные типа с плавающей точкой, операторы Wait с па- раметром задержки и т.д. Перечень несин- тезируемых элементов во многом зависит от конкретного средства синтеза и типа вы- бранного кристалла. Некоторые конструк- ции могут синтезироваться в различных проектах по разному, к примеру, конструк- ция For может синтезироваться как после- довательная комбинационная схема (итера- ции выполняются последовательно с помо- щью одного синхросигнала) или как схема, каждая итерация цикла будет выполняться по новому синхросигналу. Постановка задачи Рассмотрим описание структур, реа- лизующих преобразование чисел одинарной точности ФПТ в формат ФФТ и обратно по- средством языка VHDL. Операнд одинар- ной точности ФПТ, согласно стандарту IEEE-754, представлен 32 битами: 1 бит для знака, 8 бит для порядка и 23 бита для дро- би мантиссы. Данный формат предполагает наличие «скрытого» старшего бита, что по- зволяет представить истинное значение мантиссы на самом деле 24 битами. Операнд ФПТ представляется выра- жением MA ES .12)1( 127 ××−= − , где S – знак числа; Е – показатель порядка (смещенный на значение b=127); 1.М – нор- мализованная мантисса. Формат операнда и диапазон допус- тимых значений представлен на рис. 1. Операнд ФФТ представлен 32 би- тами (1 бит для знака и 31 бит для модуля целого числа) и определяется выражением N)(A S ×−= 1 , где: S – знак числа; N – значение целого числа. Формат операнда и диапазон допус- тимых значений представлен на рис. 2. Диапазон допустимых значений опе- ранда ФФТ меньше диапазона допустимых значений операнда ФПТ. Преобразователь чисел ФПТ в ФФТ должен генерировать флаг ошибки при вы- ходе за диапазон допустимых значений опе- ранда ФФТ, а при преобразовании числа Формат операнда с плавающей точкой Диапазон допустимых значений операнда Рис. 1 Формат операнда с фиксированной точкой Диапазон допустимых значений операнда Рис. 2 Інструментальні засоби та середовища програмування 72 ФФТ в ФПТ может наблюдаться некоторая погрешность, так как мантисса числа ФПТ ограничена 24 битами, а модуль числа ФФТ содержит 31 бит. Описание преобразователей на языке VHDL Числа ФФТ и ФПТ, рассматриваются как 32-разрядные бит–векторы. В качестве входного операнда используется бит–вектор а, в качестве выходного – b. Вводятся до- полнительные переменные: a1, a_inv1, a_inv, ind, i, b_x, count, M_i, M_u, которые относятся к разным типам данных и имеют определенные назначение. Преобразование чисел ФФТ в ФПТ. Рассмотрим реализацию преобразователя ФП1, который основан на базовых конст- рукциях языка VHDL. Процесс описания преобразователя состоит из 5 этапов. 1. С помощью конструкции if фор- мируется дополнительная переменная а1, в которой число представлено в прямом коде. 2. С помощью конструкции For оп- ределяется индекс бита, в котором первый раз встречается единица при просмотре а1 слева направо (от старших значащих бит к младшим). 3. С помощью трех конструкций if формируется мантисса числа ФПТ. 4. Определяется значение порядка числа ФПТ. 5. Значения знакового бита числа ФФТ записываются в знаковый бит числа ФПТ. Как было описано выше, не все коды, полученные в результате описания, могут быть синтезированы в системе САПР ПЛИС. Например, конструкции, в которых в качестве индексов при доступе к бит–век- тору, использовались переменные, не по- b(31 downto 0)<="00000000000000000000000000000000"; if a(30 downto 0)="0000000000000000000000000000000" then a1(30 downto 0):=a(30 downto 0); else if a(31)='0' then a1(30 downto 0):=a(30 downto 0); else a_inv1:=conv_integer(a(30 downto 0))-1; a_inv(30 downto 0):=conv_std_logic_vector(a_inv1,31); a1(30 downto 0):=not(a_inv(30 downto 0)); end if; end if; ind:=31; for i in 30 downto 0 loop if a1(i)='1' then ind:=i; if ind<24 and ind>0 then b(22 downto 23-ind)<=a1(ind-1 downto 0); end if; if ind>23 then b(22 downto 0)<=a1(ind-1 downto ind-23); end if; b(30 downto 23)<=conv_std_logic_vector(127+ind,8); exit; end if; end loop; b(31)<=a(31); rdy<='0'; Інструментальні засоби та середовища програмування 73 зволяют проходить этап синтеза в ранних версиях САПР Xilinx ISE Foundation. Преобразователь ФФТ в ФПТ может быть модифицирован, этап, в котором фор- мируется мантисса числа ФПТ, может быть вынесен из конструкции For, данный под- ход реализован в преобразователе ФП2. Одним из способов организации уст- ройства может быть использование конст- рукции Case (машины состояний). Принцип конструкции состоит в том, что в каждом состоянии выполняются заданные операции и определяется переход к следующему со- стоянию. Операции в каждом состоянии выполняются по новому синхросигналу. Данный подход используется в том случае, когда требуется уменьшить длительность синхросигнала, что приводит к увеличению аппаратных затрат. В конструкции Case легко организовать любые циклы, в том числе с переменным количеством итераций, что не всегда возможно при использовании конструкции For, которая позволяет ис- пользовать ограниченное количество итера- ций. На основе указанных свойств рас- смотрим реализацию преобразователя ФП3. Преобразователь представляет машину со- стояний, имеющую семь состояний, связан- ных между собой условными переходами. Переход в первое состояние происходит с помощью оператора присвоения “state <=S1;” Последующие переходы осуществ- ляются после выполнения операции данного состояния. В последнем состоянии (седь- мом) выполняются операции и устройство переходит в ожидание нового сигнала за- грузки “load=’1’”. Преобразование чисел ФПТ в ФФТ. Рассмотрим реализацию преобразователя ПФ2. Он генерирует флаг ошибки “er- ror_x<='1'” при выходе за диапазон допус- тимых значений операнда ФФТ. Процесс описания преобразователя состоит из 7 этапов. 1. С помощью двух конструкций if отбираются все числа ФПТ, значение по- рядка которых не входит в допустимый диапазон 157127 ≤≤ E . Числа ФПТ, значе- ние порядка которых больше 157, выходят за диапазон допустимых значений числа ФФТ, а числа, степень порядка которых меньше 127, при преобразовании в ФФТ представляются нулевым значением. 2. Значения знакового бита числа ФПТ записывается в знаковый бит числа ФФТ. 3. С помощью операции присвоения в дополнительную переменную b_x записы- вается значение мантиссы числа ФПТ вме- сте со скрытым битом. 4. Значение ind – число, которое оп- ределяет количество сдвигов вправо (в сто- рону младших значащих бит) дополнитель- ной переменной. 5. Выполняется сдвиг вправо с по- мощью SHR-функции, которая входит в па- кет STD_LOGIC_UNSIGNED. 6. Анализируется знак дополнитель- ной переменной и осуществляется ее пере- вод в дополнительный код. 7. Значение дополнительной пере- менной присваивается выходному регистру в качестве результата. Альтернативой функции сдвига SHR может быть анализ переменной ind и пере- запись части бит–вектора входного опе- ранда а в бит–вектор выходного операнда b. Данный подход, реализованный в преобра- зователе ПФ1, характеризуется использова- нием переменных в качестве индексов бит– вектора и представляется только послед- ними версиями САПР Xilinx ISE Foundation. Преобразователь чисел ФПТ в ФФТ может быть представлен как машина, имеющая четыре состояния. Этот подход, реализован в преобразователе ПФ3. Вход в первое состояние осуществ- ляется по сигналу загрузки “load=’1’”. Дан- ное состояние реализует анализ входного операнда в ФПТ: если операнд может быть представлен в формате с ФФТ, то осущест- вляется переход в состояние 2, в противном случае – переход в состояние 3. В состоянии 2 непосредственно реализуется преобразо- вание операндов. Аппаратные (в пересчете на количе- ство слайсов, которые определяют логиче- скую сложность кристалла ПЛИС) и вре- менные оценки для предложенных реализа- ций модулей преобразователей форматов представлены в табл. 1. Для варианта ФП3 время преобразо- вания (Tmin = 20 нс) имеет место только в Інструментальні засоби та середовища програмування 74 if load='1' then rdy<='1'; i:=0; state <= S1; end if; case state is when S1 => if a(30 downto 0)="0000000000000000000000000000000" then state <= S7; else b(30 downto 0)<="0000000000000000000000000000000"; if a(31)='0' then a1(30 downto 0):=a(30 downto 0); else a_inv1:=conv_integer(a(30 downto 0))-1; a_inv(30 downto 0):=conv_std_logic_vector(a_inv1,31); a1(30 downto 0):=not(a_inv(30 downto 0)); end if; state <= S2; end if; when S2 => for ind in 30 downto 0 loop if a1(ind)='1' then i:=ind; state <= S3; exit; end if; end loop; when S3 => if i=0 then b(0)<='1'; state <= S6; else state <= S4; end if; when S4 => if i<24 then b(22 downto 23-i)<=a1(i-1 downto 0); state <= S6; else state <= S5; end if; when S5 => b(22 downto 0)<=a1(i-1 downto i-23); state <= S6; when S6 => b(30 downto 23)<=conv_std_logic_vector(127+i,8); b(31)<=a(31); rdy<='0'; when S7 => b(31 downto 0)<=a(31 downto 0); rdy<='0'; when others => null; end case; Інструментальні засоби та середовища програмування 75 том случае, если значение исходного опе- ранда представляется нулевым значением, т. е. вероятность этого случая есть ( 3121 ), во всех остальных случаях время преобразова- ния определяется величиной Tmax = 60 нс. Для варианта ПФ3 время преобразо- вания (Tmin = 16 нс) имеет место только в том случае, если значение степени порядка не входит в диапазон представления резуль- тирующего операнда ФФТ, т. е. вероятность этого случая есть ( )122(1 58 +− ), во всех остальных случаях время преобразования определяется величиной Tmax = 24 нс. Верификация преобразователей Верификация предложенных струк- тур преобразователей осуществлена мето- дом моделирования в системе ModelSim Xilinx Edition - MXE II. В табл. 2 представлены результаты верификации процесса преобразования массива входных операндов ФФТ в ФПТ, а также, для большей наглядности, десятичные значения этих чисел. В табл. 3 приведены результаты верификации процесса преобразования массива входных операндов ФПТ в ФФТ, а также десятичные значения этих чисел и значения флага ‘Ошибка’ (Er). Этот флаг принимает значение “1” (когда результат выходит за диапазон представления допус- тимых значений операнда в ФФТ) и значе- ние “0” (результат входит в диапазон пред- ставления допустимых значений операнда в ФФТ). Задача выбора оптимальной структуры В результате синтеза имеем не- сколько структурных реализаций алгоритма преобразования форматов ФП1, ФП2, ФП3 для преобразования ФФТ в ФПТ и ПФ1, ПФ2, ПФ3 для обратного преобразования форматов. Решение задачи выбора опти- мальной структурной ПЛИС–реализации алгоритма не может быть определено стро- rdy<='1'; error_x<='0'; b_x(31 downto 0):="00000000000000000000000000000000"; if a(30 downto 23)>="01111111" then if a(30 downto 23)>"10011101" then error_x<='1'; else b_x(31):=a(31); b_x(30 downto 7):='1'&a(22 downto 0); ind:=157-conv_integer(a(30 downto 23)); count:=conv_unsigned(ind,5); M_i:=conv_integer(b_x(30 downto 0)); M_u:=conv_unsigned(M_i,31); M_u:= SHR(M_u,count); b_x(30 downto 0):=conv_std_logic_vector(M_u,31); if b_x(31)='1' then b_inv(30 downto 0):=not(b_x(30 downto 0)); b_inv1:=conv_integer(b_inv(30 downto 0))+1; b_x(30 downto 0):=conv_std_logic_vector(b_inv1,31); end if; end if; else error_x<='1'; end if; b(31 downto 0)<=b_x(31 downto 0); rdy<='0'; Інструментальні засоби та середовища програмування 76 гими аналитическими целевыми функ- циями. Кроме того, необходимо учитывать наличие довольно мощного ряда кристаллов ПЛИС, каждая из имеющихся серий пред- ставлена множеством кристаллов, отли- чающихся быстродействием, потребляемой мощностью, логической емкостью, типом корпуса, количеством выводов и другими важными параметрами. Целевая функция в аналитическом виде может быть найдена одним из прибли- женных методов. Наиболее распространен- Таблица 1. Аппаратные и временные оценки модулей преобразователей форматов Время реализации операции преобразования форматов (нс) Тип модуля Количество слайсов Период синхросигналов Clk (нс) Tmin Tmax ФП1 396 19 19 19 ФП2 290 23 23 23 ФП3 390 14 2*10=20 6*10=60 ПФ1 248 16 16 16 ПФ2 109 14 14 14 ПФ3 153 14 2*8=16 3*8=24 if load='1' then rdy<='1'; error_x<='0'; b_x(31 downto 0):="00000000000000000000000000000000"; state <= S1; end if; case state is when S1 => if a(30 downto 23)>="01111111" and a(30 downto 23)<="10011101" then state <= S2; else state <= S3; end if; when S2 => ind:=157-conv_integer(a(30 downto 23)); count:=conv_unsigned(ind,5); M_i:=conv_integer('1'&a(22 downto 0)&"0000000"); M_u:=conv_unsigned(M_i,31); M_u:= SHR(M_u,count); b_x(30 downto 0):=conv_std_logic_vector(M_u,31); if a(31)='1' then b_inv(30 downto 0):=not(b_x(30 downto 0)); b_inv1:=conv_integer(b_inv(30 downto 0))+1; b_x(30 downto 0):=conv_std_logic_vector(b_inv1,31); end if; state <= S4; when S3 => error_x<='1'; b(31 downto 0)<=b_x(31 downto 0); when S4 => b(31)<=a(31); b(30 downto 0)<=b_x(30 downto 0); rdy<='0'; when others => null; Інструментальні засоби та середовища програмування 77 ными являются методы линейной или нели- нейной интерполяции и экстраполяции по нескольким опорным точкам. Эти точки (структурные реализации алгоритма) полу- чаются путем предварительного формиро- вания вариантов реализаций алгоритма или взяты из набора, имеющихся в составе САПР, готовых CORE - ядер. Из множества этих точек, где каждой l – й точке соответствует ПЛИС–реализа- ция с параметрами >< ll QT , , формируется множество Парето мощностью M на плос- кости QT − с учетом соотношений ml TTTT ≤≤≤≤≤ KK21 ; ml QQQQ ≥≥≥≥≥ KK21 . В общем виде задача выбора опти- мального варианта реализации алгоритма сводится к минимизации функционала min⇒+= lll QTL βα (1) с учетом ограничений    ≤ ≤ , ; 0 0 QQ TT l l (2) где βα , – весовые коэффициенты, которые могут быть определены, например, методом экспертных оценок; 00, QT – заданные пре- дельные значения параметров lT и lQ . Если заданным ограничениям (2) удовлетворяет единственная точка множе- ства Парето, то реализация, соответствую- щая этой точке, является результирующей. Если ограничениям (2) удовлетворяют не- сколько таких точек, то необходимо мини- мизировать функционал (1). Таблица.2. Результаты верификации преобразования ФФТ в ФПТ Значения входных операндов ФФТ в дополнительном коде Значения входных операндов (десятичные) Значения выходных операндов ФПТ Значения выходных операндов (десятичные) 00000000000000000000000000000000 10000000000000000000000000000100 00000000000000000000000000010000 00000000000000000000000001000000 10000000000000000000000100000000 00000000000000000000010000000001 00000000000000000001000000000100 00000000000000000100000000010000 10000000000000010000000001000000 10000000000001000000000100000000 00000000000100000000010000000001 00000000010000000001000000000100 10000001000000000100000000010000 00000100000000010000000001000000 10010000000001000000000100000000 0 -2147483644 16 64 -2147483392 1025 4100 16400 -2147418048 -2147221248 1049601 4198404 -2130690032 67174464 -1878785792 00000000000000000000000000000000 11001110111111111111111111111111 01000001100000000000000000000000 01000010100000000000000000000000 11001110111111111111111111111110 01000100100000000010000000000000 01000101100000000010000000000000 01000110100000000010000000000000 11001110111111111111110111111111 11001110111111111111011111111110 01001001100000000010000000001000 01001010100000000010000000001000 11001110111111011111111101111111 01001100100000000010000000001000 11001110110111111111011111111110 0 -2147483520 16 64 -2147483392 1025 4100 16400 -2147417984 -2147221248 1049601 4198404 -2130689920 67174464 -1878785792 Таблица.3. Результаты верификации преобразования ФПТ в ФФТ Значения входных операндов ФПТ Значения входных операндов (десятичные) Значения выходных операндов ФФТ в дополнительном коде Er Значения выходных операндов (десятичные) 00000000000000000000000000000000 01000000110000000000000000000000 11000001110000000000000000000000 01000010010000000000000000000000 01001010010000000000000000000000 11000110010000000000000000000000 01001011010000000000000000000000 01000111010000000000000000000000 11000111110000000000000000000000 01001000010000000000000000000000 01001000110000000000000000000000 11001011110000000000000000000000 11001110110000000000000000000000 01001111110000000000000000000000 0 6 -24 48 3145728 -12288 12582912 49152 -98304 196608 393216 -251165824 -1610612736 6442450944 00000000000000000000000000000000 00000000000000000000000000000110 11111111111111111111111111101000 00000000000000000000000000110000 00000000001100000000000000000000 11111111111111111101000000000000 00000000110000000000000000000000 00000000000000001100000000000000 11111111111111101000000000000000 00000000000000110000000000000000 00000000000001100000000000000000 11111110100000000000000000000000 10100000000000000000000000000000 00000000000000000000000000000000 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 6 -24 48 3145728 -12288 12582912 49152 -98304 196608 393216 -251165824 -1610612736 0 Інструментальні засоби та середовища програмування 78 Выводы Рассмотренные особенности конст- рукций языка VHDL позволяют сделать вы- вод о том, что при поведенческом описании структур для преобразования форматов не все конструкции могут быть использованы для ввода проекта в САПР ПЛИС, так как этап синтеза в этих системах не поддержи- вает полный набор конструкций. Использо- вание инструментальных средств FPGA Ex- press и программ размещения и трассировки системы Xilinx Foundation Series позволило осуществить синтез и реализацию преобра- зователей в кристалле XCV600E–BG432–8, аппаратные и временные оценки которых приведены в табл.1. Полученное множество реализаций позволяет выбрать оптимальный вариант структурной реализации преобра- зования форматов по критериям аппаратных и временных затрат. По результатам анализа табл. 1 можно сделать следующие выводы. Для преобразования ФФТ в ФПТ вариант ФП1 является самым быстродействующим, при этом требует для реализации наиболь- шего количества слайсов. Вариант ФП2 яв- ляется менее быстродействующим по срав- нению с ФП1 и аппаратных затрат требу- ется меньше. Вариант ФП3 для Т(макс) по сравнению с вариантом ФП1 требует мень- шего количества слайсов и является более медленным, но по сравнению с вариантом ФП2 реализуется большими аппаратными затратами и является еще медленнее, по- этому эта реализация может быть исклю- чена из дальнейшего рассмотрения. Вариант ФП3 для Т(мин) по сравнению с вариантом ФП1 требует меньше слайсов и обладает меньшим быстродействием, но по сравне- нию с вариантом ФП2 требует больших ап- паратных затрат и меньшего времени пре- образования. Для преобразования ФПТ в ФФТ ва- риант ПФ2 по сравнению с вариантами ПФ1 и ПФ3 обладает самым высоким быстро- действием, при этом для его реализации ис- пользуется наименьшее количество слайсов. Поэтому варианты ПФ1 и ПФ3 могут быть исключены из дальнейшего рассмотрения. Это связано с использованием функции сдвига вправо SHR, которая входит в пакет STD_LOGIC_UNSIGNED. Синтезированные преобразователи верифицированы методом моделирования в системе ModelSim Xilinx Edition - MXE II с помощью стенда для проверки, что под- тверждает правильность их функциониро- вания. 1. Hollash S. IEEE Standard 754 Floating Point Num- bers / Available. - htpp:// IEEE / IEEE Standard 754 Floating-Point.htm. 2. Xilinx Data Book 2004 / Available. - http: // sup- port.xilinx.com /partinfo /databook.htm. 3. VHDL'93. IEEE Standard VHDL Language Refer- ence Manual. IEEE Std 1076-1993. – 289 p. Получено 21.09.05 Об авторах Опанасенко Владимир Николаевич канд. техн. наук, ст. науч. сотрудник Место работы автора Институт кибернетики им. В.М. Глушкова Киев, просп. Акад. Глушкова, 40 Тел.(сл.). (044) 526 2598 Тел. (дом.). (044) 530 7091 E-mail: vlopanas@ukr.net Лисовый Александр Николаевич студент Место работы автора Национальный авиационный университет Киев, просп. Комарова, 1 Тел.(сл.). (044) 526 2598 Тел. (дом.). (044) 402 9341 E-mail: vlopanas@ukr.net
id nasplib_isofts_kiev_ua-123456789-2319
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 1727-4907
language Russian
last_indexed 2025-12-07T18:13:20Z
publishDate 2006
publisher Інститут програмних систем НАН України
record_format dspace
spelling Опанасенко, В.Н.
Лисовый, А.Н.
2008-09-17T13:59:27Z
2008-09-17T13:59:27Z
2006
Особенности языка VHDL для программирования кристаллов ПЛИС / В.Н. Опанасенко, А.Н. Лисовый // Проблеми програмування. — 2006. — N 1. — С. 70-78. — Бібліогр.: 3 назв. — рос.
1727-4907
https://nasplib.isofts.kiev.ua/handle/123456789/2319
004.274
Рассмотрены особенности языка описания аппаратных средств для программирования структуры пре-&#xd; образователей чисел с плавающей точкой в числа с фиксированной точкой и обратно. Алгоритмы&#xd; представлены путем поведенческого описания на языке VHDL. Рассмотрены различные конструкции&#xd; для организации функции сдвига битов регистра и функции доступа к отдельным битам регистра, ко-&#xd; торые являются базовыми в преобразователях. Верификация преобразователей реализована методом&#xd; моделирования в системе ModelSim Xilinx Edition - MXE II.
Розглянуто особливості мови опису апаратних засобів для програмування структури перетворювачів чисел із плаваючою точкою в числа з фіксованою точкою й зворотним перетворенням. Алгоритми реалізовано шляхом поведінкового опису мовою VHDL. Розглянуто різні конструкції для організації функції зрушення бітів регістра й функції доступу до окремих бітів регістра, які є базовими в перетворювачах. Верифікація перетворювачів реалізована методом моделювання в системі ModelSim Xilinx Edition - MXE II.
Features of the Hardware Description Language (HDL) for programming the structure of the converter of number with a floating point into number with a fixing point and inversing convert are considered. Algorithms are implemented by means behavorial description of the VHDL Language. Different construction for forming of the function of shifting bites register and function of access to individual bites of register is offered.
ru
Інститут програмних систем НАН України
Інструментальні засоби і середовища програмування
Особенности языка VHDL для программирования кристаллов ПЛИС
Особливості мови VHDL для програмування кристалів ПЛІС
Features of the VHDL Language for programming of the PLD
Article
published earlier
spellingShingle Особенности языка VHDL для программирования кристаллов ПЛИС
Опанасенко, В.Н.
Лисовый, А.Н.
Інструментальні засоби і середовища програмування
title Особенности языка VHDL для программирования кристаллов ПЛИС
title_alt Особливості мови VHDL для програмування кристалів ПЛІС
Features of the VHDL Language for programming of the PLD
title_full Особенности языка VHDL для программирования кристаллов ПЛИС
title_fullStr Особенности языка VHDL для программирования кристаллов ПЛИС
title_full_unstemmed Особенности языка VHDL для программирования кристаллов ПЛИС
title_short Особенности языка VHDL для программирования кристаллов ПЛИС
title_sort особенности языка vhdl для программирования кристаллов плис
topic Інструментальні засоби і середовища програмування
topic_facet Інструментальні засоби і середовища програмування
url https://nasplib.isofts.kiev.ua/handle/123456789/2319
work_keys_str_mv AT opanasenkovn osobennostiâzykavhdldlâprogrammirovaniâkristallovplis
AT lisovyian osobennostiâzykavhdldlâprogrammirovaniâkristallovplis
AT opanasenkovn osoblivostímovivhdldlâprogramuvannâkristalívplís
AT lisovyian osoblivostímovivhdldlâprogramuvannâkristalívplís
AT opanasenkovn featuresofthevhdllanguageforprogrammingofthepld
AT lisovyian featuresofthevhdllanguageforprogrammingofthepld