Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sieć Hopfielda do rozpoznawania liter VHDL (ISE)

Danny0001 12 Sie 2018 19:19 276 2
  • #1 12 Sie 2018 19:19
    Danny0001
    Poziom 1  

    Witam,
    temat troszeczkę podobny do tego, który pojawił się ponad rok temu, ale inny problem...

    Potrzebuję stworzyć sieć Hopfielda w środowisku ISE do rozpoznawania liter. Posiadam dane wejściowe itd. Natomiast mam trudności z językiem VHDL. Czy jest tutaj ktoś kto mógłby mi pomóc?

    Poniżej listing programu:

    library IEEE;
    use IEEE.std_logic_1164.all;
    use IEEE.std_logic_arith.all;
    use IEEE.std_logic_unsigned.all;
    use IEEE.numeric_std.all;

    entity hopfield is
    generic(N : integer := 16); --uniwersalny
    port (
    w : in std_logic_vector(N-1 downto 0);
    input : in std_logic_vector(N-1 downto 0);
    net_clk: in std_logic;
    wyjscie: out std_logic
    );
    end hopfield;


    architecture Behavioral of hopfield is

    signal wagi : std_logic_vector(N-1 downto 0);
    signal wejscie : std_logic_vector(N-1 downto 0);

    begin

    wagi<=w;
    wejscie<=input;

    Obliczenia:
    process(net_clk, wejscie, wagi)
    variable acc, prod : integer;
    begin
    if rising_edge(net_clk) then
    prod:=0;
    acc:=0;
    petla1: for i in 0 to N-1 loop
    if wagi(i)='1' then
    if wejscie(i)='1' then
    prod := 1;
    else
    prod :=-1;
    end if;
    else
    prod:=0;
    end if;
    acc:=acc+prod;
    end loop petla1;

    if acc >= 0 then
    wyjscie <= '1';
    else
    wyjscie <= '0';
    end if;
    end if;
    end process;

    end Behavioral;

    Jest to listing z poprzedniego tematu...

    Pozdrawiam i proszę o pomoc :)

    0 2
  • Pomocny post
    #2 27 Sie 2018 12:01
    J.A
    Poziom 27  

    Danny0001 napisał:

    Natomiast mam trudności z językiem VHDL.


    choc slowko jakie trudnosci, z czym?
    pobowales choc skompilowac ten kod czymkolwiek,
    przeczytales uwagi/ostrzezenia kompilatora?

    bez wnikania w merytoryke samego kodu rtl, uwagi co do
    samego zapisu, ktory nieco przeedytowalem, by sie latwiej czytalo
    (glownie dodalem nieco spacji):

    Kod: vhdl
    Zaloguj się, aby zobaczyć kod


    pozdrawiam i powodzenia z vhdl
    J.

    0
  • #3 05 Wrz 2018 13:00
    atari_robbo
    Poziom 9  

    Odnoszę wrażenie, że autor tego kodu nie rozumie roli pętli FOR w VHDLu. Pętla nie działa tak, jak w językach programowania.

    0