Skocz do zawartości

Pomocna odpowiedź

Mam za swoje, ale chyba mi się nie należało, bo naprawdę chciałbym zobaczyć przykład którego Koleżanka nie rozumie. To zwykle kieruje dyskusję na jakieś konkretne tory zamiast blabla i "poczytaj sobie". Poza tym nawet Ty sama pewnie lepiej byś się czuła startując od jakiegoś działającego rozwiązania i modyfikując je tak by spełniło Twoje oczekiwania niż stając przed czarną (białą?) tablicą z kredą w ręku i.. niekomfortową pustką w głowie 😐

No i nareszcie dowiedzieliśmy się, na czym pracujesz. W tym kontekście moje wynurzenia o procesorach są trochę nie na miejscu, ale - tak jak zdecydowana większość tutaj - nie jestem jasnowidzem. Warto takie podstawowe rzeczy umieszczać w pierwszych postach.

:-> mysle ze nic zlego nie napisalam. 🙂

dobrze, mam tutaj przyklad, napisalam go z internetu (nie sama), zeby bylo jasne

🙂

w entity nie wiem czy dobrze rozumiem

clkin-wejscie zegara

reset-reset

exin-?

clkout - wyjscie zegara

msg- wyjscie danych?

synteza przechodzi ok, ale nie jestem w stanie zdefiniowac pinow.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity wtch is
   Port ( clkin : in STD_LOGIC;
          reset : in STD_LOGIC;
          exin : in STD_LOGIC;
          clkout :out STD_LOGIC;
          msg : out STD_LOGIC);
end wtch;

architecture Behavioral of wtch is

       signal toggle: std_logic :='0';
       signal xu: std_logic_vector(22 downto 0);
begin
   process (clkin, reset, exin)
       begin
           if reset ='1' then
               xu <=(others =>'0');
               clkout <='1';

               elsif rising_edge (clkin) then

                   xu <= xu +1;
                   if exin ='1' then
                   xu <= (others =>'0');
                   msg <='0';--Resetting der Ausgabe(Resetowanie problemu)
                   end if;


                   if exin = '0' and xu ="11111111111111111111111" then
                   msg <='1';-- Setzen Sie den Interrupt(ustawic przerwanie)
                   end if;

                   if(xu = "11111111111111111111111" ) then
                   toggle <= not toggle;--um den Clark zu verlassen(do wyczszczenia clk)
                   xu <=(others =>'0');
                   end if;


               end if;
               end process;

end Behavioral;
]

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...