Hallo, Kennt jemand Eingangsbuffer(IBUF)? Kann man IBUF ausnutzen um IOBs zu reduzieren? Gib's vielleicht Beispiel? Danke sehr!!
Es gibt an einem physikalisch am FPGA vorhandenen Pin/Ball die Möglichkeit, das Eingangssignal entweder durch den IOB zu leiten, oder durch den IBUF. Mehr Anschlüsse bekommt das FPGA dadurch nicht, und die freiwerdenden IOBs kann man eigentlich für nix anderes nehmen. Ein IOB besteht aus ein paar FlipFlops, die fest dem jeweiligen FPGA-Anschluss zugeordnet sind. Wenn du einen IBUF nimmst, umgehst du den Eingangszweig des IOB und der liegt dann brach. Bist du der gleiche wie "Di" mit dem Thema "zu viele IOBs"?
Danke dir! Aber wie wird IBUF verwendet,also wie kann man ein paar Eingangssignale als durch IBUF definieren? Kann mir einen Beispiel geben? Vielen Danke.
Da musst du nix extra definieren. Jedes Signal, was nicht über einen IOB geht, geht automatisch über einen IBUF. Wenn du ein Signal direkt hinter dem Eingang in ein FlipFlop übernimmst, kann dieses FlipFlop in einen IOB gepackt werden. Entweder durch die Option im Sythesizer für alle, oder mit einem Attribut für das einzelne Signal. Aber wenn du das weglässt, oder das Signal zwischen dem Eingang und dem ersten FlipFlop irgendwie kombinatorisch verknüpst, wird es automatisch ein IBUF. Nur, wenn du differenzielle Eingänge (LVDS) benutzen willst, musst du das durch die Instanziierung eines IBUFDS extra angeben.
Christian R. schrieb: > Entweder durch die Option im Sythesizer für alle, > oder mit einem Attribut für das einzelne Signal. Aber wenn du das > weglässt, oder das Signal zwischen dem Eingang und dem ersten FlipFlop > irgendwie kombinatorisch verknüpst, wird es automatisch ein IBUF. hi,Christian, ich hab mal probiert, aber die IOBs Zahl bleibt nach dem Synthese nicht verändert. Du meintest ,es wird automatisch ein IBUF, wenn ich die Signale nicht mit Attribut (in) definiere,oder? Ich hab wie folgend einen Port definieren: port ( clk : in STD_LOGIC; a : STD_LOGIC_VECTOR(6 downto 0); b : in STD_LOGIC_VECTOR(6 downto 0); a_out : out STD_LOGIC_VECTOR(6 downto 0); b_out : out STD_LOGIC_VECTOR(6 downto 0) ); aber die Synthese ergebnisse nicht verändert. Vielleicht hab ich noch nicht gut verstanden. Kann vielleicht mir noch helfen? Danke!
Natürlich bleibt die Anzahl der IOB gleich. Es sind ja genauso viele Anschlüsse die von außen kommen, wie vorher. Nicht, das Attribut in, sondern das Attribut IOB. Mir scheint, du hast da ein grundsätzliches Verständnis-Problem. Dein Design hat genau so viele Eingänge, wie du in der Entity definierst, nicht mehr und nicht weniger. Da hilfts auch nichts, wenn du statt eines IOB einen IBUF hast. Mit dem IOB Attribut kann man Signale explizit als IOB ausführen, wenn man die Synthese bzw. den Mapper dazu zwingen will. Die IOBs, die im Synthesereport ausgegeben werden, bleiben von der Anzahl her gleich.
> Kann man IBUF ausnutzen um IOBs zu reduzieren? Mach dir erst einmal klar, warum du die Anzahl der IOBs reduzieren willst. Hat dein Design mehr Ports als das FPGA Datenpins hat? Das wird sich durch IBUFs nicht ändern. Da wirst du stattdessen mehrere Daten nacheinander auf ein und demselben Pin übertragen müssen, oder auf ein größeres FPGA wechseln.
Anbei ein Beispiel wie man viele Datenbits an einen FPGA anschliesst: http://www.analog.com/static/imported-files/eval_boards/265181843HSC_ADC_EVALC.pdf Das Evalboard besteht aus einem 8fachen 14 bit Wander AD9252 (112 Bits) die serial per LVDS an einen Virtex-4 gesendet werden. Die Rückgewinnung der 14 bit breiten Worte macht man in einem Virtex-6 anders (SERDES-Primitiv), aber das Prinzip würfte klar werden. MfG,
Filiz schrieb: > Hallo, > > Kennt jemand Eingangsbuffer(IBUF)? Kann man IBUF ausnutzen um IOBs zu > reduzieren? Gib's vielleicht Beispiel? > > Danke sehr!! ISERDES könnte dir weiterhelfen, hier ein beispiel wie die im V4 aussehen: http://www.xilinx.com/itp/xilinx7/books/data/docs/v4ldl/v4ldl0050_42.html
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.