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

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

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

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

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

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

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

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

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

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

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

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

  • Тестування ОЗП
  • Діагностика цифрових схем
  • Моделювання апаратних засобів
  • Мова VHDL
  • Генератор тестових послідовностей
  • Кіберфізичні системи

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

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

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

ОЗПVHDLAldec Active-HDLтестуваннядіагностикапам'ятьгенератор тестових послідовностейчасова діаграмацифрова технікамоделювання

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

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

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

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

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

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

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

Admin

26.02.2023 12:38

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