mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik VHDL Quartus II Takt Zähler Hilfe!


Autor: mietzekatze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So,

ich habe bis Ende des Sommers eine Prüfungsaufgabe mittels VHDL und 
Quartus II zu lösen - es soll eine digitale Weckuhr rauskommen.

Jetzt hänge ich hier da und irgendwie funktioniert garnichts.

Ich hänge mal meinen VHDL-Code ran, in der Hoffnung mir kann jemand 
helfen (sorry - ist schon ziemlich verbastelt).

Wie man erkennen kann, soll es ein 4bit-Synchron-Zähler sein, der von 
0-15,0 zählt.

Problem: Der Zähler zählt garnichts - irgendwie geht mit dem Ding 
nichts.
Nehme ich den "CLK"-Teil (NICHT den clk1s-Teil) raus, dann bekomme ich 
zwar was an den Ausgängen (a-d) zu sehen - aber das hat rein garnichts 
mit einem Zähler zu tun, da kommt irgendwas lustig verwurschteltes raus.

Bei Bedarf kann auch gerne das gesamte Projekt nachgereicht werden.

Hilfe ?!
-- Generated by Quartus II Version 9.0 (Build Build 132 02/25/2009)
-- Created on Sun May 09 21:17:32 2010

LIBRARY ieee;
USE ieee.std_logic_1164.all;


-- Entity Declaration

ENTITY dec_sekunden IS
-- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!
PORT
(
clk1s : in std_logic;
reset : in std_logic;
a : out std_logic;
b : out std_logic;
c : out std_logic;
d : out std_logic
);
-- {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!

END dec_sekunden;


-- Architecture Body

architecture dec_sekunden_architecture of dec_sekunden is
-- Build an enumerated type for the state machine
type state_type is (s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15);
-- Register to hold the current state
signal state: state_type;
signal clk: integer range 0 to 100;

begin
-- Logic to advance to the next state
process (clk1s, reset, state, clk) begin
if reset = '1' then
state <= s0;
clk <= 0;
end if;
if clk < 100 then
clk <= clk+1;
end if;
if clk > 99 and clk1s = '1' then
case state is
when s0 =>
state <= s1;
when s1 =>
state <= s2;
when s2 =>
state <= s3;
when s3 =>
state <= s4;
when s4 =>
state <= s5;
when s5 =>
state <= s6;
when s6=>
state <= s7;
when s7=>
state <= s8;
when s8=>
state <= s9;
when s9 =>
state <= s10;
when s10 =>
state <= s11;
when s11 =>
state <= s12;
when s12=>
state <= s13;
when s13=>
state <= s14;
when s14=>
state <= s15;
when s15 =>
state <= s0;
end case;
end if;
end process;

-- Output depends solely on the current state
process (state) begin
case state is
when s0 => -- dec 0
a <= '0';
b <= '0';
c <= '0';
-- d <= '0';
when s1 => -- dec 1
a <= '0';
b <= '0';
c <= '0';
d <= '1';
when s2 => -- dec 2
a <= '0';
b <= '0';
c <= '1';
d <= '0';
when s3 => -- dec 3
a <= '0';
b <= '0';
c <= '1';
d <= '1';
when s4 => -- dec 4
a <= '0';
b <= '1';
c <= '0';
d <= '0';
when s5 => -- dec 5
a <= '0';
b <= '1';
c <= '0';
d <= '1';
when s6 => -- dec 6
a <= '0';
b <= '1';
c <= '1';
d <= '0';
when s7 => -- dec 7
a <= '0';
b <= '1';
c <= '1';
d <= '1';
when s8 => -- dec 8
a <= '1';
b <= '0';
c <= '0';
d <= '0';
when s9 => -- dec 9
a <= '1';
b <= '0';
c <= '0';
d <= '1';
when s10 => -- dec 10
a <= '1';
b <= '0';
c <= '1';
d <= '0';
when s11 => -- dec 11
a <= '1';
b <= '0';
c <= '1';
d <= '1';
when s12 => -- dec 12
a <= '1';
b <= '1';
c <= '0';
d <= '0';
when s13 => -- dec 13
a <= '1';
b <= '1';
c <= '0';
d <= '1';
when s14 => -- dec 14
a <= '1';
b <= '1';
c <= '1';
d <= '0';
when s15 => -- dec 15
a <= '1';
b <= '1';
c <= '1';
d <= '1';
end case;
end process;

end dec_sekunden_architecture;

Autor: hefitG! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Faslsches Forum!

Autor: mietzekatze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Argh kacke - ich hatte doch vorhin ein anderes Browserfenster offen - 
dann ist der Firefox abgeschmiert - soll ich's neu posten, oder 
verschiebts einer?

Sorry!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.