www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

VHDL generator ure

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> FPGA in CPLD programabilna vezja
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
.:alex:.
Član
Član



Pridružen-a: Sre 05 Mar 2008 11:51
Prispevkov: 24
Aktiv.: 0.11
Kraj: Domžale-Kamnik

PrispevekObjavljeno: Sre Mar 05, 2008 12:28 pm    Naslov sporočila:  VHDL generator ure Odgovori s citatom

Živjo imam en problem pri programiranju v VHDL in sicer nimam ideje oz. ne znam, narediti da je vhodna ura x(k,M)Hz potem pa da bi bral vhodnjo spremenljivko z 100hz!Prosim pomagajte Very Happy!
lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Benjamin
Član
Član



Pridružen-a: Tor 10 Jul 2007 11:23
Prispevkov: 116
Aktiv.: 0.53
Kraj: Trebnje, Ljubljana

PrispevekObjavljeno: Sre Mar 05, 2008 8:21 pm    Naslov sporočila:   Odgovori s citatom

Živjo!

Deliš vhodno uro z določeno konstanto. Se pravi ob vsaki fronti vhodne ure, prišteješ 1 nekemu signalu, ko ta signal doseže določeno vrednost, pošlješ impulz na izhod. Ta izhod pa nato uporabiš v naslednjih modulih.
Poglej si naslednji primer:

Koda:
entity clk_divider is
    Port (    clk : in STD_LOGIC;
            clk_div : out STD_LOGIC);
end clk_divider;

architecture arch_clk_div of clk_divider is
   signal counter : STD_LOGIC_VECTOR(8 downto 0) := "000000000";
begin

divider : process(clk)
begin
   if rising_edge(clk) then
      if counter = 500 then
         counter <= "000000000";
      else
         counter <= counter + 1;
      end if;
   end if;
end process;

clk_div <= '1' when counter >= 250 else '0';

end arch_clk_div;

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> FPGA in CPLD programabilna vezja Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group