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

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

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

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

Проектування сканеру клавіатури із застосуванням діаграм скінчених автоматів для опису об'єктів в САПР Active-HDL

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

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

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

Рік:
2011
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Моделювання комп ютерних систем
Група:
КІ
Коротко про документ

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

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

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

  • Моделювання комп’ютерних систем
  • Скінченні автомати
  • Проектування цифрових пристроїв
  • Active-HDL
  • VHDL
  • Сканер клавіатури

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

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

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

скінченний автоматActive-HDLVHDLсканер клавіатурицифровий пристріймоделюванняпортасигнал

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

Міністерство Освіти і Науки Національний Університет «Львівська політехніка» кафедра ЕОМ Звіт про виконання лабораторної роботи №7 з предмету «Моделювання комп’ютерних систем» на тему : «Проектування сканеру клавіатури із застосуванням діаграм скінчених автоматів для опису об'єктів в САПР Active-HDL» Мета роботи: Вивчити принцип роботи сканера клавіатури. Отримати навички проектування цифрових пристроїв за допомогою скінчених автоматів засобами Active-HDL. Код програми : library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity diagram is port ( CLK: in STD_LOGIC; Ret: in STD_LOGIC_VECTOR (15 downto 0); KeyCode: out STD_LOGIC_VECTOR (7 downto 0); Strobe: out STD_LOGIC; Scan: inout STD_LOGIC_VECTOR (3 downto 0); temp: inout STD_LOGIC_VECTOR (3 downto 0)); end diagram; architecture diagram_arch of diagram is -- diagram signals declarations signal Cond: STD_LOGIC :='0'; -- SYMBOLIC ENCODED state machine: Diagram type Diagram_type is ( S0, S2, S3, S4, S1, S5 ); -- attribute enum_encoding of Diagram_type: type is ... -- enum_encoding attribute is not supported for symbolic encoding signal Diagram: Diagram_type; begin ---------------------------------------------------------------------- -- Machine: Diagram ---------------------------------------------------------------------- Diagram_machine: process (CLK) begin if CLK'event and CLK = '1' then -- Set default values for outputs, signals and variables -- ... case Diagram is when S0 => Scan <= "1111"; Strobe <= '0'; if Cond = '0' then Diagram <= S0; elsif Cond = '1' then Diagram <= S1; end if; when S2 => Scan <= "0010"; temp <= Ret (7 downto 4); if Cond = '0' then Diagram <= S3; elsif Cond = '1' then Diagram <= S5; end if; when S3 => Scan <= "0100"; temp <= Ret (11 downto 8); if Cond = '0' then Diagram <= S4; elsif Cond = '1' then Diagram <= S5; end if; when S4 => Scan <= "1000"; temp <= Ret (15 downto 12); if Cond = '1' then Diagram <= S5; elsif Cond = '0' then Diagram <= S0; end if; when S1 => Scan <= "0001"; temp <= Ret (3 downto 0); if Cond = '1' then Diagram <= S5; elsif Cond = '0' then Diagram <= S2; end if; when S5 => Strobe <= '1'; Scan <= "1111"; if Cond = '0' then Diagram <= S1; elsif Cond = '1' then Diagram <= S5; end if; --vhdl_cover_off when others => null; --vhdl_cover_on end case; end if; end process; -- signal assignment statements for combinatorial outputs Cond_assignment: Cond <= Ret(0) or Ret(1) or Ret(2) or Ret(3)or Ret(4)or Ret(5)or Ret(6)or Ret(7)or Ret(8)or Ret(9)or Ret(10)or Ret(11)or Ret(12)or Ret(13)or Ret(14)or Ret(15) when (Diagram = S0) else Ret(4) or Ret (5) or Ret (6) or Ret (7) when (Diagram = S2) else Ret(8) or Ret (9) or Ret (10) or Ret (11) when (Diagram = S3) else Ret(12) or Ret (13) or Ret (14) or Ret (15) when (Diagram = S4) else Ret(0) or Ret(1) or Ret(3) when (Diagram = S1) else '0' when (Diagram = S5) else Ret(0) or Ret(1) or Ret(2) or Ret(3)or Ret(4)or Ret(5)or Ret(6)or Ret(7)or Ret(8)or Ret(9)or Ret(10)or Ret(11)or Ret(12)or Ret(13)or Ret(14)or Ret(15); KeyCode_7_assignment: KeyCode(7) <= '0' when (Diagram = S0) else Scan(3) when (Diagram = S5) else '0'; KeyCode_6_assignment: KeyCode(6) <= '0' when (Diagram = S0) else Scan(2) when (Diagram = S5) else '0'; KeyCode_5_assignment: KeyCode(5) <= '0' when (Diagram = S0) else Scan(1) when (Diagram = S5) else '0'; KeyCode_4_assignment: KeyCode(4) <= '0' when (Diagram = S0) else Scan(0) when (Diagram = S5) else '0'; KeyCode_3_assignment: KeyCode(3) <= '0' when (Diagram = S0) else temp(3) when (Diagram = S5) else '0'; KeyCode_2_assignment: KeyCode(2) <= '0' when (Diagram = S0) else temp(2) when (Diagram = S5) else '0'; KeyCode_1_assignment: KeyCode(1) <= '0' when (Diagram = S0) else temp(1) when (Diagram = S5) else '0'; KeyCode_0_assignment: KeyCode(0) <= '0' when (Diagram = S0) else temp(0) when (Diagram = S5) else '0'; end diagram_arch; На рис.№1 діаграма скінченних автоматів : / Рис.№1 На рис.№2 результат виконання програми / Рис.№2 Висновок виконуючи цю роботу ми вивчили принцип роботи сканера клавіатури. Отримали навички проектування цифрових пристроїв за допомогою скінчених автоматів засобами Active-HDL.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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