Реализация n-битного умножения на Spartan 3E Kit с использованием аппаратных умножителей

Функционирование встроенных умножителей 18х18, которые ускоряют DSP логику (отключения устройства) в семействе Spartan ™ -3. Особенности проектирования на примере реализации 4-битного умножения на Spartan-3 E Kit с использованием аппаратных умножителей.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.04.2012
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

NET "P<6>" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "A<0>" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ;

NET "A<1>" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP ;

NET "A<2>" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP ;

NET "A<3>" LOC = "N17" | IOSTANDARD = LVTTL | PULLUP ;

NET "load" LOC = "H13" | IOSTANDARD = LVTTL | PULLDOWN ;

NET "rst" LOC = "D18" | IOSTANDARD = LVTTL | PULLDOWN

ПРИЛОЖЕНИЕ Б

Листинг кода реализации 4-х разрядного умножения чисел без знака с использованием специализированного встроенного блока умножителя.

Sorce.vhd

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating

---- any Xilinx primitives in this code.

--library UNISIM;

--use UNISIM.VComponents.all;

entity sorce is

port (

A : in std_logic_vector (3 downto 0);

load, rst, clk: in std_logic;

P : out std_logic_vector (7 downto 0)

);

end sorce;

architecture Behavioral of sorce is

component mult4x4_u is

port (

A : in std_logic_vector (3 downto 0);

B : in std_logic_vector (3 downto 0);

P : out std_logic_vector (7 downto 0)

);

end component;

signal reg1: std_logic_vector (3 downto 0);

signal sA,sB :std_logic_vector (3 downto 0);

signal sP,sAA :std_logic_vector (7 downto 0);

signal s :std_logic;

begin

M1: mult4x4_u port map (A,reg1,sP);

process(clk, rst)

begin

if rst='1' then

reg1<="0000";

elsif clk='1' and clk'event then

if load='1'then

reg1<=A;

end if;

end if;

end process;

p2: process(clk)

begin

if clk='1' and clk'event then

p <= sP;

end if;

end process;

end Behavioral;

mult4x4_u.vhd

library IEEE;

use IEEE.std_logic_1164.all;

--

-- pragma translate_off

library UNISIM;

use UNISIM.VCOMPONENTS.ALL;

-- pragma translate_on

--

entity mult4x4_u is

port (

A: in std_logic_vector (3 downto 0);

B : in std_logic_vector (3 downto 0);

P : out std_logic_vector (7 downto 0)

);

end mult4x4_u;

--

architecture mult4x4_u_arch of mult4x4_u is

--

-- Components Declarations:

--

component MULT18X18

port (

A: in std_logic_vector (17 downto 0);

B: in std_logic_vector (17 downto 0);

P: out std_logic_vector (35 downto 0)

);

end component;

--

signal A_int : std_logic_vector (17 downto 0);

signal B_int : std_logic_vector (17 downto 0);

signal P_int : std_logic_vector (35 downto 0);

begin

A_int (17 downto 8) <= "0000000000";

A_int (7 downto 4) <= "0000";

A_int (3 downto 0) <= A (3 downto 0);

B_int (17 downto 4) <= "00000000000000";

B_int (3 downto 0) <= B (3 downto 0);

P (7 downto 0) <= P_int (7 downto 0);

--Multiplier Instantiation

U_MULT18X18: MULT18X18

port map (

A => A_int (17 downto 0),

B => B_int (17 downto 0),

P => P_int (35 downto 0)

);

end mult4x4_u_arch;

raspinovki.ucf

NET "clk" LOC = "C9"|IOSTANDARD = LVCMOS33;

NET "P<7>" LOC = "F9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<6>" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "P<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

NET "A<0>" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ;

NET "A<1>" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP ;

NET "A<2>" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP ;

NET "A<3>" LOC = "N17" | IOSTANDARD = LVTTL | PULLUP ;

NET "load" LOC = "H13" | IOSTANDARD = LVTTL | PULLDOWN ;

NET "rst" LOC = "D18" | IOSTANDARD = LVTTL | PULLDOWN ;

ПРИЛОЖЕНИЕ В

Структурно-функциональное представление устройства


Подобные документы

  • История развития логических схем с программируемой и репрограммируемой структурами, рост уровня их интеграции и взаимосвязь между ними. Краткий обзор основных семейств Плис фирмы Xilinx. Детальный обзор архитектур и характеристик серий семейства Spartan.

    контрольная работа [1,2 M], добавлен 13.06.2013

  • Характеристика таблицы умножения Пифагора; ее применение. Русские математические изобретения, основанные на манипуляциях, которые приводят к нужному результату. Изучение алгоритма работы русского крестьянского способа умножения. Вычисление длинных чисел.

    курсовая работа [1,2 M], добавлен 05.12.2013

  • Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.

    курсовая работа [169,3 K], добавлен 25.12.2012

  • Составление программы, реализующей моделирование операции умножения, начиная со старших разрядов множителя, при сдвиге суммы частичного произведения влево и неподвижным множителем. Особенности реализации программы на алгоритмическом языке Assembler.

    курсовая работа [26,9 K], добавлен 25.05.2014

  • Понятие САПР и общее представление об автоматизированных рабочих местах. Информационная технология проектирования автоматизированного рабочего места и эргономика аппаратных и программных средств АРМ. Сравнительная характеристика современных плоттеров.

    дипломная работа [3,9 M], добавлен 03.03.2011

  • Принципы осуществления администрирования и управления кабельной системой. Анализ компонентов коммутационного оборудования кроссовых и аппаратных кабельных систем, а также особенности составления планов их размещения в помещениях кроссовых и аппаратных.

    реферат [571,8 K], добавлен 11.12.2010

  • Выполнение операции деления в ЭВМ. Умножение чисел, представленных в форме с плавающей запятой. Методы ускорения операции умножения. Матричный метод умножения. Деление чисел в машинах с плавающей запятой. Деление чисел с восстановлением остатков.

    реферат [49,4 K], добавлен 18.01.2011

  • Понятие двоично-десятичного кода (ДДК), его получение и использование. Изучение арифметико-логических устройств, использующихся для обработки ДДК. Алгоритмы сложения, вычитания, умножения и деления ДДК при помощи арифметико-логических устройств.

    контрольная работа [145,5 K], добавлен 05.09.2010

  • Анализ аппаратных и программных средств предприятия ТОО "Alicesystems", занимающегося разработкой web-сайтов. Выбор структур, топологий и технологий разработки системы. Технологии создания сайтов и выбор площадки. Описание программно-аппаратных средств.

    отчет по практике [690,9 K], добавлен 29.05.2015

  • Разработка вычислительного устройства для умножения двоичных чисел с фиксированной запятой, без знака, представленных в прямом коде. Алгоритм операции, структурная схема АЛУ, диаграмма управляющих сигналов, функциональная схема устройства управления.

    контрольная работа [180,2 K], добавлен 01.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.