Тестування АЛП

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

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

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

Рік:
2019
Тип роботи:
Лабораторна робота
Предмет:
Тестування та діагностика кіберфізичних систем

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

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ / Звіт з лабораторної роботи № 1 з дисципліни: “ ТЕСТУВАННЯ І ДІАГНОСТИКА КІБЕРФІЗИЧНИХ СИСТЕМ ” На тему:” Тестування АЛП” Львів 2019 Мета роботи: метою роботи є ознайомлення з загальною схемою тестування цифрової техніки. Засвоєння методів та засобів тестування комбінаційних схем на прикладі арифметико-логічного пристрою (АЛП). Завдання: дана лабораторна робота виконується у середовищі Aldec Active HDL. У даній роботі при тестуванні створюються 3 вузли. 1) Еталонний вузол; 2) Еталонний вузол з наперед заданою помилкою; 3) Вузол порівняння. Потрібно змоделювати Арифметико-логічний пристрій та протестувати його при різних помилках. Арифметико-логічний пристрій повинен виконувати такі операції: 1) операція віднімання; 2) операція І; 3) операція АБО; 4) операція виключне АБО; 5) інкремент A; 6) інкремент B; 7) інверсія A; 8) інверсія B; 9) логічний зсув ліворуч A; 10) логічний зсув ліворуч B; 11) зсув праворуч A; 12) логічний зсув праворуч B; 13) декремент A; 14) декремент B; 15) константа 0. Виконання роботи: Код Еталонного вузла: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; use ieee.NUMERIC_STD.all; entity ALU is generic ( constant N: natural := 1 ); Port ( A, B : in STD_LOGIC_VECTOR(7 downto 0); ALU_Sel : in STD_LOGIC_VECTOR(3 downto 0); ALU_Out : out STD_LOGIC_VECTOR(7 downto 0) ); end ALU; architecture Behavioral of ALU is signal ALU_Result : std_logic_vector (7 downto 0); signal tmp: std_logic_vector (8 downto 0); begin process(A,B,ALU_Sel) begin case(ALU_Sel) is when "0000" => ALU_Result <= A - B ; when "0001" => ALU_Result <= A AND B ; when "0010" => ALU_Result <= A OR B; when "0011" => ALU_Result <= A XOR B; when "0100" => ALU_Result <= std_logic_vector(unsigned(A) sll N); when "0101" => ALU_Result <= std_logic_vector(unsigned(B) sll N); when "0110" => ALU_Result <= std_logic_vector(unsigned(A) srl N); when "0111" => ALU_Result <= std_logic_vector(unsigned(B) srl N); when "1000" => ALU_Result <= A + N; when "1001" => ALU_Result <= B + N; when "1010" => ALU_Result <= (NOT A); when "1011" => ALU_Result <= (NOT B); when "1100" => ALU_Result <= A - N; when "1101" => ALU_Result <= B - N; when "1110" => ALU_Result <= "00000000" ; when others => ALU_Result <= "ZZZZZZZZ" ; end case; end process; ALU_Out <= ALU_Result; end Behavioral; Змінений код Еталонного вузла: begin case(ALU_Sel) is when "0000" => ALU_Result <= A - B ; when "0001" => ALU_Result <= A NAND B ; when "0010" => ALU_Result <= A NOR B; when "0011" => ALU_Result <= A XOR B; when "0100" => ALU_Result <= std_logic_vector(unsigned(A) sll N); when "0101" => ALU_Result <= std_logic_vector(unsigned(B) sll N); when "0110" => ALU_Result <= std_logic_vector(unsigned(A) srl N); when "0111" => ALU_Result <= std_logic_vector(unsigned(B) srl N); when "1000" => ALU_Result <= A - N; when "1001" => ALU_Result <= B + N; when "1010" => ALU_Result <= (NOT A); when "1011" => ALU_Result <= (NOT B); when "1100" => ALU_Result <= A + N; when "1101" => ALU_Result <= B - N; when "1110" => ALU_Result <= "00000000" when others => ALU_Result <= "ZZZZZZZZ" ; end case; Код Вузла порівняння: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity Comparison is port ( ALU_Out : in std_logic_vector (7 downto 0); ALU_Out_B : in std_logic_vector (7 downto 0); Output : out std_logic ); end Comparison; architecture Arch_Comparator of Comparison is begin Output <= '1' when (ALU_Out_B=ALU_Out) else '0'; end Arch_Comparator; Часова діаграма роботи системи: / Висновок: в даній лабораторній роботі я розробив програму тестування АЛП, описав поведінку еталонного АЛП, за результатами тестування АЛП визначив несправні елементи досліджуваного пристрою, несправні контакти визначених елементів та тип несправності (обрив, закоротка).
Антиботан аватар за замовчуванням

23.10.2019 21:10-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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