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

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

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

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

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

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №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:17

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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