Рисунок 2.4.1 – моделирование в режиме Timing
Так как моделирование в режиме Timing приближено к реальности и отображает задержки переключателя, из-за чего результат немного искажается от идеального. Сравнивания рисунок 2.4.1 и таблицу истинности 2.1.1, можно сделать вывод, что результаты совпадают.
На рисунке 2.4.2 представлено моделирование схемы в режиме Functional.
Рисунок 2.4.2 моделирование в режиме Functional
Один временной интервал равняется 100 наносекунд. Если сравнивать моделирование в режиме Functional, то оно полностью совпадает с таблицей истинности.
2.5 КОД НА VHDL
Ниже представлен код схемы на VHDL: library ieee;
use ieee.std_logic_1164.all; entity DC_10_4vhd is port(
a:in std_logic_vector(3 downto 0); E:in std_logic;
x:out std_logic_vector(9 downto 0)); end;
architecture sync of DC_10_4vhd is begin
process(all) begin
11
if E = '1' then case a is
when "0000" => x <= "0000000001"; when "0001" => x <= "0000000010"; when "0010" => x <= "0000000100"; when "0011" => x <= "0000001000"; when "0100" => x <= "0000010000"; when "0101" => x <= "0000100000"; when "0110" => x <= "0001000000"; when "0111" => x <= "0010000000"; when "1000" => x <= "0100000000"; when "1001" => x <= "1000000000"; when others => x <= "0000000000"; end case;
end if;
end process; end;
E, a[3..0] – является входами, x[9..0] – выходами, выдающими результат схемы.
2.6 СХЕМА ДЛЯ КОДА HDL
На рисунке 2.6.1 представлена схема для кода HDL в RTL viewer.
12
Рисунок 2.6.1 – схема из RTL viewer для кода HDL
13
1.7 МОДЕЛИРОВАНИЕ УСТРОЙСТВА, ОПИСАННОГО КОДОМ HDL
На рисунке 2.7.1 представлено моделирование кода в режиме Timing.
Рисунок 2.7.1 – моделирование схемы в режиме Timing
Из рисунка можно увидеть, что есть полная схожесть с таблицей истинности, а так же с моделированием по схеме.
14
3.ПРИОРИТЕТНЫЙ ШИФРАТОР 8-3
3.1ТАБЛИЦА ИСТИННОСТИ
Втаблице 3.1.1 приведена таблица истинности для приоритетного шифратора 8-3(8 входов и 3 выхода).
Таблица 3.1.1 – таблица истинности приоритетного шифратора 8-3
|
|
|
|
Входы |
|
|
|
|
|
|
Выходы |
|
|
||||
E |
|
|
|
|
x |
|
|
|
|
|
a |
|
|
|
G |
E0 |
|
|
7 |
6 |
5 |
|
4 |
|
3 |
2 |
1 |
0 |
2 |
1 |
|
0 |
|
|
|
0 |
x |
x |
x |
|
x |
|
x |
x |
x |
x |
0 |
0 |
|
0 |
|
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
|
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
|
0 |
0 |
1 |
x |
0 |
0 |
|
1 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
|
0 |
1 |
x |
x |
0 |
1 |
|
0 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
|
1 |
x |
x |
x |
0 |
1 |
|
1 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
1 |
|
x |
x |
x |
x |
1 |
0 |
|
0 |
|
1 |
0 |
1 |
0 |
0 |
1 |
|
x |
|
x |
x |
x |
x |
1 |
0 |
|
1 |
|
1 |
0 |
1 |
0 |
1 |
x |
|
x |
|
x |
x |
x |
x |
1 |
1 |
|
0 |
|
1 |
0 |
1 |
1 |
x |
x |
|
x |
|
x |
x |
x |
x |
1 |
1 |
|
1 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
|
0 |
1 |
3.2 ФОРМУЛА
= ∩ ( 7 6 5 4 3 2 1 0) 0 = ∩ 7 ∩ 6 ∩ 5 ∩ 4 ∩ 3 ∩ 2 ∩ 1 ∩ 0
0 = ∩ ( 7 7 ∩ 6 ∩ 5 7 ∩ 6 ∩ 5 ∩ 4 ∩ 3 7 ∩ 6 ∩ 5 ∩ 4 ∩ 3 ∩ 2 ∩ 1)
1 = ∩ ( 7 7 ∩ 6 7 ∩ 6 ∩ 5 ∩ 4 ∩ 3 7 ∩ 6 ∩ 5 ∩ 4 ∩ 3 ∩ 2)
2 = ∩ ( 7 7 ∩ 6 7 ∩ 6 ∩ 5 7 ∩ 6 ∩ 5 ∩ 4)
3.3 ФУНКЦИОНАЛЬНАЯ СХЕМА
На рисунке 3.3.1 представлена функциональная схема.
15
Рисунок 3.3.1 – Функциональная схема
E, x[7..0] – являются входами, E0, G, a[2..0] – выходами, дающими результат схемы.
3.4 МОДЕЛИРОВАНИЕ
На рисунке 3.4.1 представлено моделирование схемы в режиме Timing.
Рисунок 3.4.1 – моделирование в режиме Timing
Так как моделирование в режиме Timing приближено к реальности и отображает задержки переключателя, из-за чего результат немного искажается от идеального. Сравнивания рисунок 3.4.1 и таблицу истинности 3.1.1, можно сделать вывод, что результаты совпадают.
На рисунке 3.4.2 представлено моделирование схемы в режиме Functional.
16
Рисунок 3.4.2 моделирование в режиме Functional
Один временной интервал равняется 100 наносекунд. Если сравнивать моделирование в режиме Functional, то оно полностью совпадает с таблицей истинности.
3.5 КОД НА VHDL
Ниже представлен код схемы на VHDL: library ieee;
use ieee.std_logic_1164.all; entity HPRI_8_31 is
port (
x: in STD_LOGIC_VECTOR (7 downto 0); E: in STD_LOGIC;
G: out STD_LOGIC; E0:out STD_LOGIC;
a: out STD_LOGIC_VECTOR (2 downto 0) );
end;
architecture sync of HPRI_8_31 is begin
process(all) begin G<='1';
E0<='0';
if E = '1' then
if x(7)='1' then a <= "111"; elsif x(6)='1' then a <= "110"; elsif x(5)='1' then a <= "101"; elsif x(4)='1' then a <= "100"; elsif x(3)='1' then a <= "011"; elsif x(2)='1' then a <= "010"; elsif x(1)='1' then a <= "001"; elsif x(0)='1' then a <= "000"; else
a<= "000"; G<='0'; E0<='1';
17
end if; else
a <= "000"; G<='0'; E0<='0'; end if;
end process; end;
E, x[7..0] – является входами,E0, G, a[2..0] – выходами, выдающими результат схемы.
3.6 СХЕМА ДЛЯ КОДА HDL
На рисунке 3.6.1 представлена схема для кода HDL в RTL viewer.
18
Рисунок 3.6.1 – схема из RTL viewer для кода HDL
3.7 МОДЕЛИРОВАНИЕ УСТРОЙСТВА, ОПИСАННОГО КОДОМ HDL
На рисунке 3.7.1 представлено моделирование кода в режиме Timing.
Рисунок 3.7.1 – моделирование схемы в режиме Timing
19
Из рисунка можно увидеть, что есть полная схожесть с таблицей истинности, а так же с моделированием по схеме.
3.8ТАБЛИЦА ИСТИННОСТИ МАСШТАБИРУЕМОГО УСТРОЙСТВА
Втаблице 3.8.1 приведена таблица истинности для масштабируемого приоритетного шифратора 16-4(16 входов и 4 выхода).
Таблица 3.8.1 – таблица истинности масштабируемого приоритетного шифратора 16-4
|
|
|
|
|
|
Входы |
|
|
|
|
|
|
|
|
|
|
Выходы |
|
||||||
E |
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
a |
|
G |
E0 |
||
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
3 |
2 |
|
1 |
0 |
|
|
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
0 |
0 |
0 |
0 |
0 |
||
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
x |
0 |
0 |
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
x |
x |
0 |
0 |
1 |
0 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
1 |
x |
x |
x |
0 |
0 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
1 |
x |
x |
x |
x |
0 |
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
0 |
1 |
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
0 |
1 |
1 |
0 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
0 |
1 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
1 |
0 |
1 |
0 |
||
1 |
0 |
0 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
1 |
1 |
1 |
0 |
||
1 |
0 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
0 |
0 |
1 |
0 |
||
1 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
0 |
1 |
1 |
0 |
||
1 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
1 |
0 |
1 |
0 |
||
1 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
1 |
1 |
1 |
0 |
||
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
3.9 функциональная схема масштабируемого устройства На рисунке 3.9.1 представлена функциональная схема масштабируемого
устройства HPRI.
20