Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Стили программирования ⇐ ПредыдущаяСтр 2 из 2
library ieee;
entity xoor2 is port (P1, P2: in bit; PZ: out bit); end xoor2; architecture xoor2 of xoor2 is begin PZ< =P1 xor P2; end xoor2;
entity aand2 is port (P1, P2: in bit; PZ: out bit); end aand2; architecture aand2 of aand2 is begin PZ< =P1 and P2; end aand2;
entity oor3 is port (P1, P2, P3: in bit; PZ: out bit); end oor3; architecture oor3 of oor3 is begin PZ< =P1 or P2 or P3; end oor3; Интерфейсная часть программы
entity FA is port(a, b, cin: in bit; sum, cout: out bit); end FA; Структурный стиль
architecture FA_struct of FA is
--объявление компонентов:
component xoor2 port(p1, p2: in bit; pz: out bit); end component;
component aand2 port(p1, p2: in bit; pz: out bit); end component;
component oor3 port(p1, p2, p3: in bit; pz: out bit); end component;
--объявление внутренних сигналов: signal s1: bit; signal ab: bit; signal acin: bit; signal bcin: bit;
begin --операторы x1: xoor2 port map(a, b, s1); x2: xoor2 port map(s1, cin, sum); a1: aand2 port map(a, b, ab); a2: aand2 port map(a, cin, acin); a3: aand2 port map(b, cin, bcin); o1: oor3 port map(ab, acin, bcin, cout); end FA_struct; Поведенческий стиль.
--ТЕЛО ПРОГРАММЫ
architecture FA_behavior of FA is begin p_cout: process (a, b, cin) --для выходного переноса variable t1, t2, t3: bit; --объявление --внутренних --переменных begin --операторы t1: =a and b; t2: =b and cin; t3: =a and cin; cout< =t1 or t2 or t3; end process;
p_sum: process (a, b, cin) --для суммы variable s1: bit; --объявление --внутренних --переменных
begin --операторы s1: =a xor b; sum< =s1 xor cin; end process; end FA_behavior;
Потоковый стиль.
--ТЕЛО ПРОГРАММЫ
architecture FA_dataflow of FA is begin cout< =(a and b) or (a and cin) or (b and cin); sum< =(a xor b) xor cin; end FA_dataflow;
Смешанный стиль.
--программа, описывающая логику работы --полного сумматора в --смешанном стиле
library ieee;
--ОПИСАНИЕ КОМПОНЕНТОВ
entity xoor2 is port(P1, P2: in bit; PZ: out bit); end xoor2; architecture xoor2 of xoor2 is begin PZ< =P1 xor P2; end xoor2;
--интерфейсная часть
entity FA is port(a, b, cin: in bit; sum, cout: out bit); end FA;
--тело программы
architecture FA_mixed of FA is
--объявление компонентов:
component xoor2 port(p1, p2: in bit; pz: out bit); end component;
signal s1: bit; --внутренний сигнал begin x1: xoor2 port map(a, b, s1); --структурный стиль
process(a, b, cin)--поведенческий стиль variable t1, t2, t3: bit; --локальные --переменные begin t1: =a and b; t2: =a and cin; t3: =b and cin; cout< =t1 or t2 or t3; end process;
sum< =s1 xor cin; --потоковый end FA_mixed;
|