ожливість, як автоматичної оптимізації логіки множення, так і ручного управління при необхідності. Система CORE Generator може створювати прості помножувачі або об'єднувати їх в складніші функції типу MAC. p align="justify"> У роботі було реалізовано апаратне множення двох 4-х розрядних чисел на Spartan-3 E Kit з використанням спеціалізованого вбудованого блоку помножувача, лістинг коду програми представлений в додатку А.
В цілому, поставлена ​​задача успішно виконана.
ПЕРЕЛІК ПОСИЛАНЬ
1. Лобода В.Г. та ін Проектування вбудованих пристроїв на мікропроцесорах: Учеб. посібник. - К.: УМК ВО, 1988. - 128 с. p align="justify">. Бібіло П.М. Основи мови VHDL. - М.: Солон-Р, 2000. - 200 с. p> 3. # "justify"> ДОДАТОК А
Лістинг коду реалізації 4-х розрядного множення чисел зі знаком з використанням спеціалізованого вбудованого блоку помножувача.
Sorce.vhd
library IEEE; IEEE.STD_LOGIC_1164.ALL; IEEE.STD_LOGIC_ARITH.ALL; IEEE.STD_LOGIC_UNSIGNED.ALL;
--- Uncomment the following library declaration if instantiating
--- any Xilinx primitives in this code.
-library UNISIM;
-use UNISIM.VComponents.all;
sorce is (
A: in std_logic_vector (3 downto 0);, rst, clk: in std_logic;: out std_logic_vector (7 downto 0)
В
); sorce;
Behavioral of sorce ismult4x4_s is (
A: in std_logic_vector (3 downto 0);: in std_logic_vector (3 downto 0); : out std_logic_vector (7 downto 0)
); component;
reg1: std_logic_vector (3 downto 0); sA, sB: std_logic_vector (3 downto 0); sP, sAA: std_logic_vector (7 downto 0); s: std_logic;
: mult4x4_s port map (A, reg1, sP);
(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;
: process (clk) clk = '1 'and clk'event then <= sP; if; process ; Behavioral;
mult4x4_s.vhd
IEEE; IEEE.std_logic_1164.all;
-
- pragma translate_offUNISIM; UNISIM.VCOMPONENTS.ALL;
- pragma translate_on