Forum: FPGA, VHDL & Co. Sequentielle Anweisung: Takt wird nicht richtig verarbeitet


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von e1128631 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe gerade versucht eine meiner ersten Schaltungen in einen FPGA 
(Altera Cyclone IV EP4CE6E22C8N) zu programmieren. Ich wollte zum Testen 
einfach die Taster des Entwicklungsboards mit den LEDs verbinden. Die 
ersten beiden Taster/LEDs sind direkt verbunden. Der dritte Taster wird 
in einem Prozess mit der dritten LED verbunden. Dieser Funktioniert aber 
nicht so wie ich mir das vorgestellt habe. Ich versuche schon lange den 
Fehler zu finden. Es sieht nach ein Problem mit dem Takt aus. Muss ich 
diesen bei der Pin-Zuweisung irgendwie anders als die normalen Pins 
behandeln damit er korrekt funktionert? Ich komme nicht mehr weiter.

1
library ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.std_logic_1164.all;
4
5
entity display is
6
  port(
7
    CLK    : in  std_logic;
8
    RESET  : in  std_logic;
9
    INPUT  : in  std_logic_vector (2 downto 0);
10
    OUTPUT : out std_logic_vector (2 downto 0)
11
  );
12
end display;
13
14
architecture bhv of display is
15
begin
16
  process (CLK, RESET)
17
  begin
18
    if (RESET = '1') then
19
      -- reset
20
    elsif (rising_edge(CLK)) then
21
      OUTPUT(2) <= INPUT(2);
22
    end if;
23
  end process;
24
  OUTPUT(1 downto 0) <= INPUT(1 downto 0);
25
end bhv;

von Klakx (Gast)


Lesenswert?

Setz mal einfach statt input ein 0 und im Reset alles auf eins. 
Vielleicht siehst du ob der im Reset hängt oder kein Takt anliegt.

von Klakx (Gast)


Lesenswert?

Bzw wie ist Reset definiert als Pin :)?

von e1128631 (Gast)


Lesenswert?

Klakx schrieb:
> Setz mal einfach statt input ein 0 und im Reset alles auf eins.
> Vielleicht siehst du ob der im Reset hängt oder kein Takt anliegt.

Ich habe das Design jetzt dank deiner Hinweise zum Laufen gebracht. Ich 
habe tatsächlich die ganze Zeit an der falschen Stelle gesucht. Es lag 
wie von dir vermutet am Reset.

vielen Dank für die Hilfe!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.