Página 6 de 7

Re: Placas Spartan 6 XC6SLX16

Publicado: 12 Ene 2018, 12:24
por jepalza
El enlace que indicas del tal rosenborg ya lo había visto hace tiempo, pero no suelta los fuentes, yo al menos, no los veo ahora ni lo sví en su día.

El otro comentario, lo voy a mirar, a ver si sirce de algo eso de la RAM4 con el contenido de las roms 6L y M, a ver si es que hay una versión parcheada para funcionar mejor.

Re: Placas Spartan 6 XC6SLX16

Publicado: 30 Ene 2018, 15:49
por Kyp
Me acaba de llegar la placa. Para hacer unas pruebas tendría que hacerme un UCF.
¿Cómo puedo saber la correspondencia entre pines de la FPGA y los diferentes elentos de la placa? IOs, LEDs, pulsadores, reloj, SDRAM, etc ¿algo más? ¿Hay alguna descripción o algo del fabricante? No encuentro nada. Gracias.

Edito:
Si antes lo digo... He encontrado el esquema. Con esto me apaño.

Re: Placas Spartan 6 XC6SLX16

Publicado: 31 Ene 2018, 11:31
por BCH
Kyp escribió:Me acaba de llegar la placa. Para hacer unas pruebas tendría que hacerme un UCF.
¿Cómo puedo saber la correspondencia entre pines de la FPGA y los diferentes elentos de la placa? IOs, LEDs, pulsadores, reloj, SDRAM, etc ¿algo más? ¿Hay alguna descripción o algo del fabricante? No encuentro nada. Gracias.

Edito:
Si antes lo digo... He encontrado el esquema. Con esto me apaño.
Yo le he pedido informacion al vendedor y me ha pasado esquemas, etc. Si quieres los pongo aqui

Re: Placas Spartan 6 XC6SLX16

Publicado: 31 Ene 2018, 11:49
por brunosilva
i think you should put all the info here... :)

Re: Placas Spartan 6 XC6SLX16

Publicado: 31 Ene 2018, 12:47
por antoniovillena
The schematic is here

Re: Placas Spartan 6 XC6SLX16

Publicado: 31 Ene 2018, 13:10
por Quest
Aquí está el UCF de esta placa + mi placa QLX16-Shoe v1. Coge la parte que te interese, imagino que la común, SDRAM, oscilador, flash, leds y botones:

Código: Seleccionar todo

#QLX16-Shoe v1

NET "CLK_50MHZ" PERIOD=20.00 ns;
NET "CLK_50MHZ" LOC="A10"  |IOSTANDARD=LVCMOS33;

NET SDRAM_ADDR<0>  LOC="L4"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<1>  LOC="M3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<2>  LOC="M4"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<3>  LOC="N3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<4>  LOC="R2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<5>  LOC="R1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<6>  LOC="P2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<7>  LOC="P1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<8>  LOC="N1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<9>  LOC="M1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<10> LOC="L3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<11> LOC="L1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_ADDR<12> LOC="K1"  |IOSTANDARD=LVCMOS33;

NET SDRAM_DATA<0>  LOC="A3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<1>  LOC="A2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<2>  LOC="B3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<3>  LOC="B2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<4>  LOC="C3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<5>  LOC="C2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<6>  LOC="D3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<7>  LOC="E3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<8>  LOC="G1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<9>  LOC="F1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<10> LOC="F2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<11> LOC="E1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<12> LOC="E2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<13> LOC="D1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<14> LOC="C1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DATA<15> LOC="B1"  |IOSTANDARD=LVCMOS33;

NET SDRAM_DQML     LOC="F3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_DQMH     LOC="H2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_BA<0>    LOC="K3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_BA<1>    LOC="K2"  |IOSTANDARD=LVCMOS33;
NET SDRAM_nWE      LOC="G3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_nCAS     LOC="H3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_nRAS     LOC="J4"  |IOSTANDARD=LVCMOS33;
NET SDRAM_nCS      LOC="J3"  |IOSTANDARD=LVCMOS33;
NET SDRAM_CLK      LOC="H1"  |IOSTANDARD=LVCMOS33;
NET SDRAM_CKE      LOC="J1"  |IOSTANDARD=LVCMOS33;

NET LED<1>  LOC="R9" |IOSTANDARD=LVCMOS33;
NET LED<0>  LOC="T9" |IOSTANDARD=LVCMOS33;

NET BTN<1> 	LOC="R7" |IOSTANDARD=LVCMOS33;
NET BTN<0> 	LOC="T8" |IOSTANDARD=LVCMOS33;

NET FLASH_CS  LOC="T3"   |IOSTANDARD=LVCMOS33;
NET FLASH_CK  LOC="R11"  |IOSTANDARD=LVCMOS33;
NET FLASH_SI  LOC="T10"  |IOSTANDARD=LVCMOS33;
NET FLASH_SO  LOC="P10"  |IOSTANDARD=LVCMOS33 |PULLUP;

#####################################################################

NET VGA_R<5> LOC="M11"  |IOSTANDARD = LVCMOS33;
NET VGA_R<4> LOC="P12"  |IOSTANDARD = LVCMOS33;
NET VGA_R<3> LOC="P11"  |IOSTANDARD = LVCMOS33;
NET VGA_R<2> LOC="M10"  |IOSTANDARD = LVCMOS33;
NET VGA_R<1> LOC="M9" 	|IOSTANDARD = LVCMOS33;
NET VGA_R<0> LOC="N9" 	|IOSTANDARD = LVCMOS33;

NET VGA_G<5> LOC="T7" 	|IOSTANDARD = LVCMOS33;
NET VGA_G<4> LOC="T6" 	|IOSTANDARD = LVCMOS33;
NET VGA_G<3> LOC="R5" 	|IOSTANDARD = LVCMOS33;
NET VGA_G<2> LOC="T5" 	|IOSTANDARD = LVCMOS33;
NET VGA_G<1> LOC="T4" 	|IOSTANDARD = LVCMOS33;
NET VGA_G<0> LOC="P9" 	|IOSTANDARD = LVCMOS33;

NET VGA_B<5> LOC="L7" 	|IOSTANDARD = LVCMOS33;
NET VGA_B<4> LOC="N8" 	|IOSTANDARD = LVCMOS33;
NET VGA_B<3> LOC="P6" 	|IOSTANDARD = LVCMOS33;
NET VGA_B<2> LOC="M7" 	|IOSTANDARD = LVCMOS33;
NET VGA_B<1> LOC="N6" 	|IOSTANDARD = LVCMOS33;
NET VGA_B<0> LOC="P5" 	|IOSTANDARD = LVCMOS33;

NET VGA_HSYNC LOC="N5" |IOSTANDARD = LVCMOS33;
NET VGA_VSYNC LOC="P4" 	|IOSTANDARD = LVCMOS33;

NET PS2_KEYB_DAT	LOC="T14"  |IOSTANDARD=LVCMOS33 |PULLUP;
NET PS2_KEYB_CLK	LOC="R12"  |IOSTANDARD=LVCMOS33 |PULLUP;

NET PS2_MOUSE_DAT	LOC="T13"  |IOSTANDARD=LVCMOS33 |PULLUP;
NET PS2_MOUSE_CLK	LOC="T12"  |IOSTANDARD=LVCMOS33 |PULLUP;

NET AUDIO_L	LOC="E12"  |IOSTANDARD=LVCMOS33;
NET AUDIO_R	LOC="E13"  |IOSTANDARD=LVCMOS33;

NET SD_nCS	LOC="C6"   |IOSTANDARD = LVCMOS33;
NET SD_DO	LOC="E7"   |IOSTANDARD = LVCMOS33;
NET SD_CK	LOC="E6"   |IOSTANDARD = LVCMOS33;
NET SD_DI		LOC="F7"   |IOSTANDARD = LVCMOS33;

NET JOYSTICK<5>   LOC="A12" |IOSTANDARD = LVCMOS33 |PULLUP ; #Fire2
NET JOYSTICK<4>   LOC="B12" |IOSTANDARD = LVCMOS33 |PULLUP ; #Fire
NET JOYSTICK<3>   LOC="A13" |IOSTANDARD = LVCMOS33 |PULLUP ; #Right
NET JOYSTICK<2>   LOC="C13" |IOSTANDARD = LVCMOS33 |PULLUP ; #Left
NET JOYSTICK<1>   LOC="B14" |IOSTANDARD = LVCMOS33 |PULLUP ; #Down
NET JOYSTICK<0>   LOC="A14" |IOSTANDARD = LVCMOS33 |PULLUP ; #Up

NET AUDIO_IN   LOC="B15" |IOSTANDARD=LVCMOS33;

NET SRAM_A<0>  LOC="K12" |IOSTANDARD = LVCMOS33;
NET SRAM_A<1>  LOC="K11" |IOSTANDARD = LVCMOS33;
NET SRAM_A<2>  LOC="L14" |IOSTANDARD = LVCMOS33;
NET SRAM_A<3>  LOC="L16" |IOSTANDARD = LVCMOS33;
NET SRAM_A<4>  LOC="K16" |IOSTANDARD = LVCMOS33;
NET SRAM_A<5>  LOC="J16" |IOSTANDARD = LVCMOS33;
NET SRAM_A<6>  LOC="J14" |IOSTANDARD = LVCMOS33;
NET SRAM_A<7>  LOC="H14" |IOSTANDARD = LVCMOS33;
NET SRAM_A<8>  LOC="H13" |IOSTANDARD = LVCMOS33;
NET SRAM_A<9>  LOC="H11" |IOSTANDARD = LVCMOS33;
NET SRAM_A<10> LOC="F12" |IOSTANDARD = LVCMOS33;
NET SRAM_A<11> LOC="F14" |IOSTANDARD = LVCMOS33;
NET SRAM_A<12> LOC="F13" |IOSTANDARD = LVCMOS33;
NET SRAM_A<13> LOC="G16" |IOSTANDARD = LVCMOS33;
NET SRAM_A<14> LOC="G14" |IOSTANDARD = LVCMOS33;
NET SRAM_A<15> LOC="M15" |IOSTANDARD = LVCMOS33;
NET SRAM_A<16> LOC="N16" |IOSTANDARD = LVCMOS33;
NET SRAM_A<17> LOC="N14" |IOSTANDARD = LVCMOS33;
NET SRAM_A<18> LOC="M14" |IOSTANDARD = LVCMOS33;
NET SRAM_A<19> LOC="G11" |IOSTANDARD = LVCMOS33;
NET SRAM_A<20> LOC="M13" |IOSTANDARD = LVCMOS33;

NET SRAM_D<0> LOC="K15" |IOSTANDARD = LVCMOS33;
NET SRAM_D<1> LOC="J13" |IOSTANDARD = LVCMOS33;
NET SRAM_D<2> LOC="K14" |IOSTANDARD = LVCMOS33;
NET SRAM_D<3> LOC="J12" |IOSTANDARD = LVCMOS33;
NET SRAM_D<4> LOC="H15" |IOSTANDARD = LVCMOS33;
NET SRAM_D<5> LOC="H16" |IOSTANDARD = LVCMOS33;
NET SRAM_D<6> LOC="G12" |IOSTANDARD = LVCMOS33;
NET SRAM_D<7> LOC="M16" |IOSTANDARD = LVCMOS33;

NET SRAM_WE_n LOC="J11" |IOSTANDARD = LVCMOS33;

Re: Placas Spartan 6 XC6SLX16

Publicado: 31 Ene 2018, 13:42
por Kyp
Gracias. Encontré una web con el esquema y unos proyectos de ejemplo. Con esto y el UCF del Shoe tengo lo necesario para ir arrancando.

La placa lleva cuatro LEDs y tres botones pero solo veo dos de cada en el UCF.
El otro botón lo usan como reset en los ejemplos (va a un pin que se llama PROG_B), pero ¿reset de qué?
Uno de los otros dos LEDs parece que es un indicador de encendido, va directo a +3.3 y a nada más.
Y el otro está conectado a FPGA_DONE que tampoco se muy bien que indica esa señal.

Re: Placas Spartan 6 XC6SLX16

Publicado: 31 Ene 2018, 13:49
por Quest
@Kyp

El tercer botón (el que va al pin PROG_B) es un reset global, indica a la FPGA que debe reconfigurarse desde cero (y por tanto, volver a intentar cargar de la flash el bitstream). No es usable desde la FPGA, por eso no está en el UCF.

Algo parecido pasa con los LEDs. Uno, tal como indicas, va a VCC y simplemente indica que la placa está enchufada a la corriente (una especie de LED de power). El segundo va a DONE, que es un pin de la FPGA de salida que se pone a 1 si el bitstream cargado es válido y la FPGA se ha configurado correctamente. Usables para el usuario sólo quedan los otros dos.

Re: Placas Spartan 6 XC6SLX16

Publicado: 31 Ene 2018, 16:11
por Kyp
OK. Gracias por las aclaraciones :okidoki;

Re: Placas Spartan 6 XC6SLX16

Publicado: 01 Feb 2018, 00:05
por weirdocollector
Kyp escribió:Gracias. Encontré una web con el esquema y unos proyectos de ejemplo. Con esto y el UCF del Shoe tengo lo necesario para ir arrancando.
Hi, can you post a link with the documentation you've found?

Thanks a lot! :D