Forum: FPGA, VHDL & Co. syncron/asyncron set/ reset


von FPGA (Gast)


Lesenswert?

Hallo
frage?: wie schreib ich den untenstehenden code so um damit ich keinen 
ERROR:Xst:827 (...cannot be synthesized, bad syncronous description) 
bekomme ?

Beginnbit: process(SCL, SDAIN)
begin

    if falling_edge(SDAIN) then
      if SCL = '1' then
        Startbit <= '1';
        Stopbit <= '0';
      end if;
    end if;


    if rising_edge(SDAIN) then
      if SCL = '1' then
      Stopbit <= '1';
      Starbit <= '0';
      end if;
    end if;

end process;

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


Lesenswert?

> wie schreib ich den untenstehenden code so um damit ich keinen
> ERROR:Xst:827 (...cannot be synthesized, bad syncronous description)
> bekomme ?
Das geht nicht.
Es gibt keine Flipflops, die sowohl auf die steigende wie auch die 
fallende Flanke reagieren können (ausser als IOB-DDR-FFs). Und solche 
bräuchtest du mit deiner Beschreibung für die beiden Signale Stopbit und 
Startbit.

Gut. Einen Schritt zurück.
Was willst du denn überhaupt machen? Einen I2C-Slave? Warum schaust du 
nicht mal, wie andere das machen?

Als Tipp: lies mal ein Buch zum Thema VHDL-Synthese. Denn mit VHDL 
kannst du vieles hinschreiben und simulieren. Aber nur sehr wenig 
davon bekommst du dann auch in Hardware abgebildet...
Siehe den Beitrag "VHDL-Buch f. Einsteiger"

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.