VHDL-Forum

 
Sie sind nicht eingeloggt.
LoginLogin Kostenlos anmeldenKostenlos anmelden
BeiträgeBeiträge MembersMitglieder SucheSuche HilfeHilfe
VotesUmfragen FilesDateien CalendarKalender BookmarksBookmarks

Anfang   zurück   weiter   Ende
Autor Beitrag
witteks
Stammgast


Beiträge: 27

New PostErstellt: 10.03.05, 16:42     Betreff: Re: Lauflicht & Würfel ... bitte helft mir! Antwort mit Zitat  

Hallo,

Habe mich mal ein paar Minuten hingesetzt.

Hier die Lösungsvorschläge:

Wahlweise kannst du auch die zip-Datei in dein Xilinx-Projektverzeichnis entpacken und danach auf die lauflicht.npl doppelklicken.

Lauflicht:

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


entity LaufendeLED is
Port ( taster : in std_logic;
ars : in std_logic;
clk : in std_logic;
led : out std_logic_vector(7 downto 0));
end LaufendeLED;

architecture Behavioral of LaufendeLED is
signal led_intern : std_logic_vector (7 downto 0);

begin
process (clk, ars)
begin
if ars = '1' then
led_intern <= "00000001";
elsif rising_edge (clk) then
if taster = '1' then
if led_intern (7) = '1' then
led_intern (0) <= '1';
else
led_intern (0) <= '0';
end if;
led_intern (7 downto 1) <= led_intern (6 downto 0);
end if;
end if;
end process;
led <= led_intern; -- Übergabe an Ausgabe asynchron -> dadurch ist in der
-- Realität im CPLD led = led_intern
end Behavioral;

Würfel:

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

entity wuerfel is
Port ( ars : in std_logic;
clk : in std_logic;
taster : in std_logic;
zahl : out std_logic_vector(6 downto 0));
end wuerfel;

architecture Behavioral of wuerfel is
signal zahl_intern : std_logic_vector (6 downto 0);
--
-- Würfeldarstellung LED-Anordnung (Bit 0 bis 6)
--
-- O O (0) (4)
--
-- O O O (1) (3) (5)
--
-- O O (2) (6)
--
begin
process (clk, ars)
begin
if ars = '1' then
zahl_intern <= "0001000"; -- eins
elsif rising_edge (clk) then
if taster = '1' then
case zahl_intern is
when "0001000" => -- eins
zahl_intern <= "0010100"; -- zwei
when "0010100" =>
zahl_intern <= "1001001"; -- drei
when "1001001" =>
zahl_intern <= "1010101"; -- vier
when "1010101" =>
zahl_intern <= "1011101"; -- fünf
when "1011101" =>
zahl_intern <= "1110111"; -- sechs
when others =>
zahl_intern <= "0001000"; -- eins
end case;
end if;
end if;
end process;
zahl <= zahl_intern; -- Übergabe an Ausgabe asynchron -> real: zahl = zahl_intern
end Behavioral;



Lauflicht.zip (27 kByte)
anzeigen - speichern
Datei wurde schon 291-mal heruntergeladen.
nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden Website dieses Mitglieds aufrufen
Sortierung ändern:  
Anfang   zurück   weiter   Ende
Seite 772 von 863
Gehe zu:   
Search

powered by carookee.com - eigenes profi-forum kostenlos

Design © trevorj