Тестування ОЗП

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

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

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

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

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

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ / Звіт з лабораторної роботи № 2 з дисципліни: “ ТЕСТУВАННЯ І ДІАГНОСТИКА КІБЕРФІЗИЧНИХ СИСТЕМ ” На тему “Тестування ОЗП” Львів 2019 МЕТА РОБОТИ Метою роботи є ознайомлення з загальною схемою тестування цифрової техніки. Засвоєння методів та засобів тестування цифрових схем із пам’яттю на прикладі оперативного запам’ятовуючого пристрою (ОЗП). Завдання: Дана лабораторна робота виконується у середовищі Aldec Active HDL. У даній роботі при тестуванні створюються 4 вузли. 1) Генератор тестових послідовностей; 2) Еталонний вузол; 3) Еталонний вузол з наперед заданою помилкою; 4) Вузол порівняння. Потрібно змоделювати OЗП та протестувати його при різних помилках. Реалізувати відповідно до варіанту вузол генерування тестових послідовностей: 1) шини адреси; 2) шини даних; 3) перевірки на збереження інформації. Виконання роботи: Код Еталонного вузла: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.numeric_std.all; ENTITY ram IS GENERIC( d_width : INTEGER := 8; --width of each data word size : INTEGER := 8; --number of data words the memory can store constant N: natural := 1 ); PORT( oe_ena : IN STD_LOGIC; --output enable wr_ena : IN STD_LOGIC; --write enable rd_ena : IN STD_LOGIC; --read enable addr : IN INTEGER RANGE 0 TO 7; --address to write/read data_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --input data to write data_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --output data read cs : IN STD_LOGIC); -- chip select END ram; ARCHITECTURE logic OF ram IS TYPE memory IS ARRAY(size-1 DOWNTO 0) OF STD_LOGIC_VECTOR(d_width-1 DOWNTO 0); --data type for memory SIGNAL ram : memory; --memory array --internal address register BEGIN PROCESS(data_in, wr_ena, rd_ena, addr, cs) BEGIN IF(wr_ena = '1' and rd_ena = '0' and cs = '1') THEN ram(addr) <= data_in; END IF; END PROCESS; data_out <= ram(addr) WHEN wr_ena = '0' and rd_ena = '1' and oe_ena = '1'; END logic; Змінений код Еталонного вузла: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.numeric_std.all; ENTITY ram IS GENERIC( d_width : INTEGER := 8; --width of each data word size : INTEGER := 8; --number of data words the memory can store constant N: natural := 1 ); PORT( oe_ena : IN STD_LOGIC; --output enable wr_ena : IN STD_LOGIC; --write enable rd_ena : IN STD_LOGIC; --read enable addr : IN INTEGER RANGE 0 TO 7; --address to write/read data_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --input data to write data_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --output data read cs : IN STD_LOGIC); -- chip select END ram; ARCHITECTURE logic OF ram IS TYPE memory IS ARRAY(size-1 DOWNTO 0) OF STD_LOGIC_VECTOR(d_width-1 DOWNTO 0); --data type for memory SIGNAL ram : memory; --memory array --internal address register BEGIN PROCESS(data_in, wr_ena, rd_ena, addr, cs) BEGIN IF(wr_ena = '1' and rd_ena = '0' and cs = '1') THEN ram(addr) <= data_in; data_out <= "ZZZZZZZZ"; ELSE data_out <= ram(addr); END IF; END PROCESS; END logic; Код Вузла порівняння: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity Comparator is port ( First : in std_logic_vector (7 downto 0); Second : in std_logic_vector (7 downto 0); Output : out std_logic ); end Comparator; architecture Arch_Comparator of Comparator is begin Output <= '1' when (First=Second) else '0'; end Arch_Comparator; Код генератора тестових послідовностей: LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY generator IS PORT( ADDR : OUT INTEGER RANGE 0 TO 7; DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); WR : OUT STD_LOGIC; RD : OUT STD_LOGIC; OE : OUT STD_LOGIC; CS : OUT STD_LOGIC ); END generator; architecture logic of generator IS BEGIN PROCESS IS BEGIN for jj in 0 to 7 loop for ii in 0 to 7 loop CS <= '1'; WR <= '1'; OE <= '1'; RD <= '0'; ADDR <= ii; DATA <= "00000000" ; wait for 10 ns; END loop; ADDR <= jj; DATA <= "11111111" ; wait for 10 ns; FOR aa IN 0 TO 7 LOOP RD <= '1'; WR <= '0'; ADDR <= aa; wait for 10 ns; END loop; END loop; END PROCESS; END logic; Часова діаграма роботи системи: / Висновок: в даній лабораторній роботі я розробив програму тестування ОЗП, описав поведінку еталонного ОЗП, за результатами тестування ОЗП визначив несправні елементи досліджуваного пристрою, несправні контакти визначених елементів та тип несправності (обрив, закоротка).
Антиботан аватар за замовчуванням

23.10.2019 21:10-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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