ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Описание шифратора и драйвера шины на языке VHDL.Шифратор: ENTITY encoder IS PORT (in1: IN std_logic_vector(7 DOWNTO 0); out1: OUT std_logic_vector(2 DOWNTO 0)); END encoder; ARCHITECTURE behave OF encoder IS BEGIN PROCESS (in1) BEGIN IF in1(7) = '1' THEN out1 <= "111"; ELSIF in1(6) = '1' THEN out1 <= "110"; ELSIF in1(5) = '1' THEN out1 <= "101"; ELSIF in1(4) = '1' THEN out1 <= "100"; ELSIF in1(3) = '1' THEN out1 <= "011"; ELSIF in1(2) = '1' THEN out1 <= "010"; ELSIF in1(1) = '1' THEN out1 <= "001"; ELSIF in1(0) = '1' THEN out1 <= "000"; ELSE out1 <= "XXX"; END IF; END PROCESS; END behave; ИЛИ ENTITY encoder IS PORT (a, b, c, d, e, f, g, h: IN std_logic; out2, out1, out0: OUT std_logic); END encoder; ARCHITECTURE behave OF encoder IS BEGIN PROCESS (a, b, c, d, e, f, g, h) VARIABLE inputs: std_logic_vector (7 DOWNTO 0); VARIABLE i: INTEGER; BEGIN INPUTS:= (h, g, f, e, d, c, b, a); i:= 7; WHILE i >= 0 AND inputs(i) /= '1' LOOP i:= i - 1; END LOOP; IF (i < 0) THEN i:= 0; END IF; -- conv_std_logic_vector (i, 3) - функция преобразования -- переменной типа integer в сигнал типа std_logic_vector -- Второй аргумент определяет размер вектора. (out2, out1, out0) <= conv_std_logic_vector (i, 3); END process; END behave;
-- Синтезируемое описание драйвера шины LIBRARY ieee; USE ieee.std_logic_1164. ALL; ENTITY tristate2 IS PORT (input3, input2, input1, input0: IN std_logic_vector (7 DOWNTO 0); enable: IN std_logic_vector (3 DOWNTO 0); output: OUT std_logic_vector (7 DOWNTO 0)); END tristate2; ARCHITECTURE multiple_drivers of tristate2 IS BEGIN output <= input3 WHEN enable(3) = '1' ELSE "ZZZZZZZZ"; output <= input2 WHEN enable(2) = '1' ELSE "ZZZZZZZZ"; output <= input1 WHEN enable(1) = '1' ELSE "ZZZZZZZZ"; output <= input0 WHEN enable(0) = '1' ELSE "ZZZZZZZZ"; END multiple_drivers; -- Синтезируемое описание шинного формирователя LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY bidir IS PORT (input_val, enable: IN std_logic; output_val: OUT std_logic; bidir_port: INOUT std_logic); END bidir; ARCHITECTURE tri_state OF bidir IS BEGIN bidir_port <= input_val WHEN enable = '1' ELSE 'Z'; output_val <= bidir_port; END tri_state;
Не нашли, что искали? Воспользуйтесь поиском:
|