DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра електронних обчислювальних машин

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

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

Про що ця робота

Звіт з лабораторної роботи присвячено тестуванню арифметико-логічного пристрою у середовищі Aldec Active-HDL. У ході роботи змодельовано еталонний вузол, вузол з помилкою та вузол порівняння.

У роботі розглядаються

  • Тестування цифрової техніки
  • Арифметика-логічний пристрій
  • Моделювання цифрових схем
  • Aldec Active-HDL
  • VHDL моделювання
  • Діагностика несправностей

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Виконання роботи
  4. Код еталонного вузла
  5. Змінений код еталонного вузла
  6. Код вузла порівняння
  7. Часова діаграма
  8. Висновок
Для кого:Студенти технічних спеціальностей та викладачі
Викладачі:Викладач кафедри ЕОМ

Ключові поняття

АЛПтестуванняAldec Active-HDLVHDLеталонний вузолпомилкавузол порівняннякомбінаційна схемамоделюваннясимуляція

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

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра 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; Часова діаграма роботи системи: /
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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