Sign in

username:

password:



Not a member?

Search Comp.Arch.FPGA



Search tips

fpga by Keywords

Altera | ASIC | CPLD | Cyclone | DCM | DDR | DSP | Ethernet | ISE | JTAG | Linux | LVDS | Microblaze | ML310 | Modelsim | NIOS | OPB | PCI | Quartus | RocketIO | SDRAM | Spartan | Spartan3 | SRAM | Stratix | Verilog | VHDL | Virtex | Virtex-4 | Virtex-II | Xilinx | XST


Ads

See Also

DSPEmbedded SystemsElectronics

Comp.Arch.FPGA | help regarding daisy chained fpgas

There are 6 messages in this thread.

You are currently looking at messages 0 to 6.

help regarding daisy chained fpgas - salimbaba - 2010-07-15 03:11:00

Hello!
I am using xcf16p EEPROM, and 2 xc3s4000 FPGAs connected in a daisy chainon a custom board. The problem is when i program my FPGAs through JTAGinterface, FPGA 1 always gets programmed and verified and always showsoutput whereas FPGA 2 always gets programmed and verified and sometimes itshows the output and sometimes it doesnt.

I have failed to understand the reason for this behavior :s

Kindly help me .. thanks	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com



Re: help regarding daisy chained fpgas - John_H - 2010-07-15 18:36:00

On Jul 15, 3:11=A0am, "salimbaba"
<a1234573@n_o_s_p_a_m.n_o_s_p_a_m.owlpic.com> wrote:
> Hello!
> I am using xcf16p EEPROM, and 2 xc3s4000 FPGAs connected in a daisy chain
> on a custom board. The problem is when i program my FPGAs through JTAG
> interface, FPGA 1 always gets programmed and verified and always shows
> output whereas FPGA 2 always gets programmed and verified and sometimes i=
t
> shows the output and sometimes it doesnt.
>
> I have failed to understand the reason for this behavior :s
>
> Kindly help me .. thanks =A0 =A0 =A0 =A0 =A0
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com

Do you always program them in sequence after power-up?

If you randomly reprogram the devices well after the initial program,
you could be getting trouble from an open-drain configuration I/O pin
connected in common between the two chips.  To program chips in a
chain independently after power up in the Xilinx chain I used a couple
years back, assertion of the program pin causes the done pin to go low
which confuses the other chip as an input.
______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: help regarding daisy chained fpgas - salimbaba - 2010-07-16 05:18:00

Yes i always program it in a sequence i.e. FPGA 1
and then FPGA 2. 
another point i missed in the last post is that while programming FPGA 1, igive it the bit file with DRIVE DONE = YES, and when i program FPGA 2 , igive it the bit file with DRIVE DONE = YES.

When i give FPGA 1 the bit file with DRIVE DONE = NO, it doesn't getprogrammed and FPGA 2 shows the same random behavior as mentioned above.and when i reprogram FPGA 1 after FPGA 2 , FPGA 1 gets programmed. Now,there's something fishy going around with the DONE signal i guess, but i'mnot sure about it so i need pointers, help, anything that would give alead. 

Thanks John =)	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com
______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: help regarding daisy chained fpgas - John_H - 2010-07-16 06:27:00

On Jul 16, 5:18=A0am, "salimbaba"
<a1234573@n_o_s_p_a_m.n_o_s_p_a_m.owlpic.com> wrote:
<snip>
>
> there's something fishy going around with the DONE signal i guess, but i'=
m
> not sure about it so i need pointers, help, anything that would give a
> lead.
>
> Thanks John =3D) =A0 =A0

Read up on the DONE signal and its effect as an *input* to the FPGA.

Note that it gets pulled down (regardless of drive=3Dyes or no, I
believe) when the program bit is first asserted.  One way to avoid
this interaction is to break out the done separately from the two
FPGAs so the open-drain pull-down of the DONE signal on one device
doesn't affect the operation of the second; rather than one DONE
connection to your programming device (assuming you're not programming
via cable) you use two.

Also look at whether DRIVE DONE =3D YES actively tries to assert the
DONE pin even if the DONE from the other chip drives the same line
with a typically-stronger pull down.  Typical use is to have the DONE
pulled up with a resistor and leave the rising edge for when all
devices are programmed.  The DRIVE DONE =3D YES would be for non-ganged
DONE pins such as a single FPGA or separately pinned out DONE signals
for the individual FPGAs so you don't have to add the pull-up to the
single driver.

Re: help regarding daisy chained fpgas - salimbaba - 2010-07-16 06:42:00

Another thing, when the FPGA 2 gets programmed
and i read its statusregister, it looks perfectly in accordance to a working FPGA's status wordbut it doesn't show any output. Is it possible that FPGA 2 never comes outof the startup sequunce ?
	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com
______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: help regarding daisy chained fpgas - colin - 2010-07-16 09:25:00

On 16 July, 11:42, "salimbaba"
<a1234573@n_o_s_p_a_m.n_o_s_p_a_m.owlpic.com> wrote:
> Another thing, when the FPGA 2 gets programmed and i read its status
> register, it looks perfectly in accordance to a working FPGA's status wor=
d
> but it doesn't show any output. Is it possible that FPGA 2 never comes ou=
t
> of the startup sequunce ?
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com

On the face of it your having the same results as I had and it was all
straightforward. An unprogrammed FPGA drives done low using open
drain. When you program them they fail at the very last point " I am
now programmed, I have released done but done is still low so I will
not start working". All I did was programmed each FPGA using JTAG but
only when you program the last FPGA does done go high and the FPGA
starts. Done is now not being driven low by anything and programming
any FPGA will make it work.

Typing "done pin" at xilinx.com and selecting the first hit explains
this fairly well.

Colin
______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.