Звіт по лабораторній роботі №2

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

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

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

Рік:
2004
Тип роботи:
Звіт
Предмет:
Теорія і проектування комп’ютерних систем та мереж
Група:
КСМ-5

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт по лабораторній роботі №2 з предмету “Теорія і проектування комп'ютерних систем та мереж” Львів – 2004 Тема робота: генерування VHDL-коду простого пристрою, його компіляція та функціональна симуляція. Мета роботи: оволодіння засобами, які надає середовище Active-HDL по компіляції VHDL-опису пристрою та його функціональній симуляції. Структурна схема суматора/віднімач без вхідних та віхідних регістрів.  Структурна схема суматора/віднімач з вхідними та віхідними регістрами.  VHDL – код згенерованого суматора/віднімач з регістрами: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity addsub is port ( ADDSUB : in std_logic; OV : out std_logic; CO : out std_logic; A, B : in std_logic_vector (11 downto 0); Q : out std_logic_vector (11 downto 0); CLK : in std_logic; RST : in std_logic ); end entity; architecture addsub_arch of addsub is signal rg_a: std_logic_vector(11 downto 0); signal rg_b: std_logic_vector(11 downto 0); signal rg_q: std_logic_vector(11 downto 0); signal rg_co: std_logic; signal rg_ov: std_logic; signal rg_ADDSUB: std_logic; begin process (rg_a, rg_b, ADDSUB) variable TEMP_B : std_logic_vector (11 downto 0); variable TEMP_RESULT : std_logic_vector (11 downto 0); variable TEMP_RESULT2 : std_logic_vector (1 downto 0); begin if (rg_ADDSUB='1') then TEMP_B:=rg_b; else TEMP_B:=not rg_b; end if; TEMP_RESULT:=('0' & rg_a(10 downto 0)) + ('0' & TEMP_B(10 downto 0)) + (not rg_ADDSUB); TEMP_RESULT2:=('0' & rg_a(11)) + ('0' & TEMP_B(11)) + TEMP_RESULT(11); rg_q <= TEMP_RESULT2(0) & TEMP_RESULT(10 downto 0); rg_co <= TEMP_RESULT2(1) xor (not rg_ADDSUB); rg_ov <= TEMP_RESULT2(1) xor TEMP_RESULT(11); end process; RG:process (CLK,RST) begin if RST='1' then rg_a <= "000000000000"; rg_b <= "000000000000"; rg_ADDSUB <= '0'; CO <= '0'; OV <= '0'; Q <= "000000000000"; elsif CLK='1' and CLK'event then rg_a <= A; rg_b <= B; rg_ADDSUB <= ADDSUB; Q <= rg_q; CO <= rg_co; OV <= rg_ov; end if; end process; end architecture addsub_arch; Текст командного файлу: restart force CLK 1 0,0 50000 -r 100000 force RST 1 0,0 50000 force A 16#5 force B 16#4 force ADDSUB 16#1 run 100000 force A 16#8 force B 16#4 force ADDSUB 16#0 run 100000 force A 16#E force B 16#5 force ADDSUB 16#0 run 100000 force A 16#1 force B 16#9 force ADDSUB 16#1 run 400000 Результати симуляції: 
Антиботан аватар за замовчуванням

31.03.2013 15:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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