Hallo,
ich arbeite mich gerade in VHDL ein und versuche als Anfang ein
Schieberegister mit seriellem Eingang und seriellem Ausgang zu
schreiben.
Soweit so gut, Compilieren lässt sich der Code, und auch simulieren,
allerdings erhalte ich nie eine Ausgabe, es bleibt immer XXXXX.
ich arbeite mit der Quartus II Web Edition.
Kann jemand sagen, ob es ein Fehler im Code ist, oder bediene ich den
Simulator falsch? Habe sowohl Timing als auch Functional simuliert.
1 | library ieee;
|
2 | use ieee.std_logic_1164.all;
|
3 |
|
4 | entity SREG3 is
|
5 | port (C, RESET, SE: in std_logic;
|
6 | Q: buffer std_logic_vector(2 downto 0));
|
7 | end SREG3;
|
8 |
|
9 | architecture VERHALTEN of SREG3 is
|
10 | signal QPLUS: std_logic_vector (2 downto 0);
|
11 | begin
|
12 | ZUSTAND: process (C, RESET)
|
13 | begin
|
14 | if RESET = '0' then
|
15 | Q <= "000";
|
16 | elsif falling_edge(C) then
|
17 | Q <= QPLUS;
|
18 | end if;
|
19 | end process;
|
20 | NETZE: process (Q, SE)
|
21 | begin
|
22 | QPLUS(2) <= Q(1);
|
23 | QPLUS(1) <= Q(0);
|
24 | QPLUS(0) <= SE;
|
25 | end process;
|
26 | end VERHALTEN;
|
Vielen Dank und Gruß