Eine wahrscheinlich doofe Frage: Ich habe ein design und füge hier drei gleiche Komponenten zur Berechnung einer Gleitkommazahl ein. Die Komponenten haben jeweils zwei eingänge von 32 bit breite und einen genau so breiten ausgang. In der Logik, in die ich die Komponenten gehängt habe, habe ich für jede der Komponenten drei Signale der gleichen bitbreite. Also insgesamt 9 Signale für ein- und Ausgabe der drei Komponenten. Mein IPCore hat zwei writable register, von denen sollen die Daten kommen. Mein Problem: Ich will jetzt abwechselnd auf die erste, dann auf die zweite und dann auf die dritte Komponente die Registerinhalte als Eingangsdaten legen. Ich habe einen Automaten geschrieben, in dem im ersten schritt reg1 und reg2 auf die eingangssignale der ersten komponente gelegt werden. Wenn ich jetzt im zweiten zustand, nach registeränderung, den Inhalt der Registersignale auf die eingangssignale der zweiten komponente lege, "behalten" sich die eingänge für Komponente eins dann die ersten Registerinhalte? Vielen Dank für eure Antworten!
Oder einfacher Ausgedrückt: Wie behalten sich die sechs Eingangssignale für meine Komponenten die Daten, bis die Bereichnung fertig ist?
@ Der Anfänger >Oder einfacher Ausgedrückt: Wie behalten sich die sechs Eingangssignale >für meine Komponenten die Daten, bis die Bereichnung fertig ist? Mittels Register/FlipFlops? MfG Falk
Da bin ich jetzt auch drauf gekommen. Ich mache es jetzt folgendermassen, es wäre super, wenn jemand sagt, ob das totaler Quatsch ist: Ich habe einen synchronisierten Prozess. Das einzige, was er macht, ist zu warten, ob ein std_logic auf 1 ist. Wenn das der Fall ist, mache ich eine Signalzuweisung der Eingangsregister auf die Eingänge meiner Komponenten. Bei 0 macht er nix. Wenn ich jetzt das Signal auf die Eingänge lege, mache ich das nicht per Signalzuweisung, sondern per setzen des std_logic auf 1, im nächsten Takt dann wieder auf Null. Die Eingänge für meine Komponenten müssten den Zustand ja dann wieder halten, oder? @Falk: Danke für dein Engagement im Forum. Ich persönlich habe schon sehr oft davon profitiert.
@ Der Anfänger >Da bin ich jetzt auch drauf gekommen. Ich mache es jetzt >folgendermassen, es wäre super, wenn jemand sagt, ob das totaler Quatsch >ist: Poste mal ein wenig Code (als Anhang), das sagt mehr als tausend allgmeine Worte. >Ich habe einen synchronisierten Prozess. Das einzige, was er macht, ist >zu warten, ob ein std_logic auf 1 ist. Wenn das der Fall ist, mache ich >eine Signalzuweisung der Eingangsregister auf die Eingänge meiner >Komponenten. Bei 0 macht er nix. Wenn ich jetzt das Signal auf die >Eingänge lege, mache ich das nicht per Signalzuweisung, sondern per >setzen des std_logic auf 1, im nächsten Takt dann wieder auf Null. So in etwa passt das. >Die Eingänge für meine Komponenten müssten den Zustand ja dann wieder >halten, oder? Die Eingänge nicht, aber die FlipFlops, welche die Eingänge speisen, schon. ;-) MfG Falk
Hier der Prozess zum Legen der Register auf die Eingänge:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Hier der Automat, der dann das Signal genau einen Takt auf 1 setzen soll (habs mal auf eine Komponente reduziert):
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
Passt soweit. Aber die Formatierung ist grausam. MfG Falk
Ja, weiss ich, war auf die schnelle gemacht. Nochmal danke!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.