Разработка светодиодных систем отображения информации

Системы передачи по волоконно-оптическим линиям связи

 

Светодиодные экраны

Бегущие строки

НПП “Цифровые решения”

Контрактная разработка радиоэлектронных устройств

Цифровая обработка сигналов и изображений

Поставка высокотехнологичных изделий

 

ПЛИС фирмы Altera: проектирование устройств обработки сигналов.

Стешенко В.Б.

 

Глава 6. Примеры проектирования цифровых устройств с использованием языков описания аппаратуры VHDL и Verilog.

6.7. Элементы ввода-вывода

Без элементов ввода вывода невозможна организация полноценного обмена данных, организация шин и т.п. Рассмотрим особенности описания на языках описания аппаратуры элементов ввода – вывода (Input-Output Buffers).

Элемент с тремя состояниями (Tri-State Buffer ) позволяет организовать подключение нескольких устройств к общей шине. Обозначение такого элемента на схеме приведено на Рис.6.17

Рис.6.17. Элемент с тремя состояниями.

Пример описания на VHDL

 

library IEEE;

use IEEE.std_logic_1164.all;

entity tristate is

port (e,a :in std_logic;

y :out std_logic);

end tristate;

architecture tri of tristate is

begin

process (e, a)

begin

if e = '1' then

y <=a;

else

y <= 'Z';

end if;

end process;

end tri;

 

Другой вариант описания элемента с тремя состояниями на VHDL

 

library IEEE;

use IEEE.std_logic_1164.all;

entity tristate is

port (e,a :in std_logic;

y :out std_logic);

end tristate;

architecture tri of tristate is

begin

Y <=awhen (e = '1') else 'Z';

end tri;

 

На Verilog элемент с тремя состояниями описывается следующим образом

 

module TRISTATE (e, a, y);

input a, e;

output y;

reg y;

always @(eor a) begin

if (e)

y =a;

else

y = 1'bz;

end

endmodule

OR

module TRISTATE (e, a, y);

input a, e;

output y;

assign y =e ?a :1'bZ;

endmodule

 

Приведенные выше примеры показывают логику функционирования элемента с тремя сростояниями. Примеры создания экземрляра компонента приведены ниже.

Экземпляр компонента на VHDL

 

library IEEE;

use IEEE.std_logic_1164.all;

entity tristate is

port (e,a :in std_logic;

y :out std_logic);

end tristate;

architecture tri of tristate is

component TRIBUFF

port (D, E: in std_logic;

PAD: out std_logic);

end component;

begin

U1: TRIBUFF port map (D => a,

E =>e,

PAD => y);

end tri;

 

Экземпляр компонента на Verilog

 

module TRISTATE (e, a, y);

input a, e;

output y;

TRIBUFF U1 (.D(a),.E(e),.PAD(y));

endmodule

 

Двунаправленные элементы ввода-вывода (Bi-Directional Buffer)

Двунаправленный элемент ввода-вывода используется либо как элемент ввода, либо как выходной буфер с возможностью перехода в третье состояние.

Ниже приводятся примеры создания описания двунаправленного буфера (Рис.618).

 

 

Рис.6.18.

Пример логики двунаправленного буфера на VHDL

 

library IEEE;

use IEEE.std_logic_1164.all;

entity bidir is

port (y : inout std_logic;

e, a: in std_logic;

b :out std_logic);

end bidir;

architecture bi of bidir is

begin

process (e, a)

begin

case e is

when '1'=>y <=a;

when '0' => y <= 'Z';

when others => y <= 'X';

end case;

end process;

b <=y;

end bi;

 

Описание двунаправленного буфера на Verilog

 

module bidir (e, y, a, b);

input a, e;

inout y;

output b;

reg y_int;

wire y, b;

always @(aor e)

begin

if (e == 1'b1)

y_int <= a;

else

y_int <= 1'bz;

end

assign y = y_int;

assign b =y;

endmodule

 

Примеры создания экземпляров компонента на VHDL

 

library IEEE;

use IEEE.std_logic_1164.all;

entity bidir is

port (y : inout std_logic;

e, a: in std_logic;

b :out std_logic);

end bidir;

architecture bi of bidir is

component BIBUF

port (D, E: in std_logic;

Y :out std_logic;

PAD: inout std_logic);

end component;

begin

U1: BIBUF port map (D => a,

E =>e,

Y =>b,

PAD => y);

end bi;

 

Описание экземпляра буфера на Verilog

 

module bidir (e, y, a, b);

input a, e;

inout y;

output b;

BIBUF U1 (.PAD(y),.D(a),.E(e),.Y(b) );

Endmodule


 

- Наверх -

 

Координаты:

   г. Москва, пр. Мира, 102

Для писем:

   105066, Россия, г. Москва, а/я 18

Тел.: (495) 778-97-04

e-mail: mail@dsol.ru, info@dsol.ru

 

© НПП “Цифровые решения” 2003 — 2006

Разработка светодиодных экранов | Разработка бегущих строк | Проектирование ПЛИС и СБИС | Разработка законченных устройств и модулей | Синтез алгоритмов |

Rambler's Top100 Rambler's Top100