Перемножувач на константу, конвеєрний варіант роботи

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2007
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші
Група:
СКС

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №3 на тему: „Перемножувач на константу, конвеєрний варіант роботи ” Підготував: ст. гр. СКС-12 Цигилик Л. О. Прийняла: Ногаль М. В. Львів 2007 Мета роботи: розробити конвеєрний варіант роботи перемножувача на константу за допомогою регістрів. Програмна реалізація: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity multyp is Port ( A : in std_logic_vector(15 downto 0); CLK : in std_logic; B : out std_logic_vector(31 downto 0)); end multyp; architecture Behavioral of multyp is -- constant 5f92 -- 0101 1111 1001 0010 signal reg11, reg12, reg13, reg14, reg15, reg16, reg17, reg18, reg19 : std_logic_vector (31 downto 0); signal reg21, reg22, reg23, reg24, reg25 : std_logic_vector (31 downto 0); signal reg31, reg32, reg33 : std_logic_vector (31 downto 0); signal reg41, reg42 : std_logic_vector (31 downto 0); signal reg21a, reg22a, reg23a, reg24a, reg25a : std_logic_vector (31 downto 0); signal reg31a, reg32a, reg33a : std_logic_vector (31 downto 0); signal reg41a, reg42a : std_logic_vector (31 downto 0); signal reg5 : std_logic_vector (31 downto 0); component registr is port( ind : in std_logic_vector(31 downto 0); read : in std_logic; CLK : in std_logic; outd : out std_logic_vector(31 downto 0)); end component registr; begin buf21 : registr port map ( ind =>reg21, read => '1', CLK => CLK, outd=>reg21a ); buf22 : registr port map ( ind =>reg22, read => '1', CLK => CLK, outd=> reg22a ); buf23 : registr port map ( ind =>reg23, read => '1', CLK => CLK , outd=>reg23a ); buf24 : registr port map ( ind =>reg24, read => '1', CLK => CLK, outd=>reg24a ); buf25 : registr port map ( ind =>reg25, read => '1', CLK => CLK, outd=>reg25a ); buf31 : registr port map ( ind =>reg31, read => '1', CLK => CLK , outd=> reg31a ); buf32 : registr port map ( ind =>reg32, read => '1', CLK => CLK , outd=>reg32a ); buf33 : registr port map ( ind =>reg33, read => '1', CLK => CLK, outd=> reg33a ); buf41 : registr port map ( ind =>reg41, read => '1', CLK => CLK, outd=> reg41a ); buf42 : registr port map ( ind =>reg42, read => '1', CLK => CLK, outd=> reg42a ); buf5 : registr port map ( ind =>reg5, read => '1', CLK => CLK, outd=> B ); start : process (A) begin reg11 <= "000000000000000" & A & '0'; reg12 <= "000000000000" & A & "0000"; reg13 <= "000000000" & A & "0000000"; reg14 <= "00000000" & A & "00000000"; reg15 <= "0000000" & A & "000000000"; reg16 <= "000000" & A & "0000000000"; reg17 <= "00000" & A & "00000000000"; reg18 <= "0000" & A & "000000000000"; reg19 <= "00" & A & "00000000000000"; end process start; step2 : process (reg19) begin reg21 <= reg11 + reg12; reg22 <= reg13 + reg14; reg23 <= reg15 + reg16; reg24 <= reg17 + reg18; reg25 <= reg19; end process step2; step3 : process (reg25a) begin reg31 <= reg21a + reg22a; reg32 <= reg23a + reg24a; reg33 <= reg25a; end process step3; step4 : process (reg33a) begin reg41 <= reg31a + reg32a; reg42 <= reg33a; end process step4; finish : process (reg41a) begin reg5 <= reg41a + reg42a; end process finish; end Behavioral; Програмна реалізація регістру: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity registr is port ( ind : in std_logic_vector(31 downto 0); read : in std_logic; CLK : in std_logic; outd : out std_logic_vector(31 downto 0)); end registr; architecture Behavioral of registr is begin process (CLK) begin if CLK'event and CLK='1' then if (read = '1') then outd <= ind; end if; end if; end process; end Behavioral; Діаграма симуляції:  Структурна схема перемножувача на константу з конвеєрним варіантом реалізації: Висновок: в даній лабораторній роботі я розробив конвеєрний варіант реалізації перемножувала на константу.
Антиботан аватар за замовчуванням

13.02.2013 14:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!