гральных схемах (ПЛИС) может быть применен язык VHDL, который
отличается простотой программ и малой емкостью памяти, затрачива-
емой на хранение кодов, описывающих эти схемы. В памяти ПЛИС
могут храниться десятки-сотни тысяч описаний нейронов ФПИ.
Реализация НП “код–временн´ой интервал” на ПЛИС иллюстри-
руется фрагментом программы на языке VHDL, описывающей схему
4-разрядного НП (см. рис. 3) на основе совокупности нейросетевых
операций (3) и (4), когда
w
1
= +1
, а
w
2
=
−
1
. Фактически, данная
программа формирует в ПЛИС схему НП с конфигурацией, приведен-
ной в табл. 2 (строка 1). В программе приняты следующие обозначения
сигналов на этой схеме:
N
x
≡
Nx
,
N
θ
≡
Ntheta,
τ
y
≡
tau.
Описание структурной схемы НП “N
→
τ
” на языке VHDL
entity statia is
port(f0 : in std_logic; – опорная частота
Nx : in std_logic_vector (4 downto 1); – загружаемый код
Ntheta : in std_logic_vector (4 downto 1); – порог
tau : out std_logic – выходной интервал
)
;
end statia;
architecture behav of statia is
signal cnt : std_logic_vector(4 downto 1);
signal cnt2 : std_logic_vector(4 downto 1);
signal enable : std_logic;
signal a0 : std_logic;
signal tau_in : std_logic;
begin
process(f0)
begin – счетчик схемы управления для формирования цикла преобразо-
вания
if (f0=’1’ and f0’event)
then cnt <= cnt - "0001";
end if;
end process;
process(cnt) – формирование сигнала загрузки q1 кода в счетчик C1
begin
if (cnt = "0000")
then enable <= ’1’;
else enable <= ’0’;
end if;
end process;
a0 <= tau_in; – формирование сигнала разрешения счета в счетчике C
process(f0) – описание счетчика C с загрузкой кода Nx
begin
if (f0=’1’ and f0’event) then
if (enable = ’1’)
then cnt2 <= Nx;
else if (a0 = ’1’)
then cnt2 <= cnt2 + "0001"; – инкремент счетчика
end if;
end if;
end if;
end process;
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2013. № 4 111