Forum: FPGA, VHDL & Co. Routing von Bank2 nach Bank0


von 20140726 (Gast)


Lesenswert?

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);

von Christian R. (supachris)


Lesenswert?

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.

von 20140726 (Gast)


Lesenswert?

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.

von Christian R. (supachris)


Lesenswert?

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.!

von 20140726 (Gast)


Lesenswert?

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.

von Bürovorsteher (Gast)


Lesenswert?

LVCMOS3 mit 200 MHz? Das kommt mir kühn vor.

von Christian R. (supachris)


Lesenswert?

Was für eine Fehlermeldung gibts denn?

von 20140726 (Gast)


Lesenswert?

leider keine in diesem Zusammenhang. Alle Protokolle sind der Meinung, 
dass es klappen sollte ;(
Kann auch schlecht den kompletten Quellcode (1500 lines) posten

von Christian R. (supachris)


Lesenswert?

Wenn (auch bei dem Minimal-Beispiel) keine Fehlermeldung kommt, aber es 
trotzdem nicht funktioniert, dann ist an der Hardware was kaputt. 
Vielleicht ist die VCCO nicht angeschlossen an der Bank 0?

von 20140726 (Gast)


Lesenswert?

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

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.