Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Краткие теоретические сведения




Комбинационной является такая логическая схема, выходные сигналы которой зависят только от текущих значений входных сигналов.

Основные сведения о языке VHDL содержатся в [1, 2].

При проектировании логических схем на VHDL используются следующие подходы: структурное описание схемы, потоковое и поведенческое описание.

Структурное описание содержит описание элементов схемы и связей между ними. Основными операторами VHDL, используемыми для этого, являются операторы сomponent, for-generate, entity. Структурное проектирование является обязательным при проектировании на верхнем уровне иерархии проекта. Пример структурного описания устройства для обнаружения простых чисел приведено на рисунке 11.

 

-- Пример1

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

-- объявление объекта

entity prime is

port(

N: in std_logic_vector(3 downto 0);

F: out std_logic

);

end prime;

 

architecture prime_arch of prime is

-- объявление сигналов, внутренних точек схемы

signal N3_L, N2_L, N1_L: std_logic;

signal N3L_N0, N3L_N2L_N1, N2L_N1_N0, N2_N1L_N0: std_logic;

-- объявление компонентов схемы, элементы должны быть в библиотеках

component inv is port(I: in std_logic; O: out std_logic);end component;

component and2 is port(I0,I1: in std_logic;O: out std_logic);end component;

component and3 is port(I0,I1,I2: in std_logic;O: out std_logic);end component;

component or41 is port(I0,I1,I2,I3: in std_logic; O: out std_logic);end component;

 

begin

U1: inv port map (N(3),N3_L); -- операторы component

U2: inv port map (N(2),N2_L);

U3: inv port map (N(1),N1_L);

U4: and2 port map (N3_L,N(0),N3L_N0);

U5: and3 port map (N3_L,N2_L,N(1),N3L_N2L_N1);

U6: and3 port map (N2_L,N(1),N(0),N2L_N1_N0);

U7: and3 port map (N(2),N1_L,N(0), N2_N1L_N0);

U8: or41 port map (N3L_N0, N3L_N2L_N1, N2L_N1_N0, N2_N1L_N0, F);

end prime_arch;

 

Рисунок 11 – Пример 1 структурного описания логической схемы

 

При потоковом описании функционирование схемы описывается в терминах потоков данных и выполняемых операций над этими данными. Основным оператором потокового проектирования является параллельный сигнальный оператор присваивания. Для операций над данными используются встроенные операторы and, оr и not. При потоковом описании может использоваться оператор select. Примеры потокового описания устройства обнаружения простых чисел приведены на рисунках 12 - 13, объявление объекта такое же, как в примере 1.

 

 

-- Пример2

architecture prime2_arch of prime is

signal N3L_N0, N3L_N2L_N1, N2L_N1_N0, N2_N1L_N0: std_logic;

begin

N3L_N0 <= not N(3) and N(0);

N3L_N2L_N1 <= not N(3) and not N(2) and N(1);

N2L_N1_N0 <= not N(2) and N(1) and N(0);

N2_N1L_N0 <= N(2) and not N(1) and N(0);

F <= N3L_N0 or N3L_N2L_N1 or N2L_N1_N0 or N2_N1L_N0;

end prime2_arch;

 

Рисунок 12 – Пример 2 потокового описания с использованием параллельного сигнального оператора присваивания

 

-- Пример 3

architecture prime3_arch of prime is

signal N3L_N0, N3L_N2L_N1, N2L_N1_N0, N2_N1L_N0: std_logic;

begin -- использование условного присваивания

 

N3L_N0 <= '1' when N(3)='0' and N(0)='1' else '0';

N3L_N2L_N1 <= '1' when N(3)='0' and N(2)='0' and N(1)='1' else '0';

N2L_N1_N0 <= '1' when N(2)='0' and N(1)='1' and N(0)='1' else '0';

N2_N1L_N0 <= '1' when N(2)='1' and N(1)='0' and N(0)='1' else '0';

F <= N3L_N0 or N3L_N2L_N1 or N2L_N1_N0 or N2_N1L_N0;

end prime3_arch;

 

-- Пример 4

architecture prime4_arch of prime is

begin --использование избирательного присваивания

with N select

F <= '1' when "0001",

'1' when "0010",

'1' when "0011"| "0101"| "0111",

'1' when "1011"| "1101",

'0' when others;

end prime4_arch;

 

Рисунок 13 – Примеры потокового описания логической схемы с использованием условного присваивания

 

Поведенческое проектирование. Стиль описания устройства, опирающийся на описание поведения, выполняемых устройством функций, без привязки к структуре устройства, называется поведенческим. Строго говоря, поведенческое описание можно создать, используя операторы потокового проектирования. Условимся называть поведенческим описание, использующее оператор process и последовательные операторы – последовательный сигнальный оператор присваивания, операторы if, case, loop, for. Примеры поведенческого проектирования устройства обнаружения простых чисел приведены на рисунках 14 - 17.

 

-- Пример 5

architecture prime5_arch of prime is

begin

process(N)

variable N3L_N0, N3L_N2L_N1, N2L_N1_N0, N2_N1L_N0: std_logic;

begin

N3L_N0:= not N(3) and N(0);

N3L_N2L_N1:= not N(3) and not N(2) and N(1);

N2L_N1_N0:= not N(2) and N(1) and N(0);

N2_N1L_N0:= N(2) and not N(1) and N(0);

F <= N3L_N0 or N3L_N2L_N1 or N2L_N1_N0 or N2_N1L_N0;

End process;

end prime5_arch;

 

Рисунок 14 – Пример поведенческого описания логической схемы

 

-- пример 6

architecture prime6_arch of prime is

begin

process(N)

variable NI: INTEGER;

begin

NI:= CONV_INTEGER(N);

If NI=1 or NI=2 then F<='1';

Elsif NI=1 or NI=5 or NI=7 or NI=11 or NI=13 then F<='1';

Else F <= '0';

End if;

End process;

end prime6_arch;

 

Рисунок 15 – Пример поведенческого описания логической схемы с использованием оператора if

 

 

--Пример 7

architecture prime7_arch of prime is

begin

process(N)

begin

case CONV_INTEGER(N) is

when 1 => F<='1';

when 2 => F<='1';

when 3|5|7|11|13 => F<='1';

when others => F<='0';

end case;

end process;

end prime7_arch;

 

Рисунок 16 – Пример поведенческого описания логической схемы с использованием оператора case

 

 

--Пример 8

entity prime8 is

port(

N: in std_logic_vector(15 downto 0);

F: out std_logic

);

end prime;

 

architecture prime8_arch of prime8 is

begin

process(N)

variable NI,I: INTEGER;

variable prime: boolean;

begin

NI:= CONV_INTEGER(N);

Prime:=true;

If NI=1 or NI=2 then null;

Else

for I in 2 to 253 loop

if (NI mod I)=0 then

prime:=false;

end if;

end loop;

End if;

If prime then F<='1'; else F<='0'; end if;

End process;

end prime8_arch;

 

Рисунок 17 – Пример поведенческого описания логической схемы с использованием оператора for

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...