Синтез сумматора при помощи пакета Decomposer



 

Вариант 1

Вариант 1 состоит из 3 сумматоров и 5 блоков. Схема приведена на рисунке 2. Результаты трассировки для различных типов микросхем приведены в таблице 1.

 

Рис.2. Схема сумматора. Вариант 1.

 

Таблица 1.

 

Количество использованных ресурсов ПЛИС

макроячейки (macrocells) конъюнкт. термы (product terms) входы функц. блоков (func. block inputs)
xc9500xl 23 160 92
CoolRunner 15 78 29

 

Вариант 2

Эта схема состоит из 4-х сумматоров,2-х элементов «исключающее или» и 4-х блоков. Схема приведена на рис.3. Результаты трассировки для различных типов микросхем приведены в таблице 2.

 


Рис.3. Схема сумматора. Вариант 2.

 

Таблица 2.

 

Количество использованных ресурсов ПЛИС

макроячейки (macrocells) конъюнкт. термы (product terms) входы функц. блоков (func. block inputs)
xc9500xl 24 167 98
CoolRunner 18 91 39

Вариант 3

Проанализировав данную схему (рис.4.), можно сделать вывод о том, что она является наиболее сложной схемой, в плане реализации, а также по количеству использованных ресурсов ПЛИС (таблица 3).

Рис.4. Схема сумматора. Вариант 3.

 


Таблица 3.

 

Количество использованных ресурсов ПЛИС

макроячейки (macrocells) конъюнкт. термы (product terms) входы функц. блоков (func. block inputs)
xc9500xl 26 241 73
CoolRunner 20 67 29

 

Описание сумматора на языке VHDL

 

Данный способ реализации цифровых устройств пользуется наибольшей популярностью во всем мире. Ниже приведен текст на языке VHDL, описывающий поведение десятичного сумматора с кодом 7-4-2-1, и результаты трассировки данного варианта.

 

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity sum_vhdl is

Port ( I : in std_logic_vector(8 downto 0);

O : out std_logic_vector(4 downto 0));

end sum_vhdl;

 

architecture Behavioral of sum_vhdl is

signal sum: std_logic_vector(4 downto 0);

signal sum_prom: std_logic_vector(3 downto 0);

signal A: std_logic_vector(3 downto 0);

signal B: std_logic_vector(3 downto 0);

begin

 


A <= I(4 downto 1) when I(4 downto 1) < "0111" else (I(4 downto 1) - "0001");

 

B <= I(8 downto 5) when I(8 downto 5) < "0111" else (I(8 downto 5) - "0001");

 

sum <= ('0'&A) + ('0'&B) + I( 0 );

 

sum_prom(3 downto 0) <= sum(3 downto 0) when sum < "01101"

else (sum(3 downto 0) + "0011");

 

O(3 downto 0) <= sum_prom(3 downto 0) when sum_prom(3 downto 0) < "0111"

else (sum_prom(3 downto 0) + "0001");

 

 

O( 4 ) <= '0' when sum < "01101" else '1';

 

end Behavioral;

 

Таблица 4.

 

Количество использованных ресурсов ПЛИС

макроячейки (macrocells) конъюнкт. термы (product terms) входы функц. блоков (func. block inputs)
xc9500xl 18 241 74
CoolRunner 21 80 42

Сравнительный анализ используемых ресурсов для различных вариантов реализации схемы

 

Таблица 5. Результаты трассировки для xc9500xl.

xc9500xl

Количество использованных ресурсов ПЛИС

macrocells product terms function block inputs
Вариант 1 23 160 92
Вариант 2 24 167 98
Вариант 3 26 241 73
Вариант 4 (VHDL) 18 241 74

 

Таблица 6. Результаты трассировки для CoolRunner.

CoolRunner

Количество использованных ресурсов ПЛИС

macrocells product terms function block inputs
Вариант 1 15 78 29
Вариант 2 18 91 39
Вариант 3 20 67 29
Вариант 4 (VHDL) 21 80 42

Покрытие блоков

 

Проведя сравнительный анализ по таблицам 5, 6, можно сделать вывод о том, что оптимальным является первый вариант разложения. Проведем покрытие блоков при помощи мультиплексоров типа 4/1.

С помощью мультиплексора типа 4/1 можно реализовать любую логическую функцию 3-х аргументов, поскольку при разложении исключаются 2 аргумента, а на входы  подаются функции одного аргумента. Это могут быть либо константы «0», «1», либо функция тождества, либо функция инверсии 3-го аргумента.

Логическая последовательность первого блока:

 


0012   345*    6633   700*

Матрицы разложения имеют вид:

 

1)

2)

3)

 

Используя данные разложения, представим схему данного блока (графическая работа “Схема электрическая принципиальная блока DC1”).

 

Логическая последовательность второго блока:

 

0112    2302  1203    0013   0222   0013   13*3   1120

 

 

Матрицы разложения имеют вид:


1)

2)

 

Используя данные разложения, представим схему данного блока (графическая работа “Схема электрическая принципиальная блока DC2”).

Логическая последовательность третьего блока:

 

0123  0124   056*    723*

Матрицы разложения имеют вид:

 

1)

2)

3)

 


Используя данные разложения, представим схему данного блока (графическая работа “Схема электрическая принципиальная блока DC3”).

Логическая последовательность четвертого блока:

 

0123   4560  2347   *476

Матрицы разложения имеют вид:

 

1)

2)

3)

 

Используя данные разложения, представим схему данного блока (графическая работа “Схема электрическая принципиальная блока DC4”).

Логическая последовательность пятого блока:

 


0123  4125  2345  6457

Матрицы разложения имеют вид:

 

1)

2)

3)

Используя данные разложения, представим схему данного блока (графическая работа “Схема электрическая принципиальная блока DC5”).

После покрытия блокa получили наглядную экономию ресурсов ПЛИС.

 

Таблица 7.

 

Количество использованных ресурсов ПЛИС

макроячейки (macrocells) конъюнкт. термы (product terms) входы функц. блоков (func. block inputs)
xc9500xl 20 160 91
CoolRunner 15 77 29

 


Вывод

 

Для нетривиальных схем методы декомпозиции дают существенный выигрыш по отношению к используемым ресурсам. Как видно из таблиц 5-6, традиционный в наше время подход описания цифровых устройств (VHDL) для сумматора в коде 7-4-2-1 при трассировке в кристалл не дает существенного выигрыша, чем схема, полученная в результате декомпозиции.

Из таблиц 5-6, видно, что для разных типов ПЛИС оптимальный результат дают разные варианты реализации. Это связано с особенностью структуры тех или иных ПЛИС и требует отдельных исследований.

Поиск оптимального решения задачи синтеза складывается из рассмотрения и анализа нескольких вариантов реализации комбинационной схемы для различных типов ПЛИС. В некоторых случаях возникает необходимость оценивать не только используемые ресурсы ПЛИС, но и задержку прохождения сигнала через схему.

Как видно из таблиц 5-6, для реализации сумматора по модулю 13 с весовыми коэффициентами 7-4-2-1 наиболее оптимальными вариантами являются схемы №1 и №2. После покрытия схемы №1 мультиплексорами типа 4/1, заметен существенный выигрыш в использовании ресурсов ПЛИС, о чем свидетельствуют результаты таблицы 7.

 


Список литературы

 

· Коновалов В.Н., Белов А.А., Коновалов И.В., Нежельский П.Н.: Автоматизированный синтез комбинационных логических схем на основе многоуровневой декомпозиции. – КФ МГТУ им. Н.Э. Баумана, – 35с.: ил.

· Голубев Ю.П.: Автоматизация проектирования преобразователей дискретной информации. – Калуга: Издательство «Гриф», 2003. -652 с.

· Грэгори, Кейт: Использование Visual C++ 6. Специальное издание.: Пер. с англ. – М.; СПб.; К.: Издательский дом «Вильямс», 2003. – 864 с.: ил.

· Соловьев В.В.: Проектирование цифровых систем на основе программируемых логических интегральных схем. – М.: Горяцая линия-Телеком, 2001. – 636 с. ил.

· Кузелин М.О., Кнышев Д.А., Зотов В.Ю.: Современные семейства ПЛИС фирмы Xilinx. Справочное пособие. – М.: Горячая линия–Телеком, 2004. – 440 с.: ил.


Дата добавления: 2019-07-15; просмотров: 146; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!