Hallo alle zusammen, Bezüglich der Synchronität der externen Leitungen zueinander in einem FPGA Entwurfs hätte ich einige Fragen. Ich möchte eine mit 50 MHz getaktete SPI A/D Wandler - Ansteuerung vergleichbar mit dem S3A Board realisieren. Auf meinem S3A Board lief der selbst geschriebene Codec, auf anderer Hardware - Spartan 3 -400 jedoch nicht, bzw. nur nach Heruntertakten des Designs. Problem scheinen Routing Delays zu sein. Wie erzwinge ich nun am besten die Verwendung der FFs in den I/O-Blöcken? Alle Ausgangssignale durch einen Ausgangsprozess in FFs schreiben würde zwar funktionieren, jedoch entsprechende Latenzen hervorrufen, die ich nicht unbedingt haben möchte. Über Tipps würde ich mich sehr freuen. mfg Maik
Dafür gibt es die Komponenten IBUF und OBUF. Ob das auch über ein Attribute einstellbar ist oder in den Einstellungen zur Synthese kann ich Dir leider nicht sagen.
> Wie erzwinge ich nun am besten die Verwendung der FFs in den I/O-Blöcken? Gib deinem Design Timing-Contraints mit. Bisher hast du LOC-Constraints angegeben, denn sonst würden die Tools deine Signale auf irgendeinen Pin legen. Genauso kannst du Forderungen zum Timing stellen. Vermutlich/hoffentlich hast du deine Taktfrequenz schon angegeben? Darüber hinaus kannst du dann noch die Delays von Eingängen und Ausgängen einschränken. > Problem scheinen Routing Delays zu sein. Ich würde eher auf ein Synchronisierungsproblem tippen, denn damit lag ich bisher zu 90% richtig ;-)
Bei 50MHz müsste schon etwas an Kombinatorik zwischen dem letzten FF und dem Port sein, damit das schief geht. Was sagt denn die Simulation?
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.