Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search

Messages from 150650

Article: 150650
Subject: Re: Can't program Spartan3A with JTAG
From: Ed McGettigan <ed.mcgettigan@xilinx.com>
Date: Mon, 31 Jan 2011 10:27:12 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 31, 7:44=A0am, aleksa <aleks...@gmail.com> wrote:
> On Jan 31, 4:25=A0pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
>
>
>
>
>
> > On Jan 31, 4:46=A0am, aleksa <aleks...@gmail.com> wrote:
>
> > > some tests I did:
>
> > > 1. started iMPACT.
> > > 2. double click on Boundary scan.
> > > 3. right click, Initialize Chain.
>
> > > I get blue text "Identify succeeded"
> > > The part is already shown as unknown.
>
> > > I'm asked "Do you want to cont. and assign conf. files?" YES
> > > "Do you have a BSDL or BIT file?" YES (xc3s50a.bsd)
>
> > > 4. Debug, Chain integrity test =3D OK.
>
> > > Everything else fails.
>
> > What was the IDCODE reported by iMPACT?
>
> IDCODE =3D all zeros
>
> > When you put the oscilloscope on the TDO output what voltage levels
> > did you see?
>
> 0 and 3.2V
>
> > Is the TDO of the part connected to the TDO of the cable?
>
> Yes, I've placed a JTAG gif herehttp://www60.zippyshare.com/v/18748688/fi=
le.html
>
> > Are there any other devices in the JTAG chain?
>
> No- Hide quoted text -
>
> - Show quoted text -

Ok, so the TDO is outputing a waveform in the right range of 0 to
3.2V, but the not showing up in the impact software.  This means that
the problem is in your custom cable.

I can't tell exactly how the cable was constructed from the circuit
that you posted as the part numbers are not complete and there are no
VCC connections of any type.  Have you put a scope on the TDO output
of the "LVC25" and the "HCT08" devices?

Ed McGettigan
--
Xilinx Inc.

Article: 150651
Subject: Re: Can't program Spartan3A with JTAG
From: Jon Elson <jmelson@wustl.edu>
Date: Mon, 31 Jan 2011 14:11:21 -0600
Links: << >>  << T >>  << A >>
On 01/30/2011 03:06 PM, aleksa wrote:

> I've used the same JTAG programming board for Spartan 2, and it works.
> Spartan2, Spartan3A and parallel port JTAG boards were all done by me.
Have you tested this cable with the Spartan 2 TODAY?  I have blown out
my parallel programming pod several times from ESD and bad power outlet 
grounds on a couple occasions.

Jon

Article: 150652
Subject: Re: Can't program Spartan3A with JTAG
From: aleksa <aleksazr@gmail.com>
Date: Mon, 31 Jan 2011 13:43:17 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 31, 9:11=A0pm, Jon Elson <jmel...@wustl.edu> wrote:
> On 01/30/2011 03:06 PM, aleksa wrote:
>
> > I've used the same JTAG programming board for Spartan 2, and it works.
> > Spartan2, Spartan3A and parallel port JTAG boards were all done by me.
>
> Have you tested this cable with the Spartan 2 TODAY? =A0I have blown out
> my parallel programming pod several times from ESD and bad power outlet
> grounds on a couple occasions.
>
> Jon

I just did that, and everything works.
For example, IDCODE is '10000000011000010000000010010011'
(XC2S50 TQG144)

Article: 150653
Subject: Re: Can't program Spartan3A with JTAG
From: aleksa <aleksazr@gmail.com>
Date: Mon, 31 Jan 2011 14:13:29 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 31, 7:27=A0pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
> On Jan 31, 7:44=A0am, aleksa <aleks...@gmail.com> wrote:
>
>
>
>
>
> > On Jan 31, 4:25=A0pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
>
> > > On Jan 31, 4:46=A0am, aleksa <aleks...@gmail.com> wrote:
>
> > > > some tests I did:
>
> > > > 1. started iMPACT.
> > > > 2. double click on Boundary scan.
> > > > 3. right click, Initialize Chain.
>
> > > > I get blue text "Identify succeeded"
> > > > The part is already shown as unknown.
>
> > > > I'm asked "Do you want to cont. and assign conf. files?" YES
> > > > "Do you have a BSDL or BIT file?" YES (xc3s50a.bsd)
>
> > > > 4. Debug, Chain integrity test =3D OK.
>
> > > > Everything else fails.
>
> > > What was the IDCODE reported by iMPACT?
>
> > IDCODE =3D all zeros
>
> > > When you put the oscilloscope on the TDO output what voltage levels
> > > did you see?
>
> > 0 and 3.2V
>
> > > Is the TDO of the part connected to the TDO of the cable?
>
> > Yes, I've placed a JTAG gif herehttp://www60.zippyshare.com/v/18748688/=
file.html
>
> > > Are there any other devices in the JTAG chain?
>
> > No- Hide quoted text -
>
> > - Show quoted text -
>
> Ok, so the TDO is outputing a waveform in the right range of 0 to
> 3.2V, but the not showing up in the impact software. =A0This means that
> the problem is in your custom cable.
>
> I can't tell exactly how the cable was constructed from the circuit
> that you posted as the part numbers are not complete and there are no
> VCC connections of any type. =A0Have you put a scope on the TDO output
> of the "LVC25" and the "HCT08" devices?
>
> Ed McGettigan
> --
> Xilinx Inc.

LVC125 is powered by 3V3.
HCT08 by 5V (to comply with the parallel port)

No, I didn't put the scope directly on HCT08,
but that must work, since I just tested it again
with Spartan 2. Looks like something on my Spartan 3A
board is wrong, but don't know what.

Here is the sch of Spartan 3A board:
http://www41.zippyshare.com/v/38225858/file.html

notes:

X1 and U2 are not populated.

pins not shown on FPGA are GND pins.

S1, S2 and S3 are the connecting cable to parallel JTAG prog.

Currently, PUDC(99), CS(46) and INIT(48) are pulled to 3V3.
(I've soldered 3 extra resistors). PROG has R9 already.

M0, M1, M2, DONE, CCLK, DIN and all GCKS are floating.

As for the rest of the plain I/O pins:
some are floating, some are connected to 3V3 micro.

Article: 150654
Subject: Re: Can't program Spartan3A with JTAG
From: aleksa <aleksazr@gmail.com>
Date: Mon, 31 Jan 2011 14:17:17 -0800 (PST)
Links: << >>  << T >>  << A >>
I should add that S1 and S2 are two-pin connectors,
but have five wires: two signals and three GNDs,
which are cut just above the connector.

Article: 150655
Subject: Re: Can't program Spartan3A with JTAG
From: Ed McGettigan <ed.mcgettigan@xilinx.com>
Date: Mon, 31 Jan 2011 22:41:46 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 31, 2:17=A0pm, aleksa <aleks...@gmail.com> wrote:
> I should add that S1 and S2 are two-pin connectors,
> but have five wires: two signals and three GNDs,
> which are cut just above the connector.

Two pin connectors, but five wires???  Could you have a short in this
bundle?

You should still check the LVC25 and HCT08 connections to see if the
TDO signal is getting through.

Ed McGettigan
--
Xilinx Inc.

Article: 150656
Subject: Re: Can't program Spartan3A with JTAG
From: "Morten Leikvoll" <mleikvol@yahoo.nospam>
Date: Tue, 1 Feb 2011 09:03:09 +0100
Links: << >>  << T >>  << A >>
You need to probe TDI,TMS and TCK as close to the FPGA pins as possible, and 
TDO at the parallel port.
Are you able to grab a full IDCODE read with all signals on a 4ch scope or 
logic analyzer? I'd like to see that image.



Article: 150657
Subject: Re: Looking for contractor for FPGA-based multiUART
From: "Michael Kellett" <nospam@nospam.com>
Date: Tue, 1 Feb 2011 08:29:34 -0000
Links: << >>  << T >>  << A >>

"Axel Mammes" <fpgausenet@gmail.com> wrote in message 
news:9e4fa494-8e3b-4b87-ab50-051fcadc4702@y35g2000prc.googlegroups.com...
> Hi everyone,
>
> I'm looking for someone that can develop an FPGA based multiUART with
> 32 UARTs for me.
>
> My software will run on this board: h**p://www.andahammer.com/mini35-
> sdk.
>
> The mini2440 ARM board has 40 pin system expansion bus connector that
> will connect to the multiuart PCB you develop.
>
> Each UART in the multiUART will connect to a gasoline dispenser using
> optoisolated 20mA, 30 mA, 45mA current loop. I will provide schematics
> for the TTL-current loop conversion.
>
> I was thinking the UARTs could be the 16750 from opencores.org. It's
> supposed to be stable and it works with standard Linux drivers. h**p://
> opencores.org/project,uart16750
>
> Check out the schematics of a mini2440 expansion card that Eric
> Brombaugh already developed.
> h**p://members.cox.net/ebrombaugh1/synth/mini_2440_fpga/index.html
>
>
>
> Regards
> Axel

How much are you thinking of paying ?

MK 



Article: 150658
Subject: Re: Can't program Spartan3A with JTAG
From: aleksa <aleksazr@gmail.com>
Date: Tue, 1 Feb 2011 06:49:22 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 1, 9:03=A0am, "Morten Leikvoll" <mleik...@yahoo.nospam> wrote:
> You need to probe TDI,TMS and TCK as close to the FPGA pins as possible, =
and
> TDO at the parallel port.
> Are you able to grab a full IDCODE read with all signals on a 4ch scope o=
r
> logic analyzer? I'd like to see that image.

OK, I have it working now.

I had series res on JTAG side, but not on the FPGA side.
I've added them (330E) on all signals, and it works now.

Here is the photo of the TMS on scope:
http://www23.zippyshare.com/v/50101972/file.html
before/after means before/after adding series res on FPGA.

Before, LOW level was 0.2V, now is 0.4V.
I'll fix that later. And will also use smaller R.

The photo is of the TMS. TDI and TCK are similar.
TDO I still didn't check, because its not easy to
put a probe on a comp below desk.

Anyway, signal integrity will be the first thing to
check from now on, regardless whether it works
on Spartan 2 or not :)

Article: 150659
Subject: Re: Can't program Spartan3A with JTAG
From: aleksa <aleksazr@gmail.com>
Date: Tue, 1 Feb 2011 06:50:24 -0800 (PST)
Links: << >>  << T >>  << A >>
Thanks everyone

Article: 150660
Subject: Xilinx Acquires AutoESL
From: "RCIngham" <robert.ingham@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Tue, 01 Feb 2011 09:30:38 -0600
Links: << >>  << T >>  << A >>
Xilinx press release here:
http://press.xilinx.com/phoenix.zhtml?c=212763&p=irol-newsArticle&ID=1521536

Google News results here:
http://www.google.co.uk/search?q=Xilinx+Acquires+AutoESL&oi=news_group&ct=title

I wonder how many limbs the tool s/w will cost...


	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150661
Subject: PCI Express Transfer
From: "sebas" <tanarnelinistit@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.com>
Date: Tue, 01 Feb 2011 10:31:22 -0600
Links: << >>  << T >>  << A >>
Hi,

Sorry if I'm posting a little bit out of topic here but I'm kinda confused.
I read about the PCIe protocol, I read the Xilinx documentation about their
PCIe EP and I have a quesstion: I understand that the CPU, through the RC,
controls the transfer (issuing a read or write command) but how does the
processor know when to issue the read command? I mean if I have a memory,
on the EP side, that is updated every lets say 3 sec with new data how do I
read the new data: does the software on the CPU side have to make read
requests every 3 sec or does the EP signal an interrupt every time new data
is available, or...?

Thanks,
Sebastian	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150662
Subject: Re: PCI Express Transfer
From: "maxascent" <maxascent@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk>
Date: Tue, 01 Feb 2011 12:51:58 -0600
Links: << >>  << T >>  << A >>
PCI Express does support interrupts so an interrupt could be generated when
new data was available.

Jon	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150663
Subject: Re: PCI Express Transfer
From: John Adair <g1@enterpoint.co.uk>
Date: Tue, 1 Feb 2011 13:26:28 -0800 (PST)
Links: << >>  << T >>  << A >>
In PCIe data transfers either reads or writes can be initiated from
either the main processor end or the card end. Interrupts unlike
conevntional PCI use an in-band message (data transfer) to signal an
interrupt on or off.

This gives you 2 principal options. The first is for a memory pointer
to written and stored on the card so it can move data directly to
memory. It might then use an interrupt to get the processor to process
the data.

The second, less efficient, way is to store data at the card end and
interrupt the processor to read the data and then move it to memory.

John Adair
Enterpoint Ltd - Home of Raggedstone2. The Spartan-6 PCIe Development
Board.


On Feb 1, 4:31=A0pm, "sebas"
<tanarnelinistit@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.com> wrote:
> Hi,
>
> Sorry if I'm posting a little bit out of topic here but I'm kinda confuse=
d.
> I read about the PCIe protocol, I read the Xilinx documentation about the=
ir
> PCIe EP and I have a quesstion: I understand that the CPU, through the RC=
,
> controls the transfer (issuing a read or write command) but how does the
> processor know when to issue the read command? I mean if I have a memory,
> on the EP side, that is updated every lets say 3 sec with new data how do=
 I
> read the new data: does the software on the CPU side have to make read
> requests every 3 sec or does the EP signal an interrupt every time new da=
ta
> is available, or...?
>
> Thanks,
> Sebastian =A0 =A0 =A0 =A0 =A0
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com


Article: 150664
Subject: Re: PCI Express Transfer
From: "andreiseb" <andrei.jacota@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Tue, 01 Feb 2011 17:11:45 -0600
Links: << >>  << T >>  << A >>
Hey,

Thanks for the reply. What do you mean by not efficient? I only have few
bytes to transmit (why I use PCIe it's a long story, let's just not get
into in to it :) ) so I think the two situations described by you are the
same in this case. Am I right or didn't I understand your post?

Thanks

>In PCIe data transfers either reads or writes can be initiated from
>either the main processor end or the card end. Interrupts unlike
>conevntional PCI use an in-band message (data transfer) to signal an
>interrupt on or off.
>
>This gives you 2 principal options. The first is for a memory pointer
>to written and stored on the card so it can move data directly to
>memory. It might then use an interrupt to get the processor to process
>the data.
>
>The second, less efficient, way is to store data at the card end and
>interrupt the processor to read the data and then move it to memory.
>
>John Adair
>Enterpoint Ltd - Home of Raggedstone2. The Spartan-6 PCIe Development
>Board.
>
>
>On Feb 1, 4:31=A0pm, "sebas"
><tanarnelinistit@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.com> wrote:
>> Hi,
>>
>> Sorry if I'm posting a little bit out of topic here but I'm kinda
confuse=
>d.
>> I read about the PCIe protocol, I read the Xilinx documentation about
the=
>ir
>> PCIe EP and I have a quesstion: I understand that the CPU, through the
RC=
>,
>> controls the transfer (issuing a read or write command) but how does
the
>> processor know when to issue the read command? I mean if I have a
memory,
>> on the EP side, that is updated every lets say 3 sec with new data how
do=
> I
>> read the new data: does the software on the CPU side have to make read
>> requests every 3 sec or does the EP signal an interrupt every time new
da=
>ta
>> is available, or...?
>>
>> Thanks,
>> Sebastian =A0 =A0 =A0 =A0 =A0
>>
>> --------------------------------------- =A0 =A0 =A0 =A0
>> Posted throughhttp://www.FPGARelated.com
>
>	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150665
Subject: Bit-accurate C simulation
From: "stephen.craven@gmail.com" <stephen.craven@gmail.com>
Date: Tue, 1 Feb 2011 17:35:43 -0800 (PST)
Links: << >>  << T >>  << A >>
I am interested in bit-accurate C / C++ modeling of hardware. I have
only found two open source projects: Signal Processing Using C++
(http://spuc.sourceforge.net/) and C4Hardware (http://sigpromu.org/
c4hardware/).

Does anyone have experience with either of these, or other, projects?

Thanks in advance.

Stephen

Article: 150666
Subject: Re: Xilinx Acquires AutoESL
From: backhus <goouse99@googlemail.com>
Date: Tue, 1 Feb 2011 23:32:27 -0800 (PST)
Links: << >>  << T >>  << A >>
On 1 Feb., 16:30, "RCIngham"
<robert.ingham@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
> Xilinx press release here:http://press.xilinx.com/phoenix.zhtml?c=3D21276=
3&p=3Dirol-newsArticle&ID=3D...
>
> Google News results here:http://www.google.co.uk/search?q=3DXilinx+Acquir=
es+AutoESL&oi=3Dnews_grou...
>
> I wonder how many limbs the tool s/w will cost...
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com

Hi,
why are you concerned about the price now?
The tool was already available before Xilinx acquired the company.

The real question is:
How long will it still be sold separtately, and when will it finally
be absorbed into one of the ISE editions.

And the next question that may be asked is:
Who's next? (Sigasi...???) :-)

Regards
  Eilert

Article: 150667
Subject: Re: PCI Express Transfer
From: John Adair <g1@enterpoint.co.uk>
Date: Wed, 2 Feb 2011 00:01:11 -0800 (PST)
Links: << >>  << T >>  << A >>
The read method is not efficient because often the processor takes in
the data and then writes it out to memory so 2 data movement actions.
That mechanism does vary a little with motherboard architecture and
that might be offloaded to a peripheral. If it's a small amount of
data it is fine to do it this way. For large amounts of data the card
end doing the initiation is much better and faster. It's a single
transfer and much less affected by other tasks that a CPU might be
running.

John Adair
Enterpoint Ltd.

On Feb 1, 11:11=A0pm, "andreiseb"
<andrei.jacota@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
> Hey,
>
> Thanks for the reply. What do you mean by not efficient? I only have few
> bytes to transmit (why I use PCIe it's a long story, let's just not get
> into in to it :) ) so I think the two situations described by you are the
> same in this case. Am I right or didn't I understand your post?
>
> Thanks
>
>
>
>
>
> >In PCIe data transfers either reads or writes can be initiated from
> >either the main processor end or the card end. Interrupts unlike
> >conevntional PCI use an in-band message (data transfer) to signal an
> >interrupt on or off.
>
> >This gives you 2 principal options. The first is for a memory pointer
> >to written and stored on the card so it can move data directly to
> >memory. It might then use an interrupt to get the processor to process
> >the data.
>
> >The second, less efficient, way is to store data at the card end and
> >interrupt the processor to read the data and then move it to memory.
>
> >John Adair
> >Enterpoint Ltd - Home of Raggedstone2. The Spartan-6 PCIe Development
> >Board.
>
> >On Feb 1, 4:31=3DA0pm, "sebas"
> ><tanarnelinistit@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.com> wrote:
> >> Hi,
>
> >> Sorry if I'm posting a little bit out of topic here but I'm kinda
> confuse=3D
> >d.
> >> I read about the PCIe protocol, I read the Xilinx documentation about
> the=3D
> >ir
> >> PCIe EP and I have a quesstion: I understand that the CPU, through the
> RC=3D
> >,
> >> controls the transfer (issuing a read or write command) but how does
> the
> >> processor know when to issue the read command? I mean if I have a
> memory,
> >> on the EP side, that is updated every lets say 3 sec with new data how
> do=3D
> > I
> >> read the new data: does the software on the CPU side have to make read
> >> requests every 3 sec or does the EP signal an interrupt every time new
> da=3D
> >ta
> >> is available, or...?
>
> >> Thanks,
> >> Sebastian =3DA0 =3DA0 =3DA0 =3DA0 =3DA0
>
> >> --------------------------------------- =3DA0 =3DA0 =3DA0 =3DA0
> >> Posted throughhttp://www.FPGARelated.com
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com


Article: 150668
Subject: Re: Can't program Spartan3A with JTAG
From: "Morten Leikvoll" <mleikvol@yahoo.nospam>
Date: Wed, 2 Feb 2011 09:39:39 +0100
Links: << >>  << T >>  << A >>
"aleksa" <aleksazr@gmail.com> wrote in message 
news:99e0701d-1068-4416-b18a-a19ed7aa5166@x5g2000prf.googlegroups.com...
> Thanks everyone

Just to close up, the res is probably only needed on the TCK to avoid 
"ringing" wich may be detected as multiple clocks at the edges. It is caused 
by bad impedance match on the transmission line. The problem the res can add 
is lower max programming speed because of slower rise/fall times, but 
usually the speed is not near the problem area on such parallel devices.



Article: 150669
Subject: Re: Bit-accurate C simulation
From: "HT-Lab" <hans64@ht-lab.com>
Date: Wed, 2 Feb 2011 08:47:19 -0000
Links: << >>  << T >>  << A >>
Why not use SystemC?

Install Visual C++ Express 2010, compile the OSCI reference simulator and 
you have a great development environment.

Just a thought,

Hans
www.ht-lab.com


>wrote in message 
>news:963669a5-c3e3-4c80-86b6-b43d2af29437@u4g2000yqi.googlegroups.com...
>
>I am interested in bit-accurate C / C++ modeling of hardware. I have
>only found two open source projects: Signal Processing Using C++
>(http://spuc.sourceforge.net/) and C4Hardware (http://sigpromu.org/
>c4hardware/).
>
>Does anyone have experience with either of these, or other, projects?
>
>Thanks in advance.
>
>Stephen 

Article: 150670
Subject: Re: FPGA changes behaviour when the resource's usage percentage changes
From: Emanuele Carraro <emanuele83katamail@googlemail.com>
Date: Wed, 2 Feb 2011 00:56:32 -0800 (PST)
Links: << >>  << T >>  << A >>
Hello everybody,
I got on Friday a new board, with brand new FPGAs soldered rightly (it seem=
s).
Now I test my non-working FW and the 3 boards that I have behaves equally, =
so I have only two possibility:

a_ the synthesis tool is failing, bu I tried the same FW on a different mac=
hine with a brand new copy of ISE 12.4 installed and it behaves the same in=
 each and every board.

b_ my coding style is somehow wrong. I checked the Xilinx's seminar on the =
web at this address and I watched all the basic HDL and Spartan 3 FPGA spec=
ific seminars. Ok, my code is not perfectly written but not with huge error=
s (for example everything is synchronous the reset path is correctly done, =
but I use nested if and case that are not the right thing (this is what Xil=
inx says)=20
For example, the reset code pointed out by Mike here https://groups.google.=
com/d/msg/comp.arch.fpga/eQ5EeHECOQw/rO5YroyQhaUJ
is, in Xilinx's opinion, not the best choice.

Now I decided to rewrite the whole project following Xilinx's advices but b=
efore, please, focus on these two questions and only on these two:

1_ since I have constrained the clock period and offset in and out, with on=
ly one clock domain in the entire FPGA( in other words everything is clocke=
d by the same source) and all the constraints are met must I trust the cloc=
k report? Even if the design does not behave as expected? I mean, with the =
same code and constraints, only changing a synthesis parameters (from AUTO =
to one-hot encoding, for example) the constraints are always met and the ti=
ming report does not show any setup/hold violation, how is it possible that=
 the FPGA behaves differently, if not for a synthesis error/mistake or an H=
W failure?

2_ If this is normal: if, changing the code style, or the used resources, t=
he behaviour changes even with all the constraints met, how am I supposed t=
o use a debugger like CHIPSCOPE, which uses the internal FPGA resources? In=
 other words, if introducing a CHIPSCOPE debugger the used resources change=
 and subsequently is expected that the behaviour changes, how is possible t=
o debug correctly?

Only doing errors is possible to learn, but without understanding them is n=
ot possible to learn at all.

Many thanks,
Emanuele

P.S. I am using the ISE tool for my projects, have you got advices for a di=
fferent/surely-better tool for synthesis, translate, map and PAR with also =
a spread availability of IPs?

Article: 150671
Subject: Re: PCI Express Transfer
From: "sebas" <tanarnelinistit@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.com>
Date: Wed, 02 Feb 2011 03:39:43 -0600
Links: << >>  << T >>  << A >>
Ok, I understand. The interrupt that has to pe generated is it a MSI
generated at TLP level and I have to generate it through the user interface
or is it a different "interrupt" automatically generated on a different
layer and I don't have to worry about it. The reason I'm asking is because
I haven't found any reference to this issue in the Xlinix' EP User Guide.


>The read method is not efficient because often the processor takes in
>the data and then writes it out to memory so 2 data movement actions.
>That mechanism does vary a little with motherboard architecture and
>that might be offloaded to a peripheral. If it's a small amount of
>data it is fine to do it this way. For large amounts of data the card
>end doing the initiation is much better and faster. It's a single
>transfer and much less affected by other tasks that a CPU might be
>running.
>
>John Adair
>Enterpoint Ltd.
>
>On Feb 1, 11:11=A0pm, "andreiseb"
><andrei.jacota@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
>> Hey,
>>
>> Thanks for the reply. What do you mean by not efficient? I only have
few
>> bytes to transmit (why I use PCIe it's a long story, let's just not get
>> into in to it :) ) so I think the two situations described by you are
the
>> same in this case. Am I right or didn't I understand your post?
>>
>> Thanks
>>
>>
>>
>>
>>
>> >In PCIe data transfers either reads or writes can be initiated from
>> >either the main processor end or the card end. Interrupts unlike
>> >conevntional PCI use an in-band message (data transfer) to signal an
>> >interrupt on or off.
>>
>> >This gives you 2 principal options. The first is for a memory pointer
>> >to written and stored on the card so it can move data directly to
>> >memory. It might then use an interrupt to get the processor to process
>> >the data.
>>
>> >The second, less efficient, way is to store data at the card end and
>> >interrupt the processor to read the data and then move it to memory.
>>
>> >John Adair
>> >Enterpoint Ltd - Home of Raggedstone2. The Spartan-6 PCIe Development
>> >Board.
>>
>> >On Feb 1, 4:31=3DA0pm, "sebas"
>> ><tanarnelinistit@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.com> wrote:
>> >> Hi,
>>
>> >> Sorry if I'm posting a little bit out of topic here but I'm kinda
>> confuse=3D
>> >d.
>> >> I read about the PCIe protocol, I read the Xilinx documentation
about
>> the=3D
>> >ir
>> >> PCIe EP and I have a quesstion: I understand that the CPU, through
the
>> RC=3D
>> >,
>> >> controls the transfer (issuing a read or write command) but how does
>> the
>> >> processor know when to issue the read command? I mean if I have a
>> memory,
>> >> on the EP side, that is updated every lets say 3 sec with new data
how
>> do=3D
>> > I
>> >> read the new data: does the software on the CPU side have to make
read
>> >> requests every 3 sec or does the EP signal an interrupt every time
new
>> da=3D
>> >ta
>> >> is available, or...?
>>
>> >> Thanks,
>> >> Sebastian =3DA0 =3DA0 =3DA0 =3DA0 =3DA0
>>
>> >> --------------------------------------- =3DA0 =3DA0 =3DA0 =3DA0
>> >> Posted throughhttp://www.FPGARelated.com
>>
>> --------------------------------------- =A0 =A0 =A0 =A0
>> Posted throughhttp://www.FPGARelated.com
>
>	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150672
Subject: Re: PCI Express Transfer
From: "RCIngham" <robert.ingham@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Wed, 02 Feb 2011 05:24:29 -0600
Links: << >>  << T >>  << A >>
>Hi,
>
>Sorry if I'm posting a little bit out of topic here but I'm kinda
confused.
>I read about the PCIe protocol, I read the Xilinx documentation about
their
>PCIe EP and I have a quesstion: I understand that the CPU, through the
RC,
>controls the transfer (issuing a read or write command) but how does the
>processor know when to issue the read command? I mean if I have a memory,
>on the EP side, that is updated every lets say 3 sec with new data how do
I
>read the new data: does the software on the CPU side have to make read
>requests every 3 sec or does the EP signal an interrupt every time new
data
>is available, or...?
>
>Thanks,
>Sebastian	   
>					
>---------------------------------------		
>Posted through http://www.FPGARelated.com
>

You might get useful answers posting on the Xilinx Support Forum:
http://forums.xilinx.com/t5/PCI-Express/bd-p/PCIe
	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150673
Subject: Re: FPGA changes behaviour when the resource's usage percentage changes
From: comp arch <comparchfpga@gmail.com>
Date: Wed, 2 Feb 2011 03:33:42 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 2, 8:56=A0am, Emanuele Carraro
<emanuele83katam...@googlemail.com> wrote:
> Hello everybody,
> I got on Friday a new board, with brand new FPGAs soldered rightly (it se=
ems).
> Now I test my non-working FW and the 3 boards that I have behaves equally=
, so I have only two possibility:
>
> a_ the synthesis tool is failing, bu I tried the same FW on a different m=
achine with a brand new copy of ISE 12.4 installed and it behaves the same =
in each and every board.
>
> b_ my coding style is somehow wrong. I checked the Xilinx's seminar on th=
e web at this address and I watched all the basic HDL and Spartan 3 FPGA sp=
ecific seminars. Ok, my code is not perfectly written but not with huge err=
ors (for example everything is synchronous the reset path is correctly done=
, but I use nested if and case that are not the right thing (this is what X=
ilinx says)
> For example, the reset code pointed out by Mike herehttps://groups.google=
.com/d/msg/comp.arch.fpga/eQ5EeHECOQw/rO5YroyQhaUJ
> is, in Xilinx's opinion, not the best choice.
>
> Now I decided to rewrite the whole project following Xilinx's advices but=
 before, please, focus on these two questions and only on these two:
>
> 1_ since I have constrained the clock period and offset in and out, with =
only one clock domain in the entire FPGA( in other words everything is cloc=
ked by the same source) and all the constraints are met must I trust the cl=
ock report? Even if the design does not behave as expected? I mean, with th=
e same code and constraints, only changing a synthesis parameters (from AUT=
O to one-hot encoding, for example) the constraints are always met and the =
timing report does not show any setup/hold violation, how is it possible th=
at the FPGA behaves differently, if not for a synthesis error/mistake or an=
 HW failure?
>
> 2_ If this is normal: if, changing the code style, or the used resources,=
 the behaviour changes even with all the constraints met, how am I supposed=
 to use a debugger like CHIPSCOPE, which uses the internal FPGA resources? =
In other words, if introducing a CHIPSCOPE debugger the used resources chan=
ge and subsequently is expected that the behaviour changes, how is possible=
 to debug correctly?
>
> Only doing errors is possible to learn, but without understanding them is=
 not possible to learn at all.
>
> Many thanks,
> Emanuele
>
> P.S. I am using the ISE tool for my projects, have you got advices for a =
different/surely-better tool for synthesis, translate, map and PAR with als=
o a spread availability of IPs?

It is an interesting problem for sure. To answer your questions:

a) I really doubt the synth tool is producing incorrect logic. Imagine
the millions of different HDL projects that are synthesized, if there
was a fundamental RTL to logic translation flaw, it would be a big
deal. Just in case, it would be best to use all the default settings
on the synth tool (if you have changed them). The defaults would
naturally be what 99% of people use, so have had the most exercising
in reality.

b) This is possible too - It is still possible to use perfect syntax,
and style, but still write something that is somehow asynchronous, or
crosses clock domains incorrectly. Unfortunately coding guidelines can
never prevent those kinds of mistakes. Lint tools can help find some
structures that could cause trouble, as well as CDC tools (clock
domain crossing).

1) Having one clock domain simplifies things, as well as the fact that
you have constrained the inputs. but a few questions -
- do you use any PLL/DLL/MMCM logic. Have you ensured everything is
setup correctly here and any skews are being accounted for?
- in follow on to the above - you say there is one clock domain - but
is it actually the very same NET going to each piece of code, or are
there somehow different nets of the same frequency that are driving
different blocks. Because even though a clock may be the same
frequency, and come from the same source point - if there are not the
same net, there can be phase/skew differences that would have to be
handled carefully
-  have you accounted for all inputs? are they all constrained? can
any of them glitch or be otherwise asynchronous?
- do you have proper reset synchonizers to release the reset?

2) Chipscope has helped me countless times, it really is a great tool.
I do see the dilemma here where you are concerned that adding it will
change the utilization, and as a result change the behavior again. So
the only suggestions i have here are:
- turn on design preservation. This should retain the synthesis and
placement/routing of unchanged parts of the design, and should fit
chipscope blocks into 'free' space. Of course some of the design may
have to be moved, but the tools do all they can to prevent that. If
the place and route are preserved, then so should design behaviour
- if inserting chipscope does cause the design to start functioning -
then I would keep iterating and making small tweaks until the design
is failing once more, but this time with chipscope in. Once you get
that, setting up chipscope to monitor the design won't affect its
running so you should be able to zero in on where the problem first
occurs.
- try to think up front how to partition your design so you can
determine what points to probe so failures can be detected by
chipscope.

As for alternative tools - on the synth side there are a number of
choices, but for map/par, I believe you have to use the ISE versions.
you could try plan-ahead, while it still uses the ISE tools under the
hood, it does allow you to easily floor-plan your design. It won't fix
this issue, but it should make working with /  iterating / probing
signals with chipscope easier.

Article: 150674
Subject: Re: PCI Express Transfer
From: "maxascent" <maxascent@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk>
Date: Wed, 02 Feb 2011 08:46:36 -0600
Links: << >>  << T >>  << A >>
The Xilinx EP guide gives details about generating interrupts. You just set
the appropriate signals on the core and an interrupt is generated.  

Jon	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com



Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search