Wire fixed auf GND

Gast #3176504
Lesenswert?

Hallo Forum,

ich möchte eine entity bauen, die folgende Aufgabe erfüllen soll: durch 
ein Start-Impuls (START) sollen an einem Ausgang (IMPULSE_OUT) die 
nächsten 250 Clock-Pulse ausgegeben werden. Nach diesen 250 Pulsen geht 
der Ausgang READY auf logisch "1" und verweilt in diesem Zustand bis der 
nächste START-Impuls kommt.
1
entity ClockProvider is
2
   port ( CLK : in std_logic;
3
          START : in std_logic;
4
          RESET : in std_logic;
5
          READY : out std_logic;
6
          IMPULSE_OUT : out std_logic);
7
end ClockProvider;
8

9
architecture Behavioral of ClockProvider is
10
   signal cnt : integer range 0 to 249 := 0;
11
   signal isrunning : std_logic;
12
begin
13
   ClockCounter : process (CLK)
14
      variable tmp : std_logic := '0';
15
      begin
16
         if ((CLK = '1') AND (CLK'event)) then
17
            READY <= '0';
18
            if (RESET = '1') then
19
               isrunning <= '0';
20
            else
21
               if ((START = '1') AND (isrunning = '0')) then 
22
                  isrunning <= '1';
23
                  tmp := '1';
24
               else
25
                  if ((isrunning = '1') OR (tmp = '1')) then
26
                     tmp := '0';
27
                     if (cnt < 250) then
28
                        cnt <= cnt + 1;
29
                     else
30
                        cnt <= 0;
31
                        isrunning <= '0';
32
                        READY <= '1';
33
                     end if;
34
                  end if;
35
               end if;
36
            end if;
37
         end if;
38
   end process;
39

40
   ClockGenerator: process (CLK, isrunning)
41
      begin
42
         IMPULSE_OUT <= CLK AND isrunning;
43
   end process;
44
end Behavioral;

Zwei Fragen:
1. Ist das irgendwie einfacher /eleganter zu lösen?
2. Wenn ich die Synthese durchführe und mir das RTL-Schematic anschaue, 
dann ist das Signal READY fest mit GND verbunden!? Die Simulation zeigt 
aber das von mir gewünschte Verhalten

Wäre nett, wenn mit jemand einen Tipp und das Wochenende retten könnte! 
:-)

Viele Grüße
Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren