syncron/asyncron set/ reset

Gast #1635244
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;
Moderator (Firma: Titel) Persönliche Seite #1635261
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"

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