Flash a XC6SLX9 dev board as a 7i90HD

More
7 years 6 months ago - 7 years 6 months ago #131398 by gtt38

PCW wrote: You cannot change the EEPROM pin assignment if you expect the FPGA to load its configuration on startup (the configuration SPI pins are always on the same FPGA pins)


SO how can i put a config file ? in the FPGA itself ?

PCW wrote: You will also need a clock, the 7I90 assumes 50 MHz


There is a clock onboard, it's a 50Mhz on pin 55 (it's a 25Mhz on the schematics)
so i have to modify this line :
Code:
NET "CLK" LOC ="P50" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ;
to this :
Code:
NET "CLK" LOC ="P55" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ;

I'm downloading the ISE 13.4 to compile the firmware.
Last edit: 7 years 6 months ago by gtt38.

Please Log in or Create an account to join the conversation.

More
7 years 6 months ago - 7 years 6 months ago #131403 by PCW
Yes, you change the ucf file to change the pins for the clock source
(you will likely have to change al the GPIO assignments to make sense
with the I/O connector wiring also)

Is this a 144 pin package? (I was assuming that), if so its SPI configuration FPGA pins
must be on 38,64,65,70 or it will not work
Last edit: 7 years 6 months ago by PCW.

Please Log in or Create an account to join the conversation.

More
7 years 6 months ago #131410 by gtt38
Yep 144
This dev board is really simple to let a maximum of pins available.
it seems to match on my board exactly like a 7i90. 38,64,65,70 just tested, these chinese made an error on the schematics for the pin 65.
I ve 2 leds on pin 87,88 and an another one on pin 71

Please Log in or Create an account to join the conversation.

  • AnnoyingMutt
  • New Member
  • New Member
More
7 years 6 months ago #131434 by AnnoyingMutt
Replied by AnnoyingMutt on topic Flash a XC6SLX9 dev board as a 7i90HD
Oh great another dev board I wanna get just to play with

Actually this is an interesting thread.

Please Log in or Create an account to join the conversation.

More
7 years 6 months ago #131438 by tommylight

Please Log in or Create an account to join the conversation.

More
7 years 6 months ago - 7 years 6 months ago #131466 by gtt38
I just finished my 7i90spi.ucf :
I did some little cleaning :
Code:
NET "CLK" TNM_NET = "CLK"; TIMESPEC "TS_CLK" = PERIOD "CLK" 19.9 ns HIGH 50 %; NET "COM_SPICLK" TNM_NET = "COM_SPICLK"; TIMESPEC "TS_COM_SPICLK" = PERIOD "COM_SPICLK" 9 ns HIGH 50 %; OFFSET = OUT 12 ns AFTER "COM_SPICLK" ; OFFSET = IN 8 ns BEFORE "COM_SPICLK" ; NET "COM_SPICLK" LOC ="P50" | IOSTANDARD = LVTTL; NET "COM_SPIIN" LOC ="P56" | IOSTANDARD = LVTTL; NET "COM_SPIOUT" LOC ="P57" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = FAST ; NET "COM_SPICS" LOC ="P58" | IOSTANDARD = LVTTL; NET "TEST0" LOC ="P59" | IOSTANDARD = LVTTL; NET "RECONFIG" LOC ="P67" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ; NET "SPICS" LOC ="P38" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ; NET "SPIIN" LOC ="P65" | IOSTANDARD = LVTTL; NET "SPIOUT" LOC ="P64" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ; NET "SPICLK" LOC ="P70" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ; NET "NINIT" LOC ="P39" | IOSTANDARD = LVTTL | DRIVE = 12 | SLEW = SLOW ; NET "CLK" LOC ="P55" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ; NET "LEDS<1>" LOC ="P87" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW ; NET "LEDS<0>" LOC ="P88" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW ; NET "IOBITS<0>" LOC ="P14" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<1>" LOC ="P15" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<2>" LOC ="P16" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<3>" LOC ="P17" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<4>" LOC ="P21" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<5>" LOC ="P22" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<6>" LOC ="P23" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<7>" LOC ="P24" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<8>" LOC ="P26" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<9>" LOC ="P27" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<10>" LOC ="P29" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<11>" LOC ="P30" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<12>" LOC ="P32" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<13>" LOC ="P33" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<14>" LOC ="P34" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<15>" LOC ="P35" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<16>" LOC ="P40" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<17>" LOC ="P41" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<18>" LOC ="P43" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<19>" LOC ="P44" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<20>" LOC ="P45" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<21>" LOC ="P46" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<22>" LOC ="P48" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<23>" LOC ="P51" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<24>" LOC ="P12" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<25>" LOC ="P11" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<26>" LOC ="P10" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<27>" LOC ="P9" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<28>" LOC ="P8" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<29>" LOC ="P7" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<30>" LOC ="P6" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<31>" LOC ="P5" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<32>" LOC ="P2" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<33>" LOC ="P1" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<34>" LOC ="P141" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<35>" LOC ="P142" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<36>" LOC ="P139" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<37>" LOC ="P140" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<38>" LOC ="P137" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<39>" LOC ="P138" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<40>" LOC ="P133" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<41>" LOC ="P134" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<42>" LOC ="P131" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<43>" LOC ="P132" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<44>" LOC ="P126" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<45>" LOC ="P127" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<46>" LOC ="P121" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<47>" LOC ="P124" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<48>" LOC ="P119" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<49>" LOC ="P120" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<50>" LOC ="P117" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<51>" LOC ="P118" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<52>" LOC ="P115" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<53>" LOC ="P116" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<54>" LOC ="P112" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<55>" LOC ="P114" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<56>" LOC ="P105" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<57>" LOC ="P111" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<58>" LOC ="P101" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<59>" LOC ="P102" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<60>" LOC ="P99" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<61>" LOC ="P100" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<62>" LOC ="P97" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<63>" LOC ="P98" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<64>" LOC ="P94" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<65>" LOC ="P95" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<66>" LOC ="P92" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<67>" LOC ="P93" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<68>" LOC ="P74" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<69>" LOC ="P78" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<70>" LOC ="P79" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; NET "IOBITS<71>" LOC ="P80" | IOSTANDARD = LVTTL | DRIVE = 24 | SLEW = SLOW ; #NET "DONE" LOC ="P71" ; #NET "RDWR" LOC ="P47" ; #NET "PROGRAM" LOC ="P37" ; #NET "M0" LOC ="P69" ; #NET "M1" LOC ="P60" ; #NET "FPGATMS" LOC ="P107" ; #NET "FPGATDI" LOC ="P110" ; #NET "FPGATDO" LOC ="P106" ; #NET "FPGACLK" LOC ="P109" ; #NET "HSWAPEN" LOC ="P144" ; #NET "MISCCLK" LOC ="P143" ; #NET "HOST5" LOC ="P59" ;

The 50Mhz clock is on pin 55 which was used for COM_SPICLK so i inverted them.
Now it's almost ready, i only need a config file
Last edit: 7 years 6 months ago by gtt38.

Please Log in or Create an account to join the conversation.

Moderators: PCW, jmelson
Time to create page: 0.129 seconds
Powered by Kunena Forum