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

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

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

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

Рік:
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; Часова діаграма роботи системи: / Висновок: в даній лабораторній роботі я розробив програму тестування ОЗП, описав поведінку еталонного ОЗП, за результатами тестування ОЗП визначив несправні елементи досліджуваного пристрою, несправні контакти визначених елементів та тип несправності (обрив, закоротка).
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

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

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Новини