Routing von Bank2 nach Bank0

Gast #3740744
Hallo Leute,

was muss generell eingestellt werden, damit ich von Bank2 input-pins 
nach Bank0 output-pins routen kann. Verwende den 100MHZ-Quarz auf dem 
u.a. Board

Im Moment klappt es bei mir nicht. Zwischen Bank2 und Bank3 funktioniert 
es problemlos. Habe alle I/O-Pins ausprobiert.
Nutze überall LVCMOS33

Meine Hardware:
Xilinx FPGA Spartan-6 XC6SLX45-2CSG484I
auf Trenz-electronic TE0630-00I und TE0630-003
ISE Webpack 14.7

 clkin1_buf : IBUFG
  port map
   (O => clkin1,
    I => sys_clk_pin);

 pll_base_inst : PLL_BASE
  generic map
   (BANDWIDTH            => "OPTIMIZED",
    CLK_FEEDBACK         => "CLKFBOUT",
    COMPENSATION         => "SYSTEM_SYNCHRONOUS",
    DIVCLK_DIVIDE        => 2,    --400MHz
    CLKFBOUT_MULT        => 8,
    CLKFBOUT_PHASE       => 0.000,
    CLKOUT0_DIVIDE       => 4,    --100
    CLKOUT0_PHASE        => 0.000,
    CLKOUT0_DUTY_CYCLE   => 0.500,
    CLKOUT1_DIVIDE       => 100,   --4
    CLKOUT1_PHASE        => 0.000,
    CLKOUT1_DUTY_CYCLE   => 0.500,
    CLKOUT2_DIVIDE       => 50,     --8
    CLKOUT2_PHASE        => 0.000,
    CLKOUT2_DUTY_CYCLE   => 0.500,
    CLKOUT3_DIVIDE       => 2,     --200
    CLKOUT3_PHASE        => 0.000,
    CLKOUT3_DUTY_CYCLE   => 0.500,
   CLKOUT4_DIVIDE       => 1,     --400
    CLKOUT4_PHASE        => 0.000,
    CLKOUT4_DUTY_CYCLE   => 0.500,
    CLKOUT5_DIVIDE       => 2,     --200, um 180° Phasenverschoben
    CLKOUT5_PHASE        => 180.000,
    CLKOUT5_DUTY_CYCLE   => 0.500,

    CLKIN_PERIOD         => 10.0,
    REF_JITTER           => 0.010)

  clkout0_buf : BUFG --auch für alle anderen
  port map
   (O   => CLK_100,
    I   => clkout0);
Das Routing hat erst mal nix mit der PLL zu tun. Was genau willst du 
denn machen? Aus dem Code-Fetzen kann man nur erkennen, dass das sowieso 
nix wird, denn der Spartan 6 mit Speedgrade 2 schafft allerhöchstens 
375MHz am BUFG Taktnetzwerk. Und das sind schon nur 
Xilinx-Marketing-Angaben.
Gast
Könnte auch Speedgrade 3 haben, der sollte das dann ja schaffen. Aber 
unabhängig davon hab ich es mit 4 MHz getestet. Mein Problem ist, dass 
ich eine Kamera anschliessen will und dafür 26 Pins für den 
Daten-Eingang, 10 Pins für Signalisierung, 4 Pins für SPI, und dann 
leider ;) noch einige Pins für die Ausgabe der verarbeiteten Daten 
benötige. Insgesamt habe ich also mit Bank 2 und 3 zu wenig nutzbare 
Pins.
Na und? Das sollte problemlos gehen, vorausgesetzt du verwendest keine 
BUFIO2 und die SERDES, der BUFIO Takt erreicht nur jeweils eine halbe 
Bank. Vielleicht ist auch dein Takteingang nur an einen Regional Clock 
Pin angeschlossen? Dann kann es sein dass der dann nicht so weit reicht. 
Der Spartan 6 hat ein ziemlich beschränktes Taktnetzwerk. Und 400 MHz 
intern ist auch mit dem -3 nur mit Rückenwind und im freien Fall 
machbar.!
Gast
Danke für den Hinweis mit den 400 MHz. Hab das in den Unterlagen nochmal 
gegengeprüft und muss dir Recht geben. Kann den Prozess aber auch mit 
200 MHz takten und dann auf jede Flankenänderung reagieren. Und der 
sys_clk ist an AA12, also einem Global-Clock-Pin angeschlossen.

ein einfaches routing wie z.B.:
NET "sys_clk_pin" LOC = AA12 | IOSTANDARD = LVCMOS33;
NET "input"  LOC=T1 | IOSTANDARD=LVCMOS33; --V3_IO_13
NET "output" LOC=A4 | IOSTANDARD=LVCMOS33; --V0_IO_01

test process(sys_clk_pin)
begin
  if rising_edge(sys_clk-pin) then
    output <= input;
  end if;
end process test;

funktioniert ja nicht. Ändere ich die Bank für output in V3 oder V2 
geht's.
Gast
leider keine in diesem Zusammenhang. Alle Protokolle sind der Meinung, 
dass es klappen sollte ;(
Kann auch schlecht den kompletten Quellcode (1500 lines) posten
Gast
die Stromversorgung könnte es tatsächlich sein. Kann es leider nur nicht 
mehr testen, da meine Bachelor-Zeit vorbei ist. Trotzdem danke für die 
Hilfe

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.