Forum: FPGA, VHDL & Co. CLK'event ohne CLK = '1' zulässig


von Bastler0815 (Gast)


Lesenswert?

Hallo,
noch mal eine VHDL - Anfängerfrage von mir.
Für einen teil meiner Schaltung benötige ich eine Taktfreigabe. In 
Hardware würde ich mein Freigabesignal einfach mit CLK UND-verknüpfen.
Geht so was auch in VHDL?

Ich meine so in der art:

process (clk)
begin
    if (clk'event) then
      rst_SIG <= (rst1_SIG and clk);
    end if;
end process;

von Cheru (Gast)


Lesenswert?

Das ist, wenn ich es richtig verstanden habe, ein rein kombinatorischer 
Prozess, also als concurrent statement geschrieben:

rst_SIG <= rst1_SIG and clk;

Deine Beschreibung wäre asynchron

von Falk B. (falk)


Lesenswert?

@ Bastler0815

>noch mal eine VHDL - Anfängerfrage von mir.
>Für einen teil meiner Schaltung benötige ich eine Taktfreigabe. In
>Hardware würde ich mein Freigabesignal einfach mit CLK UND-verknüpfen.

MÖÖÖÖÖP
Gehe nicht über Los.
Gehe zurückauf die Schulbank.
Gehe direkt dorthin.
Ziehe keine 4000 Euro ein.

Man macht keine UND-verknüpfung mit dem Takt! Das ist ein gated clock 
und ist im FPGA meist tödlich.Richtig verwendet man einen Clock Enable, 
also einen Steuerimpuls, welcher für eine Taktperiode aktiv ist und dann 
für einige wieder inaktiv. Das verwendet man dann so.

-- clock enableder Prozess
process(clk)
begin
  if rising_edge(clk) then
    if ce='1' then
      -- Anweisungen
    end if;
  end if;
end process;

>Geht so was auch in VHDL?

Ja, man macht es aber dennoch nicht. Siehe oben.

>Ich meine so in der art:

>process (clk)
>begin
>    if (clk'event) then
>      rst_SIG <= (rst1_SIG and clk);
>    end if;
>end process;

SCHAUER

DON't TRY THIS AT HOME, KIDS!

MFG
Falk


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.