Ich möchte 4 SPI ADCs mit jeweils 4 entities ansteuern. Das Signal zum start der Konversion wird an alle Blöcke verbunden und die steuern intern einfach den ADC an und zählen die Zeit bis das Ergebnis da ist. Das sollte alles synchron sein, denn ich möchte alle Ausgabewerte in ein Array packen und dann versenden. Die Frage ist nun, ob ich intern Constraints für die Signale setzen muss oder reicht es ein Ready signal abzufragen und dann den Rest als auch ready anzunehmen, wenn sich jeder Block logisch gleich verhält? Es handelt sich um eine Clock Frequenz von 120MHz.
Wenn dein Ready nur von internen SIgnalen abhängt, also immer bei allen 4 Komponenten zeitgleich 1 oder 0 ist dann reicht es eines davon abzufragen. Ist aber auch egal, denn die Synthese optimiert überflüssige Logik sowieso weg. Also sauber wäre es die 4 Readys alle abzufragen.
Es werden natürlich drei unterschiedliche ADCs abgefragt aber das Ready Signal kommt von dem ensprechenden entity, das dreimal instanziert wird. Ich kann natürlich ein Signal einführen, das diese drei Ready Signale mit einem AND Gatter zusammenfasst. Das Gatter würde wieder Verzögerung einfügen. Die Frage ist nun, ob das Synthesetool davon weiß und das Timing entsprechend beachtet.
Gustav G. schrieb: > Ready Signal kommt von dem ensprechenden entity, das dreimal instanziert > wird. Ja, soweit klar. Aber ist der Zeitpunkt an dem das Ready kommt von externen Sachen abhängig oder kommt das immer bei jeder Entity zum gleichen Zeitpunkt? Nein das AND muss keine Zeit kosten. Du kannst die Readys ja kombinatorisch mit AND einem Signal zuweisen oder als Bits in einen 4-Bit Vektor stecken den du dann auf "1111" anfragst.
Gustl B. schrieb: > Ja, soweit klar. Aber ist der Zeitpunkt an dem das Ready kommt von > externen Sachen abhängig oder kommt das immer bei jeder Entity zum > gleichen Zeitpunkt? Nein das ist von nichts externem abhängig. Der ADC hat keinen Ready ausgang. Es wird ein conversion start gesendet und dann zählt in jedem Entity ein Zähler in einer Zustandsmaschine und daher kommt das Ready Signal. Mal angenommen so ein ready signal wäre extern dann müsste ich doch dafür eine weiter Zustandsmaschine schreiben, die jeweils wartet bis alle ADCs bereit sind, oder?
Wenn du die gleichzeitig irgendwie einlesen willst dann ja.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.