Forum: FPGA, VHDL & Co. Code synthetisierbar?


von Hancock (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich bin neu hier. Wie bei sovielen führt mein Einstieg in den Entwurf 
digitaler Schaltungen über die DCF Funkuhr. Meine Frage: ich habe jetzt 
zwei architectures für einen DCF Empfänger entworfen, die eine erkennt 
Fehler im Signal, die andere nicht. Ist der Code, den ich geschrieben 
habe synthetisierbar, oder nicht?

Über Kritik und Verbesserungsvorschläge bin ich sehr dankbar!
Zerpflückt mich!

Danke schon mal!

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


Lesenswert?

Hancock schrieb:
> Über Kritik und Verbesserungsvorschläge bin ich sehr dankbar!
> Zerpflückt mich!
Sieh dir mal die Lösung deines Kollegen an:
Beitrag "VHDL, DFC77, riesen Problem!"
Die Postulate gelten auch für dich... ;-)

1
        dff1 : PROCESS(clk_1ms, reset)               -- Erstes D-FF zum synchronisieren von dcfsig
2
        BEGIN
3
            IF(reset = '0') THEN
4
                temp1 <= '0';
5
            ELSIF rising_edge(clk_1ms) THEN
6
                temp1 <= dcfsig;
7
            END IF;
8
        END PROCESS;
9
        
10
        dff2 : PROCESS(clk_1ms, reset)               -- Zweites D-FF zum synchronisieren von dcfsig
11
        BEGIN
12
            IF(reset = '0') THEN
13
                temp2 <= '0';
14
            ELSIF rising_edge(clk_1ms) THEN
15
                temp2 <= temp1;
16
            END IF;
17
        END PROCESS;
18
            
19
        dff3 : PROCESS(clk_1ms, reset)               -- Drittes D-FF zum synchronisieren von dcfsig
20
        BEGIN
21
            IF(reset = '0') THEN
22
                temp3 <= '0';
23
            ELSIF rising_edge(clk_1ms) THEN
24
                temp3 <= temp2;
25
            END IF;
26
        END PROCESS;
Das geht kürzer: Beitrag "Einsynchronsieren mit 2 FFs"

BTW:
Du brauchst nicht die ganzen Resets. Glaub mir...
Beitrag "(asynchronen) Reset vermeiden. oder nicht?"

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.