Forum: FPGA, VHDL & Co. Xilinx ISE constraints von internen signalen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Gustav G. (gustavgggg)


Lesenswert?

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.

von Gustl B. (-gb-)


Lesenswert?

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.

von Gustav G. (gustavgggg)


Lesenswert?

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.

von Gustl B. (gustl_b)


Lesenswert?

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.

von Gustav G. (gustavgggg)


Lesenswert?

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?

von Gustl B. (gustl_b)


Lesenswert?

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
Noch kein Account? Hier anmelden.