Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PKSM_KKR.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.04 Mб
Скачать

Білет №1

  1. Подати план виконання апаратної частини цифрового проекту. Зазначити на цьому плані етапи, що автоматизуються, перелічити переваги виконання цих проектів із застосуванням САПР

  2. Пояснити наступний витяг з протоколу синтезу пристрою, що розглядається в питанні № 2.

Design Statistics

# IOs : 5

Cell Usage :

# BELS : 2

# LUT2 : 1

# LUT4 : 1

# IO Buffers : 5

# IBUF : 4

# OBUFT : 1

  1. Ідентифікувати пристрій, поданий наступною VHDL моделлю. Подати коментарі після позначень -- і технологічну схему (для синтезованого пристрою).

-- під’єднання бібліотек

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

-- означення входів і виходів мікросхеми

entity constant_ex is

port (OPCODE : in STD_LOGIC_VECTOR(1 downto 0); -- код операції

A, B : in STD_LOGIC; -- операнди

OP_OUT : out STD_LOGIC); -- результат

end constant_ex;

-- означення констант, внутрішніх змінних проекту і функцій мікросхеми

architecture BEHAV of constant_ex is

-- уведення символічних позначень комбінацій кодів (для зручності запровадження змін)

constant ZERO : STD_LOGIC_VECTOR (1 downto 0) := "00"; -- на виході завжди нуль

constant A_AND_B: STD_LOGIC_VECTOR (1 downto 0) := "01"; -- на виході логічний

добуток

constant A_OR_B : STD_LOGIC_VECTOR (1 downto 0) := "10"; -- на виході логічна сума

constant ONE : STD_LOGIC_VECTOR (1 downto 0) := "11"; -- на виході завжди одиниця

-- подано перелік операцій, що виконує пристрій асинхронно, без використання

-- тактового імпульсу; отже, це комбінаційний операційний пристрій, а саме: спрощений АЛП

begin

-- АЛП змінює вихід лише за умови зміни коду операції і/або аргументів А,В

process (OPCODE, A, B)

begin

if (OPCODE = A_AND_B) then OP_OUT <= A and B;

elsif (OPCODE = A_OR_B) then OP_OUT <= A or B;

elsif (OPCODE = ONE) then OP_OUT <= '1';

else OP_OUT <= '0';

-- усі випадки розписано, чим заборонено непрямий,непотрібний синтез защіпки

end if;

end process;

end BEHAV;

  1. Розробити структуру одноциклової RISC машини з архітектурою DLX рівня машинних інструкцій та прокоментувати цю структуру

Білет №2

  1. Проаналізувати результати часового симулювання поведінки однорозрядного D-регістра (з питання № 25), що надані наступною часовою діаграмою.

  1. .Ідентифікувати невідомий пристрій за наданою поведінковою VHDL моделлю. Подати коментарі (після позначень --). Навести RTL схему синтезованого пристрою.

-- під’єднання бібліотек

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

-- означення входів і виходів (інтерфейс)

ENTITY add IS

PORT (CI: IN STD_LOGIC;

A, B: IN STD_LOGIC;

SUM: OUT STD_LOGIC;

CO: OUT STD_LOGIC);

END add;

-- алгоритм

ARCHITECTURE archadd OF add IS

BEGIN

SUM <= A XOR B XOR CI; -- однорозрядна сума

CO <= (A and B) or (A and CI) or (B and CI); -- вихідний перенос

END archadd;

  1. Розпізнати і роз’яснити структуру системи, надану рис.

  1. .Роз'яснити призначення і функції апаратури керування тактовими імпульсами в ПЛІС Xilinx Virtex

Білет №3

  1. Ідентифікувати невідомий пристрій за наступною поведінковою VHDL моделлю. Подати коментарі до VHDL моделі (після позначень --) та RTL схему синтезованого пристрою (ПЛІС Virtex-2).

library IEEE;-- розділ бібліотек

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

library unisim; ; -- бібліотека, що містить симуляційні моделі елементів ПЛІС, що тут називають віртуальними компонентами

use unisim.vcomponents.all; -- такі елементи ПЛІС називають віртуальними компонентами

entity lvds is

Port ( i : in std_logic; --прямий вхід

ib : in std_logic; -- інверсний вхід

tri: in std_logic; -- керування тристабільним станом (на виході всього пристрою)

o : out std_logic; --прямий вихід

ob : out std_logic); -- інверсний вихід

end lvds;

architecture low_level of lvds is

component IBUFDS_LVDS_25

port( I : in std_logic; --прямий диференційний вхід

IB : in std_logic; --інверсний диференційний вхід

O : out std_logic ); --бістабільний вихід

end component;

component OBUFTDS_LVDS_25 -- бібліотечний елемент, що формує вихідний диференційний сигнал з вхідного двохстабільного

port(

I : in std_logic;

T : in std_logic; -- керування високостабільним (третім станом на обидвох диференційних виходах прямому O та інверсному ОВ

O : out std_logic;

OB : out std_logic

);

end component;

signal wire_in : std_logic;

signal wire_out : std_logic;

begin

U0: wire_in <= not wire_out;

U1: IBUFDS_LVDS_25--інсталяція lvds приймача

port map ( I => i, -- прямий вхід ззовні до LVDS вхідного буфера

IB => ib, -- інверсний вхід ззовні до LVDS вхід. буфера

O => wire_out –- вхідний сигнал до логіки ПЛІС

);

U2: OBUFTDS_LVDS_25 --інсталяція lvds передавача

port map (

I => wire_in, -- вхід до вихідного буфера від накристальної ПЛІС логіки

T => tri, -- керування третім станом на вихадних контактах

-- вихідного буфера lvds

O => o, -- P-канальний вихід буфера LVDS

OB => ob -- N-канальний вихід буфера LVDS

);

end low_level;

  1. Пояснити надану часову діаграму симулювання поведінки пристрою, поданого питаннм № 1

  1. Означити і прокоментувати послідовність виконання операцій логічного програмування ПЛІС на основі VHDL моделювання в САПР Xilinx ISE WebPack

  1. Подати план виконання апаратної частини цифрового проекту. Зазначити на цьому плані етапи, що автоматизуються, перелічити переваги виконання цих проектів із застосуванням сапр

Білет №4

  1. Навести і прокоментувати експертні правила комп’ютерного дизайну.

  2. Ідентифікувати пристрій, поданий наступною VHDL моделлю, подати коментарі після позначення -- . Навести технологічну схему результату синтезу моделі.

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

entity clock_enable is

port (IN1,IN2,DATA,CLOCK,LOAD: in STD_LOGIC;

DOUT: out STD_LOGIC);

end clock_enable;

architecture BEHAV of clock_enable is

signal ENABLE: STD_LOGIC;

begin

-- формування сигналу дозволу як логічного добутку

ENABLE <= IN1 and IN2 and LOAD;

-- защіпування входу на виході

EN_PR: process (ENABLE,DATA,CLOCK)

begin

if (CLOCK'event and CLOCK='1') then –- на фронті тактового імпульсу

if (ENABLE='1') then –- коли є дозвіл, тоді

DOUT <= DATA; -- переслати дані на вихід

end if;

end if;

end process;

end BEHAV;

  1. Ідентифікувати на основі наданого фрагменту VHDL моделі компонент зі складу одноциклової RISC машини. Подати (після позначень --) коментарі до фрагменту моделі. Структуру машини надає рис.

library IEEE;

use IEEE.STD_LOGIC_1164.all;

use IEEE.STD_LOGIC_ARITH.all;

entity x_chip is

port( -- прокоментувати всі сигнали цього порту

Op : in std_logic_vector(5 downto 0); -- код операції з інструкції

RegDst : out std_logic; -- мікронаказ вибору номера регістра призначення

ALUSrc : out std_logic; -- мікронаказ вибору оперенда для АЛП

MemtoReg : out std_logic; -- мікронаказ запису до рег. Файлу виходу пам’яті

RegWrite : out std_logic; -- мікронаказ запису до регістрового файлу

MemWrite : out std_logic; -- мікронаказ запису до пам’яті даних

Branch : out std_logic); -- ознака виконання умовного переходу

end x_chip;

  1. Порівняно з минулим, визначити місце і можливості ПЛІС на сучасному етапі розвитку техніки і технологій проектування апаратних комп’ютерних засобів

Білет №5

  1. Ідентифікувати пристрій, поданий наступною VHDL моделлю. Подати технологічну схему результату синтезу пристрою. Надати коментарі до VHDL моделі (після позначень --).

library IEEE;

use IEEE.std_logic_1164.all;

-- пристрій має чотири бітових входи: дані,швидкий і повільний такт, селектор, бітовий вихід QOUT

entity x_device is

port (DATA, SEL: in STD_LOGIC;

SLOW_CLOCK, FAST_CLOCK: in STD_LOGIC;

DOUT: out STD_LOGIC);

end x_device;

architecture XILINX of x_device is

-- уведено два внутрішніх сигнали

signal CLOCK: STD_LOGIC;

signal CLOCK_GBUF: STD_LOGIC;

-- залучено відомий системі компонент BUFGS – так званий вторинний

-- глобальний буфер, що є внутрішним підсисювачем вторинних тактових сигналів;

-- цей компонент має один бітовий вхід І, на який надсилають такт, що треба електрично

-- підсилити, та один бітовий вихід О, з якого забирають підсилені такти для

-- використання в межах кристалу (матриці ПЛІС)

component BUFGS

port (I: in STD_LOGIC;

O: out STD_LOGIC);

end component;

begin

Clock_MUX: process (SEL)

begin

if (SEL = '1') then

CLOCK <= FAST_CLOCK;

else

CLOCK <= SLOW_CLOCK;

end if;

end process;

-- наступним оператором виконується підсилення проселектованого

-- вхідного такту CLOCK; при цьому, електрично підсилений такт, що споживається в

-- кристалі,отримує назву CLOCK_GBUF; він пересилається в кристалі швидкими металевими

-- лініями з мінімальною і передбачуваною затримкою

GBUF_FOR_MUX_CLOCK: BUFGS

port map (I => CLOCK,

O => CLOCK_GBUF);

-- нарешті,наступним і останнім оператором процесу із позначкою

-- “інформаційний шлях” означено функцію формування сигналу на виході, а саме:

-- сигнал на виході DOUT відслідкує вхідний сигнал DATA тоді, коли набігає зростаючий

-- фронт електрично підсиленог такту CLOCK_GBUF

Data_Path: process (CLOCK_GBUF, DATA)

begin

if (CLOCK_GBUF'event and CLOCK_GBUF='1') then

DOUT <= DATA;

end if;

end process;

end XILINX;

  1. Пояснити текст, що є фрагментом звіту САПР Xilinx WebPack про результат фази трансляції етапу імплементації (ідентифікованого в питанні 2) пристрою.

ERROR:NgdBuild:604 - logical block 'GBUF_FOR_MUX_CLOCK' with type 'BUFGS' could

not be resolved. A pin name misspelling can cause this, a missing edif or ngc

file, or the misspelling of a type name. Symbol 'BUFGS' is not supported in target 'spartan3a'

  1. Розробити структуру одноциклової RISC машини з архітектурою DLX рівня машинних інструкцій та прокоментувати цю структуру Розробити VHDL модель однорозрядного D-регістра, що має інформаційний вхід DATA, тактовий вхід CLK і інформаційний вихід Q. Подати коментарі до моделі (після позначень --). Навести технологічну схему синтезованого регістра

Білет №6

  1. Ідентифікувати компонент одноциклової RISC машини (з архітектурою DLX на рівні машинних інструкцій) за наданою VHDL моделлю. Подати коментарі до VHDL моделі (після позначень --).

library IEEE;

use IEEE.STD_LOGIC_1164.all;

use IEEE.STD_LOGIC_ARITH.all;

use IEEE.STD_LOGIC_UNSIGNED.all;

entity X_chip is

port( clock : in std_logic; -- такт

reset : in std_logic; -- скид

PCsrc : in std_logic; -- вибір джерела для РС: наступна або стрибкова адреса

Branch_Address : in std_logic_vector(7 downto 0); -- стрибкова адреса

PCview : out std_logic_vector(7 downto 0); -- для спостереження

Instruction : out std_logic_vector(31 downto 0); -- код інструкції

NPC : out std_logic_vector(7 downto 0)); -- наступне значення програмного лічильника

end X_chip;

architecture behav of X_chip is

signal PC : std_logic_vector(7 downto 0);

signal PC_Input : std_logic_vector(7 downto 0); -- на вході програмн. лічильника

signal NPC_temp : std_logic_vector(7 downto 0);

constant rom0 : std_logic_vector(31 downto 0) :=x"8c040000"; -- lw $4, 0($0)

constant rom1 : std_logic_vector(31 downto 0) := x"8c050001"; -- lw $5, 1($0)

constant rom2 : std_logic_vector(31 downto 0) := x"00852020"; -- add $4, $4, $5

constant rom3 : std_logic_vector(31 downto 0) := x"ac040000"; -- sw $4, 0($0)

constant rom4 : std_logic_vector(31 downto 0) := x"1080fffb"; -- beq $4, $0, -20

constant rom5 : std_logic_vector(31 downto 0) := x"1084ffff"; -- beq $4, $4, -4

constant rom6 : std_logic_vector(31 downto 0) := x"00000025"; -- or $0, $0, $0

constant rom7 : std_logic_vector(31 downto 0) :=x"00000025"; -- or $0, $0, $0

begin

PCview <= PC;

NextAddr:

NPC_temp(7 downto 2) <= PC(7 downto 2) + 1;

NPC_temp(1 downto 0) <= b"00";

NPC <= NPC_temp;

JumpAddrMux:

PC_Input <= Branch_Address when PCsrc = '1' else NPC_temp;

PC1: process

begin

wait until (clock'event) and (clock='1');

If reset='1' then

PC <= x"00"; -- скид

else

PC <= PC_Input; -- зарахування обчисленого значення адреси інструкції

end if;

end process;

IM: process (PC)

begin

case PC(7 downto 2) is

when "000000" => instruction <= rom0;

when "000001" => instruction <= rom1;

when "000010" => instruction <= rom2;

when "000011" => instruction <= rom3;

when "000100" => instruction <= rom4;

when "000101" => instruction <= rom5;

when "000110" => instruction <= rom6;

when "000111" => instruction <= rom7;

when others => instruction <= x"00000000";

end case;

end process;

end behav;

  1. Подати послідовність кроків виконання цифрового проекту на базі ПЛІС/ПЛМ. Зазначити переваги автоматизованого виконання проектних робіт за допомогою САПР.

  2. Подати послідовність виконання проекту в САПР Xilinx WebPack (+ симулятор ModelSim або вбудований до САПР симулятор).

  3. Експертні правила комп’ютерного дизайну

Білет №7

  1. Пояснити правило інсталювання компонент VHDL проекту на основі наданого фрагменту кода.

ARCHITECTURE struct OF root IS

COMPONENT leaf

PORT (

clk,data : in std_logic;

Qout : out std_logic);

END COMPONENT;

BEGIN

u1 : leaf

PORT MAP ( clk => clk, data => d_in(0), Qout => q_out(0)); . . .

  1. Ідентифікувати пристрій, наданий VHDL моделлю. Надати коментарі до моделі (після позначень --). Пояснити часові діаграми, отримані часовою симуляцією цієї моделі (ПЛІС Спартан-2Е фірми Xilinx).

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_arith.all;

entity mux_tbuf is

port ( SEL: in STD_LOGIC_VECTOR (1 downto 0); -- по одному біту вибору на кожний вхід

A,B: in STD_LOGIC; -- бітові входи мультиплексора

SIG: out STD_LOGIC); -- бітовий вихід мультиплексора

end mux_tbuf;

architecture data_flow of mux_tbuf is

begin

SIG <= A when (SEL(0)='0') else 'Z';

SIG <= B when (SEL(1)='0') else 'Z'; -- на вихід переслати або В,

end data_flow;

Результати часового симулювання функціонування пристрою подано наступною часовою діаграмою.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]