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 

fpga - 7 segmentni prikaz

 
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
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1282
Aktiv.: 5.72
Kraj: glej fogl

PrispevekObjavljeno: Pon Jan 14, 2008 7:25 pm    Naslov sporočila:  fpga - 7 segmentni prikaz Odgovori s citatom

Rad bi preizkusil 7 segmentni prikaz na x bordu. Spisal sem tole:

main.vhd
Koda:

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

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity main is
   port (    clock : in  STD_LOGIC;
            tipka : in  STD_LOGIC;
            ledica1 : out  STD_LOGIC;
            ledica2 : out  STD_LOGIC;
            prvi_disp_7seg_led_out : out std_logic_vector (7 downto 1)
            );
end main;

architecture Behavioral of main is

   signal clk_div : std_logic_vector (20 downto 0);
   signal clk_disp_7seg : std_logic_vector (3 downto 0);
   
   component disp_7seg
      port (     seg_hex:   in    STD_LOGIC_VECTOR (3 downto 0);
               seg_led:   out   STD_LOGIC_VECTOR (6 downto 0));
   end component;

begin

   process (clock)
   begin
      if rising_edge(clock) then
         clk_div <= clk_div + 1;
      end if;
   end process;
   
   process (clk_div(15))
   begin
      if rising_edge(clk_div(15)) then
         clk_disp_7seg <= clk_disp_7seg + 1;
      end if;
   end process;
   
   prvi_disp_7seg : disp_7seg port map(seg_hex => clk_disp_7seg, seg_led => prvi_disp_7seg_led_out);
      
   ledica1 <= clk_div(14);
   ledica2 <= clk_disp_7seg(1);
   
end Behavioral;


7seg.vhd
Koda:

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

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity disp_7seg is
   Port (     seg_hex:   in    STD_LOGIC_VECTOR (3 downto 0);
            seg_led:   out   STD_LOGIC_VECTOR (6 downto 0));
end disp_7seg;

architecture Behavioral of seg is

begin

--
-- segment encoinputg
--      0
--     --- 
--  5 |   | 1
--     ---   <- 6
--  4 |   | 2
--     ---
--      3
   
   with seg_hex SELect
   seg_led   <= "1111001" when "0001",   --1
            "0100100" when "0010",   --2
            "0110000" when "0011",   --3
            "0011001" when "0100",   --4
            "0010010" when "0101",   --5
            "0000010" when "0110",   --6
            "1111000" when "0111",   --7
            "0000000" when "1000",   --8
            "0010000" when "1001",   --9
            "0001000" when "1010",   --A
            "0000011" when "1011",   --b
            "1000110" when "1100",   --C
            "0100001" when "1101",   --d
            "0000110" when "1110",   --E
            "0001110" when "1111",   --F
            "1000000" when others;   --0
   
end Behavioral;


Javi mi napako:
ERROR:NgdBuild:604 - logical block 'prvi_disp_7seg' with type 'disp_7seg' could
not be resolved. A pin name misspelling can cause this, a missing edif or ngc
file, or the misspelling of a type name. Symbol 'disp_7seg' is not supported
in target 'xbr'.

Mogoče kdo ve, kaj bi bilo narobe. Kakšen misspelling, jaz ne vidim nobene napake.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
icek
Član
Član



Pridružen-a: Ned 15 Maj 2005 22:31
Prispevkov: 105
Aktiv.: 0.44
Kraj: Ruše

PrispevekObjavljeno: Tor Jan 15, 2008 8:33 am    Naslov sporočila:   Odgovori s citatom

Narediti moraš še port map s katerim boš povezal signale v main.vhd in 7seg.vhd.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1282
Aktiv.: 5.72
Kraj: glej fogl

PrispevekObjavljeno: Tor Jan 15, 2008 10:35 am    Naslov sporočila:   Odgovori s citatom

Saj imam, če misliš to:

Koda:

prvi_disp_7seg : disp_7seg port map(seg_hex => clk_disp_7seg, seg_led => prvi_disp_7seg_led_out);
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
icek
Član
Član



Pridružen-a: Ned 15 Maj 2005 22:31
Prispevkov: 105
Aktiv.: 0.44
Kraj: Ruše

PrispevekObjavljeno: Tor Jan 15, 2008 10:55 am    Naslov sporočila:   Odgovori s citatom

Pa res, sem spregledal.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.71
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Jan 15, 2008 3:59 pm    Naslov sporočila:   Odgovori s citatom

Si dodal tadrugi fajl (disp_7seg) vmes med source?
Meni tale error diši na to, da ne najde podkomponente.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1282
Aktiv.: 5.72
Kraj: glej fogl

PrispevekObjavljeno: Tor Jan 15, 2008 4:04 pm    Naslov sporočila:   Odgovori s citatom

Sem (glej priponko), vsaj tako mislim - dal sem "new sorce", in spisal to kar je v 7seg.vhd.

A je potrebno ta fajl (7seg.vhd) kako vključit v glavni fajl (main.vhd) - tako kot se to dela npr. v c-ju (#include ...).



prtscr.JPG
 Opis:
 Velikost datoteke:  113.13 KB
 Pogledana:  15 krat

prtscr.JPG


Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1282
Aktiv.: 5.72
Kraj: glej fogl

PrispevekObjavljeno: Tor Jan 15, 2008 8:20 pm    Naslov sporočila:   Odgovori s citatom

Sem našel napako, v 7seg.vhd sem pisal enkrat "disp_7seg", dugič pa "seg". Rolling Eyes

Koda:

entity disp_7seg is
   Port (     seg_hex:   in    STD_LOGIC_VECTOR (3 downto 0);
            seg_led:   out   STD_LOGIC_VECTOR (6 downto 0));
end disp_7seg;

architecture Behavioral of seg is


Samo ne vem zakaj mi preverjanje sintakse samo za 7seg.vhd ni javilo nobene napake...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.71
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Jan 16, 2008 12:38 pm    Naslov sporočila:   Odgovori s citatom

Če gledam tvojo sliko - fajl 7seg se mora postaviti pod Main fajl. Zraven UCF. Sicer ne bo šlo. Ampak očitno si že našel napako.

Pri VHDL-u je potrebno biti pazljiv - marsikdaj se zadeva na videz normalno prevede. In če ne deluje, je potrebno preveriti vse Warning izpise.

Še ena zanimiva funkcija obstaja - izpis mapiranja pinov.
Med projektnimi fajli nadeš eno takšno datoteko: "<ime_top_modula>_pad.csv"
Tam so izpisani vsi pini izbranega čipa.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1282
Aktiv.: 5.72
Kraj: glej fogl

PrispevekObjavljeno: Sre Jan 16, 2008 1:10 pm    Naslov sporočila:   Odgovori s citatom

aly je napisal/a:
Če gledam tvojo sliko - fajl 7seg se mora postaviti pod Main fajl. Zraven UCF. Sicer ne bo šlo. Ampak očitno si že našel napako.

Sej potem ko naredim en "instance" tega modul (in ko ni napak) se postavi spodaj. Najbrž bo to v redu.
Nazaj na vrh
Skrit 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: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group