Синтез схеми ПЛІС для інвертора

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ot;),

ROM_WORD (x"53"),

ROM_WORD (x"35"),

ROM_WORD (x"44"),

 

ROM_WORD (x"45"),

ROM_WORD (x"8F"), -- end of test program

ROM_WORD (x"00"),

ROM_WORD (x"00"));

begin

DATA <= ROM(conv_integer (ADDR(5 downto 0)))when (oe=0 and sel_ram=0)

else

"ZZZZZZZZ";

end XILINX;

В відповідному розділі пояснювальної записки потрібно подати:

-текст моделі з коментарями державною мовою;

-побудовану на основі VHDL моделі структурну схему памяті програм;

-додаткові розяснення щодо семантики VHDL моделі;

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

 

3. СИНТЕЗ І ВЕРИФІКАЦІЯ VHDL МОДЕЛІ КОМПЮТЕРА

 

Подамо структурну VHDL модель компютера. Компютер складено з тьох вузлів, а саме, з процесора “Гном”, памяті програм і памяті даних. Всі вузли подані відповідними VHDL компонентами. Уведеними сигналами (дротами, шинами тощо) компоненти поєднано в компютер.

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

-- project top file

entity gnome_mcu is

Port ( clk : in std_logic;

Reset : in std_logic;

we_view : out std_logic;

carry_view : out std_logic;

oe_view : out std_logic;

sel_ram_view : out std_logic;

pc_view : out std_logic_vector (6 downto 0);

acc_view : out std_logic_vector (3 downto 0);

data_view : out std_logic_vector(7 downto 0);

addr_view : out std_logic_vector(6 downto 0);

ir_view : out std_logic_vector(7 downto 0));

end gnome_mcu;

architecture structural of gnome_mcu is

component gnome port

(

clk: IN STD_LOGIC;-- clock

reset: IN STD_LOGIC;-- reset control input

address: OUT STD_LOGIC_VECTOR (6 DOWNTO 0); -- ext memory addr

data: INOUT STD_LOGIC_VECTOR (7 DOWNTO 0); -- ext memory data bus

--csb: OUT STD_LOGIC;-- active-low chip-select for external RAM

web: OUT STD_LOGIC;-- active-low write-enable for external RAM

oeb: OUT STD_LOGIC;-- active-low output-enable for external RAM

sel_ram: out std_logic;

carry_out : out std_logic;

pc_out: OUT STD_LOGIC_VECTOR (6 DOWNTO 0);

ir_out: out std_logic_vector (7 downto 0);

acc_out: out std_logic_vector (3 downto 0)

);

end component;

component rom port (

sel_ram : in std_logic;

oe : in std_logic;

ADDR : in std_logic_vector (6 downto 0);

DATA : inout STD_LOGIC_VECTOR (7 downto 0));

end component;

component ram port

(clk : in std_logic;

sel_ram : in std_logic;

oe : in std_logic;

we : in std_logic;

address : in std_logic_vector(6 downto 0);

data : inout std_logic_vector(7 downto 0));

end component;

signal w_clk: std_logic;

signal w_reset: STD_LOGIC;

signal b_address: STD_LOGIC_VECTOR (6 DOWNTO 0);

signal b_data: STD_LOGIC_VECTOR (7 DOWNTO 0);

--signal w_csb: STD_LOGIC;-- active-low chip-select for external ROM/RAM

signal w_web: STD_LOGIC; -- active-low write-enable for external RAM

signal w_oeb: STD_LOGIC; -- active-low output-enable for external ROM/RAM

signal w_sel_ram: std_logic;

begin

oe_view <= w_oeb;

sel_ram_view <= w_sel_ram;

w_clk <= clk;

w_reset <= reset;

data_view <= b_data;

addr_view <= b_address;

we_view <= w_web;

U1: gnome port map (

clk => w_clk,

reset => w_reset,

address =>b_address,

data => b_data,

--csb => w_csb,

web => w_web,

oeb => w_oeb,

sel_ram => w_sel_ram,

carry_out => carry_view,

pc_out => pc_view,

ir_out => ir_view,

acc_out => acc_view);

U2: rom port map (

sel_ram => w_sel_ram,

oe => w_oeb,

ADDR => b_address,

DATA => b_data);

U3: ram port map (

clk => w_clk,

sel_ram => w_sel_ram,

oe => w_oeb,

we => w_web,

address => b_address,

data => b_data);

end structural;

В відповідному розділі пояснювальної записки потрібно подати:

-текст моделі з коментарями державною мовою;

-побудовану на основі VHDL моделі структурну схему компютера;

-додаткові розяснення щодо семантики VHDL моделі;

-витяги з протоколів синтезу, імплементування, програмування і діаграми часового симулювання виконання компютером тестової програми.

Подамо, як приклад, витяг з протоколу імплементування компютера на ПЛІС Віртекс-2.

Device utilization summary:

Number of External IOBs 40 out of 88 45%

Number of LOCed External IOBs 0 out of 40 0%

Number of SLICEs 64 out of 256 25%

Number of BUFGMUXs 1 out of 16 6%

Number of TBUFs 32 out of 128 25%

Отже, проект вимагає для реалізації 64 слайси. Це число буде меншим для коротших програм і більшим для довших. В нас можлива довжина програми в 64 інструкції.

Наступний витяг з протоколу імплементування засвідчує швидкодію (на цільовій ПЛІС Віртекс-2).

6322 items analyzed, 0 timing errors detected.

Minimum period is 11.235ns.

Maximum delay is 14.267ns.

Отже за оцінкою, компютер спроможний тактуватися максимальною частотою 88 МГЦ, що на трьохциклових інструкціях забезпечувати швидкодію майже 30 MIPS.

Далі подамо розташування апаратури компютера в ПЛІС Віртекс-2 і копію вікна навігатора з нашим проектом.

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

Аналізом отриманих часових діаграм потрібно підтвердити, що функціонування компютера відповідає тестовій програмі.

Подамо два фрагменти часової діаграми функціонування компютера. Симулятор запущено на часове симулювання наступними командами:

1.Force clk 0 0, 1 50ns repeat 100ns (тактові імпульси з частотою 10 МГц, що розпочинаються нулем).

2.Force reset 1 0. 0 70ns (форсувати скид одиницею від початку, а на 70-й нс перевести його до неактивного одиничного стану).

3.Run 6 us ( викликати симулювання перших 6-ти мікросекунд: аби встигла виконатися наша програма на частоті 10 МГц).

Детальним аналізом часових діаграм (навести його письмово) підтверджують коректне функціонування переходу на кінці програми.

За допомогою утиліти Xpower зі складу САПР WebPack визначаємо споживану розробкою потужність.

Для визначення параметричної надійності розробки обчислюють обернену величину (середній час наробки на відмову, або MTBF) суми пронормованих лямбда-параметрів всіх складових проекту (разом із конекторами, друкованими платами і пайками). Це виконують після розробки принципової схеми емулятора.

Розробка принципової схеми прототипної плати

Як аналогом розробки можна скористатися відомими прототипними платами. Сайт www.xess.com надає описи і принц