Forum: FPGA, VHDL & Co. Probleme mit ISim, Prozesse getrieben von Clk-Signal aus Clk-Bus


von Chris M. (chrisch86)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe ein kleines Problem mit ISim.
Und zwar möchte ich einen Prozess mit einem Clk-Signal aus einem Bus 
treiben (std.log.vec sig_clocks(7 downto 0)). Der VHDL-Code ist 
folgender:
1
process_38mhz: process(sig_clocks(0))
2
begin
3
  if rising_edge(sig_clocks(0)) then 
4
    if clk10Divider = 10 then 
5
      clk10Divider <= 1;
6
    else clk10Divider <= clk10Divider + 1;
7
    end if;
8
  end if;
9
end process;

Das sig_clocks-Signal erkennt man im Screenshot erkennen. Scheinbar 
möchte das Signal 'clk10Divider' nicht auf die steigende Flanke von 
sig_clocks(0) reagieren und bleibt bei jeder Flanke immer konstant.

Wenn ich das ganze mit einem Hilfs-Signal (std.log clk00) mache 
funktioniert der Code (siehe weiterer Screenshot)
1
clk00 <= sig_clocks(0);
2
process_38mhz: process(clk00)
3
begin
4
  if rising_edge(clk00) then 
5
    if clk10Divider = 10 then 
6
      clk10Divider <= 1;
7
    else clk10Divider <= clk10Divider + 1;
8
    end if;
9
  end if;
10
end process;

Hat jemand eine Ahnung warum das so ist? Ich bin gerade völlig 
überfragt.
Danke im Voraus für Antworten!

Gruß, Chris

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Probiert doch einfach mal, den kompletten Vektor sig_clocks in die 
Sensitivliste zu nehmen...

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.