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 116800

Article: 116800
Subject: Re: FPGA vs. GPP anyone?
From: "Peter Alfke" <alfke@sbcglobal.net>
Date: 18 Mar 2007 22:08:42 -0700
Links: << >>  << T >>  << A >>
What do you mean with "GPP" ?
Peter Alfke, who hates unexplained TLAs (Three-Letter-Acronyms).

On Mar 18, 9:44 pm, yasi...@gmail.com wrote:
> Hi,
>
> I couldn't find any comparison between FPGA and GPP. I thought I could
> get some of the expert two-cents on this matter especially in terms of
> cost, power and performance from this group.
>
> Cheers,
> Ace



Article: 116801
Subject: ADC capture with FPGA Spartan3 in Verilg
From: "Jhoberg" <jrquevedor@gmail.com>
Date: 18 Mar 2007 22:17:35 -0700
Links: << >>  << T >>  << A >>
Hello, This source is a capture the ADC0804 with FPGA Spartan3,
Oscillator 50MHz
frequency Clk for ADC is 650KHz,  sampling frequency 8Hz, show the
data capture in array leds.

//##############adc08.v###################
//#########Develp by Jhoberg Quevedo############
//#########email: jrquevedor@gmail.com###########

module adc08(clkadc,adc,adccs,adcwr,adcintr,led,osc);
parameter Nosc=32;
input osc;
input adcintr;
input [7:0] adc;
output clkadc;
output adccs;
output adcwr;
output [7:0] led;

reg clkadc;
reg adccs;
reg adcwr;

reg [7:0] dato;
reg [7:0] led;
reg [Nosc:0] tcont;
reg [7:0] tclk;

always @(posedge osc)
begin
tcont=tcont+1;
tclk=tclk+1;
if(tcont==6250000)
  begin
  	tcont=0;
   	if (adccs)
	    begin
			adccs=0;
			adcwr=0;

		 end
		else
		 begin
			adccs=1;
			adcwr=1;
		 end
  end
if (tclk==77)
 begin
  tclk=0;
   if (clkadc)
	    clkadc=0;
	else
      clkadc=1;
 end

end

always @(posedge  adcintr)
begin
  led=adc;
end

endmodule

#####################adc08.v#####################


Article: 116802
Subject: Re: FPGA vs. GPP anyone?
From: Ben Jackson <ben@ben.com>
Date: Mon, 19 Mar 2007 00:22:49 -0500
Links: << >>  << T >>  << A >>
On 2007-03-19, Peter Alfke <alfke@sbcglobal.net> wrote:
> What do you mean with "GPP" ?
> Peter Alfke, who hates unexplained TLAs (Three-Letter-Acronyms).

He probably means "general purpose processors".  I'm sure with that
detail you can now provide crystal clear guidance on "FPGA vs. GPP".
:-)

-- 
Ben Jackson AD7GD
<ben@ben.com>
http://www.ben.com/

From invalid@dont.spam Sun Mar 18 21:31:27 2007
Path: newsdbm02.news.prodigy.net!newsdst02.news.prodigy.net!prodigy.com!newscon02.news.prodigy.net!prodigy.net!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!cyclone1.gnilink.net!spamkiller2.gnilink.net!gnilink.net!trndny05.POSTED!933f7776!not-for-mail
From: Phil Hays <invalid@dont.spam>
Subject: Re: FPGA vs. GPP anyone?
User-Agent: Pan/0.14.2.91 (As She Crawled Across the Table)
Message-Id: <pan.2007.03.19.05.31.28.44666@dont.spam>
Newsgroups: comp.arch.fpga
References: <1174279480.590644.221340@l75g2000hse.googlegroups.com> <1174280922.838277.91090@p15g2000hsd.googlegroups.com> <slrnevs7h9.m4e.ben@saturn.home.ben.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Lines: 14
Date: Mon, 19 Mar 2007 05:31:27 GMT
NNTP-Posting-Host: 71.112.133.239
X-Complaints-To: abuse@verizon.net
X-Trace: trndny05 1174282287 71.112.133.239 (Mon, 19 Mar 2007 01:31:27 EDT)
NNTP-Posting-Date: Mon, 19 Mar 2007 01:31:27 EDT
Xref: prodigy.net comp.arch.fpga:128387
X-Received-Date: Mon, 19 Mar 2007 01:31:28 EDT (newsdbm02.news.prodigy.net)

Ben Jackson wrote:

> On 2007-03-19, Peter Alfke <alfke@sbcglobal.net> wrote:
>> What do you mean with "GPP" ?

> He probably means "general purpose processors".  I'm sure with that detail
> you can now provide crystal clear guidance on "FPGA vs. GPP".

For what problem?


-- 
Phil Hays


Article: 116803
Subject: Re: FPGA vs. GPP anyone?
From: "Ace" <yasirmm@gmail.com>
Date: 18 Mar 2007 22:40:43 -0700
Links: << >>  << T >>  << A >>
sorry 'bout that. Yup, I was directing to the "general purpose
procesor"


Article: 116804
Subject: Re: RLOC not working correctly in ISE 8.2 and 9.1?
From: Andreas Ehliar <ehliar@lysator.liu.se>
Date: Mon, 19 Mar 2007 08:43:36 +0000 (UTC)
Links: << >>  << T >>  << A >>
On 2007-03-12, Ray Andraka <ray@andraka.com> wrote:
> My guess is you have an RPM that straddles a DSP or BRAM column.  There 
> is a bug in the mapper that has been there since 6.3 that messes up the 
> grid mapping when an RPM has elements on both sides of a non-LUT column. 
>   The result is if you have a RAM16, SRL16 or other element that 
> requires a LUT memory resource and it is placed on the opposite side of 
> a BRAM or DSP column relative to the RLOC origin, it will fail to place. 
>   I think it may have gotten even more broken in 8.2 so that purely LUT 
> RPMs also can't straddle a non-LUT resource.

I don't think this is the case because my design is placed correctly
if I synthesize the design with XST 8.1 and place and route it using
8.2 or 9.1. (I did run into the problem you described a couple of
months ago and a posting by you helped me solve that one.)

I got some help from Xilinx on this issue and I might have to work
around the problem by using constraints in the UCF file instead.
It might also be that I am doing something weird in my code :)

All in all, I think that RLOCs might be more work than they are
worth in my case but it has been interesting to learn a bit more
about them and get some feeling for when they might be useful.

One experince I have had is that once you start to RLOC a module
you really need to RLOC the modules that are closely connected to
it as well, otherwise you will probably get suboptimal timing as
compared to just letting par place everything automatically.


/Andreas

Article: 116805
Subject: Re: How to use the DDR SDRAM instead of Block RAM?
From: "Ken Soon" <csoon@xilinx.com>
Date: Mon, 19 Mar 2007 17:01:38 +0800
Links: << >>  << T >>  << A >>
>
> It depends on how much bandwidth you need and whether or not you can spare
the logic for
> the necessary memory controller.
>
> I am working on a high-performance memory controller of my own to
interface a PC3200 DDR
> DIMM to an XC2VP30 that can sustain anywhere from 100% read to 100% write
and my
> preliminary data says this is pretty expensive: my final memory controller
will consume
> about 40 BRAMs out of 136. About half of the BRAM cost comes from the quad
x36 internal
> memory ring bus controllers' FIFOs and most of the other half comes from
the dual-ported
> back-end's 128bits wide FIFOs. This design is overkill for a VP30 but I am
currently
> unemployed so I am simply killing time by doing something that may be
useful later - or at
> the very least instructive since I have never interfaced DRAMs directly
before.
>
> If your DRAMs provide you only a 32bits-wide data bus and you can operate
your internal
> data path at twice the DDR clock, things get much simpler and smaller. A 0
BRAM memory
> controller would be possible under these conditions... but I'd still slap
on a BRAM FIFO
> or three (local RX, local TX, pass-through) with extra logic to 'ringify'
it if more than
> one or two function blocks are going to share access.

Thanks a lot Daniel. Actually, I am still quite new to fpga but I have been
just tasked with this very difficult project (of video scaling), at least to
me. Somehow I am to solve the problems of the block rams. (In addition, I
didn't mention that I would also have to convert the DSP48s used in the
Virtex to using the CLB in the Spartan).

Well, anyway, been much help, at least I understand there is a probable
chance of using the DDR SDRAM as block rams replacements. (Though I suspect
there is also speed problems for doing so)

Oh great attitude there, imo, on keeping on doing useful things!



Article: 116806
Subject: Re: chipscope
From: Martin Thompson <martin.j.thompson@trw.com>
Date: Mon, 19 Mar 2007 09:23:22 +0000
Links: << >>  << T >>  << A >>
"skyworld" <chenyong20000@gmail.com> writes:

> Hi,
> i have used a parallel cable to download bitfile into my Virtex 4
> FPGA. But when open Chipscope with this cable, the computer said it
> can't found the cable. Do anybody know how to solve this? thanks.
>
Do you still have Impact open?  It will "keep" the cable so that
Chipscope can't access it.  You have to close Impact and then open
chipscope.

Or just open Chipscope in the first place as it can send bitfiles to
the FPGA as well.

Cheers,
Martin

-- 
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html

Article: 116807
Subject: Re: Programming XCF from MicroBlaze over JTAG???
From: jetmarc@hotmail.com
Date: 19 Mar 2007 02:30:34 -0700
Links: << >>  << T >>  << A >>
Hi Bob,

Yes, I've actually done this and it works.

I didn't use or port the XSVF Player, because when I didn't know about
it until I had half of my code finished already.  I based my code on
the XSVF file description in XAPP503.  I found it is sufficient to
program an XCF08P chip, but not for a V4FX FPGA. The FPGA XSVF file
uses some states not covered in XAPP503. They are covered in the
source code of XAPP058 and actually they are not difficult to guess
either.

For what it's worth:  The XSVF is about the same size as the (ASCII)
MCS file. It's binary but contains lots of redundant patterns.
Unfortunately the XCF08P erase time is very slow, because it's
implemented as simple delay.  The XCF08P datasheet documents how to
poll the erase state, so it's possible to "replace" the delay with a
poll function on-the-fly in your XSVF interpreter code.

In theory you can't stream an XSVF file because the byte order of some
commands require you to access the last byte first.  The command size
can be any 32-bit integer, so effectively this puts an unknown memory
size requirement on your embedded stream buffer.  It can be as large
as the whole file size.  In practice however, I never observed
commands larger than 768 bytes produced by Impact as XSVF generator.
To be on the safe side, my code interprets the XSVF on the Windows PC,
and produces a stream of proprietary command tokens.  This stream is
sent to an 8-bit MCU on my target board to produce the actual JTAG
patterns.

To produce the XSVF file with Impact (batch mode), I found the most
simple solution is to load a working project file with all chips
already configured.  This reduces the size of the batch command file
to less than 10 lines.

I hope this helps,
Marc


Article: 116808
Subject: Jam STAPL Player extensions
From: Wojciech Zabolotny <wzab@ise.pw.edu.pl>
Date: Mon, 19 Mar 2007 10:45:37 +0000 (UTC)
Links: << >>  << T >>  << A >>
Hi All,

I have sent to alt.sources very "quick & dirty" extensions to Altera's
Jam STAPL Player, allowing it to work with multiple JTAG chains
interfaced with SCANSTA111 bridge, and making programming faster, when
using a fast, but high latency interface (like some kinds of VME
or USB).
The main idea is to cache JTAG writes, and use block transfer to
speed up programming (however the interface itself or th receiving side
must take care of the appropriate timing).
The code is placed as public domain. No warranty at all. If anybody
finds it useful, or at least inspiring, I'll be glad.
-- 
Regards, Wojtek

PS. This is the google link to my post:
http://groups.google.pl/group/alt.sources/browse_frm/thread/14749b0c309c468b/16c9cb91e4ec23bb

Article: 116809
Subject: Re: FPGA vs. GPP anyone?
From: "comp.arch.fpga" <ksulimma@googlemail.com>
Date: 19 Mar 2007 04:56:18 -0700
Links: << >>  << T >>  << A >>
On 19 Mrz., 06:40, "Ace" <yasi...@gmail.com> wrote:
> sorry 'bout that. Yup, I was directing to the "general purpose
> procesor"

The answer is, it depends. You can find a detailed view of the
tradeoffs here:
http://ic.ese.upenn.edu/transit/rcgp/rcgp.html

The basic point is, that each architecture is most efficient on a
problem that matches it's instruction and data granularity.
For a problem with 32-bit data that maps well to the instructions
available in a given ISA and that does not have a lot
more inherent parallelism than what the available ISA implementation
offers a general purpose CPU is very good.

An ASIC implementation can exactly match the data types, instructions
and spation parallelism that suits a problem, so
it has a big advantage there, but it is inefficient in the sense that
it must make a lot of worst case assumptions. (e.g. it
implements always the same number of processing elements no matter
what size the problem instance is.

The FPGA inherits essentially all advantages of the ASIC
implementation at a price of a factor of 10x to 20x worse area/delay
product. For certain applications the FPGA can more than compensate
for that by its ability to tailor the hardware to the
problem instance.

Kolja Sulimma



Article: 116810
Subject: IOSTANDARD default value in Xilinx UCF-Files?
From: "Torsten Landschoff" <t.landschoff@gmx.de>
Date: 19 Mar 2007 05:31:21 -0700
Links: << >>  << T >>  << A >>
Hi there!

I am wondering what the default IOSTANDARD is on pins for which it is
not explicitly assigned in the UCF of the project. Here, the project
uses LVCMOS25 for some pins where nothing is set explicitly - is that
always the default value? Is it a good style to always define the
IOSTANDARD in any case?

Thanks for any hints, Torsten


Article: 116811
Subject: Re: IOSTANDARD default value in Xilinx UCF-Files?
From: Joseph Samson <jsamson@the-company-name.com>
Date: Mon, 19 Mar 2007 12:42:21 GMT
Links: << >>  << T >>  << A >>
Torsten Landschoff wrote:
> Hi there!
> 
> I am wondering what the default IOSTANDARD is on pins for which it is
> not explicitly assigned in the UCF of the project. Here, the project
> uses LVCMOS25 for some pins where nothing is set explicitly - is that
> always the default value? Is it a good style to always define the
> IOSTANDARD in any case?

Yes, the default is LVCMOS25. I always specify the IOSTANDARD, but I 
usually don't use LVCMOS25.


---
Joe Samson
Pixel Velocity

Article: 116812
Subject: Re: DDR2 and SDRAM modules for Raggedstone 1
From: Thomas Glanzmann <sithglan@stud.uni-erlangen.de>
Date: 19 Mar 2007 12:46:31 GMT
Links: << >>  << T >>  << A >>
Hello John,

> I hope we will also be finally showing the DDR2 and SDRAM modules for
> Raggedstone1 this week or maybe next.  They have been assembled and
> awaiting test for those interested in these. Proving there are not any
> issues they they will be on sale shortly after.

Michael Gernoth and I am very interested in this. Can you give us a
heads up when the modules are available?

        Thomas

Article: 116813
Subject: Re: Xilinx XST 9.1, Verilog 2-D arrays, always @*
From: "Homuncilus" <Sha.Craig@gmail.com>
Date: 19 Mar 2007 05:59:09 -0700
Links: << >>  << T >>  << A >>
On Mar 19, 11:00 am, "John McGrath" <tail...@gmail.com> wrote:
> On Mar 16, 11:28 pm, "Ulsk" <a...@ljs.com> wrote:
>
> > I noticed XST 9.1 still doesn't support multi-dim arrays in an always @*
> > block.
> > Here's a (perhaps poor) example:
>
> > reg  signed [15:0] table [0:255];
> > reg  signed [23:0] sum;
>
> > integer i;
> > always @*
> > begin
> >   sum = 0;
> >   for ( i =0; i < 256; i = i + 1 )
> >     sum = sum + table[i];  // yes, I know this will synthesize a suboptimal
> > imbalanced adder-tree!
> > end
>
> Correct me if I'm wrong, but I believe that this is not valid verilog
> - you cannot use an array as a term in the always() sensitivity list,
> and the always* implies that the array is in the sensitivity list. I
> know that the ncverilog simulator warns about this (but does work). It
> states that this is non-portable verilog. Synopsys DC does indeed
> synthesize this correctly, but it's not a good idea to use non-
> standard verilog statements. ISE seems to err on the side of adhering
> to the strict rules of the verilog language. I could be wrong about
> this, but from the warning given by ncverilog, I believe this to be
> the case. Maybe try a verilog linting tool? formality/conformal should
> set you straight, if you have them.
> Cheers
> John

I think the wrong isn't due to the sensitivity list. Do you sure the
error in ISE is caused by that?


Article: 116814
Subject: Re: How to use the DDR SDRAM instead of Block RAM?
From: "Daniel S." <digitalmastrmind_no_spam@hotmail.com>
Date: Mon, 19 Mar 2007 09:29:34 -0400
Links: << >>  << T >>  << A >>
Ken Soon wrote:
>> It depends on how much bandwidth you need and whether or not you can spare
> the logic for
>> the necessary memory controller.
>>
>> I am working on a high-performance memory controller of my own to
> interface a PC3200 DDR
>> DIMM to an XC2VP30 that can sustain anywhere from 100% read to 100% write
> and my
>> preliminary data says this is pretty expensive: my final memory controller
> will consume
>> about 40 BRAMs out of 136. About half of the BRAM cost comes from the quad
> x36 internal
>> memory ring bus controllers' FIFOs and most of the other half comes from
> the dual-ported
>> back-end's 128bits wide FIFOs. This design is overkill for a VP30 but I am
> currently
>> unemployed so I am simply killing time by doing something that may be
> useful later - or at
>> the very least instructive since I have never interfaced DRAMs directly
> before.
>> If your DRAMs provide you only a 32bits-wide data bus and you can operate
> your internal
>> data path at twice the DDR clock, things get much simpler and smaller. A 0
> BRAM memory
>> controller would be possible under these conditions... but I'd still slap
> on a BRAM FIFO
>> or three (local RX, local TX, pass-through) with extra logic to 'ringify'
> it if more than
>> one or two function blocks are going to share access.
> 
> Thanks a lot Daniel. Actually, I am still quite new to fpga but I have been
> just tasked with this very difficult project (of video scaling), at least to
> me. Somehow I am to solve the problems of the block rams. (In addition, I
> didn't mention that I would also have to convert the DSP48s used in the
> Virtex to using the CLB in the Spartan).
> 
> Well, anyway, been much help, at least I understand there is a probable
> chance of using the DDR SDRAM as block rams replacements. (Though I suspect
> there is also speed problems for doing so)
> 
> Oh great attitude there, imo, on keeping on doing useful things!

Spartan 3 has hardware multipliers, so you are not entirely stuck with doing everything in 
CLBs... only the accumulate, multiplexing and few other unique features you might not have 
used. If you inferred those DSPs, you should not need to do anything in particular for the 
Spartan switch.

For the DRAMs, first estimate the peak bandwidth you need and the best-case the memory you 
have can do. If your requirement is less than 75% of your memory's theoretical maximum, it 
should be doable with a relatively simple memory controller but you will most likely have 
to re-think your pipeline to accomodate the extra latency: you will at least have to add 
logic to prefetch data and BRAMs to buffer both the input(s) and output(s). You can start 
with pipelined bursts of eight words to do full-row transfers to start - video 
applications can usually be made very compatible with full-row transfers. For more random 
memory access patterns, bank interleaving and hiding precharge/activate behind burst 
transfers to other banks is practically mandatory to achieve better than 50%.

Experience with DRAMs is often listed as an asset on jobs I am looking at so I am trying 
to complete a relevant design in case I get an interview for one of these. Things are 
progressing slowly and I am expecting lots of grief from the IOB side, in part due to 
inexperience and in part because the V2Pro's IOBs appear to be more quirky than the V4s I 
have worked on last year.

Article: 116815
Subject: Re: Jam STAPL Player extensions
From: cs_posting@hotmail.com
Date: 19 Mar 2007 06:30:27 -0700
Links: << >>  << T >>  << A >>
On Mar 19, 5:45 am, Wojciech Zabolotny <w...@ise.pw.edu.pl> wrote:

> I have sent to alt.sources very "quick & dirty" extensions to Altera's
> Jam STAPL Player, allowing it to work with multiple JTAG chains
> interfaced with SCANSTA111 bridge, and making programming faster, when
> using a fast, but high latency interface (like some kinds of VME
> or USB).
> The main idea is to cache JTAG writes, and use block transfer to
> speed up programming (however the interface itself or th receiving side
> must take care of the appropriate timing).
> The code is placed as public domain. No warranty at all. If anybody
> finds it useful, or at least inspiring, I'll be glad.

Very interesting - I may have to take a look at that as I've crudely
done something very similar, intended only for rare usage but am now
using it enough that it would be worth getting right.

Major question though: how are you building it?  What compiler, and
have you come up with a sane Makefile?  GCC (win32) produced
irreconcilable errors.  Haven't been able to make it into a sensible
visual C project, though visual C will process the makefile - so I can
compile it, but as a sort of ugly end-run around the IDE's concept of
a project.


Article: 116816
Subject: Re: Jam STAPL Player extensions
From: "wzab" <wzab01@gmail.com>
Date: 19 Mar 2007 06:53:27 -0700
Links: << >>  << T >>  << A >>
On 19 Mar, 14:30, cs_post...@hotmail.com wrote:

> Major question though: how are you building it?  What compiler, and
> have you come up with a sane Makefile?  GCC (win32) produced
> irreconcilable errors.  Haven't been able to make it into a sensible
> visual C project, though visual C will process the makefile - so I can
> compile it, but as a sort of ugly end-run around the IDE's concept of
> a project.

I use Linux, so I don't know about any Windows-specific questions...

The file being the final part of the message is the "shar" archive, so
you need
to use something like "$unshare < saved_message.txt" to recover the
files my_jtag.h and my_jtag.c .
To compile the files themselves you may use just:
$gcc -c my_jtag.c
However to make full use of this sources you also need to download Jam
STAPL Player
sources, modify the names of the replaced functions, implement your
low level I/O routines,
modify the makefile to include the my_jtag.o and so on...

So this is rather a draft of the solution, not the complete solution.

The full solution has been tested with VME and CAEN controller, but
I'm afraid
I can not publish it.

I'm going to write the USB based JTAG programmer with simple
microcontroller and the modified
Jam Player on the PC side, but I have no time to finish the design :-
( (it will be GPL'ed).
--
Regards, Wojtek


Article: 116817
Subject: QuickSilver's ACM architecture
From: "Anne" <anneatkinson@yahoo.com>
Date: 19 Mar 2007 06:53:31 -0700
Links: << >>  << T >>  << A >>
I am seeking information on QuickSilver Technology's "Adaptive
Computing System" framework.  Their infrastructure sounded like it
would be a really good fit for some work we are doing at NASA MSFC.
It appears QuickSilver closed up shop in early 2005...  Is anyone here
familiar with their architecture framework, and if so, is it still
available in any form?  Were they any platforms that actually
successfully used their offerings?

I'd appreciate any information anyone could provide.
Thanks,
Anne
anne.l.atkinson@nasa.gov


Article: 116818
Subject: Re: Jam STAPL Player extensions
From: cs_posting@hotmail.com
Date: 19 Mar 2007 07:15:33 -0700
Links: << >>  << T >>  << A >>
On Mar 19, 8:53 am, "wzab" <wza...@gmail.com> wrote:
> On 19 Mar, 14:30, cs_post...@hotmail.com wrote:
>
> > Major question though: how are you building it?  What compiler, and
> > have you come up with a sane Makefile?  GCC (win32) produced
> > irreconcilable errors.

> To compile the files themselves you may use just:
> $gcc -c my_jtag.c
> However to make full use of this sources you also need to download Jam
> STAPL Player
> sources, modify the names of the replaced functions, implement your
> low level I/O routines,
> modify the makefile to include the my_jtag.o and so on...

So you were able to get some unix make utility and GCC to process the
included makefile for the jam player?

I couldn't get the combination of GNU make (cygwin win32) and GCC
(cygwin win32) to do so (a bunch of wierd errors about circular
definitions) which is what prompted my question.


Article: 116819
Subject: Re: sum of array
From: "VHDL_HELP" <abaidik@gmail.com>
Date: 19 Mar 2007 07:19:03 -0700
Links: << >>  << T >>  << A >>
On 16 mar, 16:53, Jonathan Bromley <jonathan.brom...@MYCOMPANY.com>
wrote:
> On Fri, 16 Mar 2007 08:14:18 -0700, "John_H"
>
> <newsgr...@johnhandwork.com> wrote:
> >"VHDL_HELP" <abai...@gmail.com> wrote in message
> >news:1174054292.325732.224840@y80g2000hsf.googlegroups.com...
> ><snip>
> >> -----------------------------
> >> this is my problem:
> >> for the s(0) , s(1) , s(2) and s(3)  it gives me the numbers but for s
> >> in simulation i have as a result 4'hU and 4'hX
>
> >is there *anything* that might go wrong with the addition given
> >the libraries he has specified?
>
> Don't think so (although my dislike of STD_LOGIC_UNSIGNED
> is well enough known by now).
>
> The problem is simpler:  SEQ_LOOP is an infinite loop
> containing an implicit state machine.  The loop exits
> only when reset is asserted.  If reset is held false, the
> loop continues to iterate and the final assignment
> is never executed, so 's' is never updated.
>
> Could we please find the tutor (or book writer, or other
> "authority") who is teaching beginners to use this
> form of implicit state machine, and string him/her
> up by a rope tied around some sensitive appendage?
>
> It makes my blood boil so much that I'm willing to post
> the (obvious, simple) code that works - assuming
> the use of NUMERIC_STD instead of STD_LOGIC_ARITH:
>
> process (clk, reset)
>   subtype T_chiffre is unsigned(3 downto 0);
>   type T_tableau4x4 is array (0 to 3) of T_chiffre;
>   variable lieu: unsigned(1 downto 0);
>   variable t: T_tableau4x4;
>   variable somme: T_chiffre;
> begin
>   if reset =3D '1' then
>     -- remettre tout =E0 zero
>     lieu :=3D "00";
>     t :=3D (others =3D> (others =3D> '0'));
>     clk_out <=3D '0';
>     s <=3D (others =3D> '0');
>   elsif rising_edge(clk) then
>     -- faire le somme en ajoutant chaque numero memoris=E9
>     somme :=3D (others =3D> '0');
>     for i in t'range loop
>       somme :=3D somme + t(i);
>     end loop;
>     -- mettre le somme en m=E9moire "s"
>     s <=3D somme;
>     -- sauvegarder le num=E9ro prochain
>     t(to_unsigned(lieu)) :=3D en;
>     -- ??? horloge /2 ???
>     clk_out <=3D not lieu(0);
>     -- pr=E9parer pour boucle prochain
>     lieu :=3D lieu + 1;
>   end if;
> end process;
>
> Beware of arithmetic overflow.  Output gives the sum of the
> most recently seen 4 values.  I have no idea why you want
> clk_out.
> --
> Jonathan Bromley, Consultant
>
> DOULOS - Developing Design Know-how
> VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services
>
> Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
> jonathan.brom...@MYCOMPANY.comhttp://www.MYCOMPANY.com
>
> The contents of this message may contain personal views which
> are not the views of Doulos Ltd., unless specifically stated.

hi every body ,
i want to say thank you for all of u and this program can do the sum
that i want
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity som is
    Port ( clk : in  STD_LOGIC;
           reset : in  STD_LOGIC;
           en : in  STD_LOGIC_VECTOR (2 downto 0);
           clk_out : out  STD_LOGIC;
			  so : out  STD_LOGIC_VECTOR (3 downto 0);
           sor : out  STD_LOGIC_VECTOR (3 downto 0));
end som;

architecture Behavioral of som is
TYPE TAB IS ARRAY(3 DOWNTO 0) OF STD_LOGIC_VECTOR(2 DOWNTO 0);
signal t:TAB;
SIGNAL s:STD_LOGIC_VECTOR (3 downto 0):=3D"0000";
begin
 process
   begin
     seq:loop
     wait until clk'event and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '1';
   t(0) <=3D en;

   wait until clk'event  and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '0';
   t(1) <=3D en;

   wait until clk'event and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '1';
   t(2) <=3D en;

   wait until clk'event  and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '0';
   t(3) <=3D en;
 ----- Mettre les =E9l=E9ments de tableau en sortie
       wait until clk'event and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '1';


   wait until clk'event and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '0';


   wait until clk'event and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '1';


   wait until clk'event and clk =3D '1';
     exit seq when reset =3D'1';
   clk_out <=3D '0';

   end loop;
	if reset =3D '1' then
	clk_out <=3D '0';
		s <=3D '0' & t(0) + t(1) +  t(2) + t(3);
      so <=3D s;
	end if;
 end process;
end Behavioral;

--- thank you again


Article: 116820
Subject: Re: Xilinx XST 9.1, Verilog 2-D arrays, always @*
From: "Duth" <premduth@gmail.com>
Date: 19 Mar 2007 07:28:46 -0700
Links: << >>  << T >>  << A >>
On Mar 19, 6:59 am, "Homuncilus" <Sha.Cr...@gmail.com> wrote:
> On Mar 19, 11:00 am, "John McGrath" <tail...@gmail.com> wrote:
>
>
>
> > On Mar 16, 11:28 pm, "Ulsk" <a...@ljs.com> wrote:
>
> > > I noticed XST 9.1 still doesn't support multi-dim arrays in an always @*
> > > block.
> > > Here's a (perhaps poor) example:
>
> > > reg  signed [15:0] table [0:255];
> > > reg  signed [23:0] sum;
>
> > > integer i;
> > > always @*
> > > begin
> > >   sum = 0;
> > >   for ( i =0; i < 256; i = i + 1 )
> > >     sum = sum + table[i];  // yes, I know this will synthesize a suboptimal
> > > imbalanced adder-tree!
> > > end
>
> > Correct me if I'm wrong, but I believe that this is not valid verilog
> > - you cannot use an array as a term in the always() sensitivity list,
> > and the always* implies that the array is in the sensitivity list. I
> > know that the ncverilogsimulatorwarns about this (but does work). It
> > states that this is non-portable verilog. Synopsys DC does indeed
> > synthesize this correctly, but it's not a good idea to use non-
> > standard verilog statements.ISEseems to err on the side of adhering
> > to the strict rules of the verilog language. I could be wrong about
> > this, but from the warning given by ncverilog, I believe this to be
> > the case. Maybe try a verilog linting tool? formality/conformal should
> > set you straight, if you have them.
> > Cheers
> > John
>
> I think the wrong isn't due to the sensitivity list. Do you sure the
> error inISEis caused by that?

Hi,

This is something that was supposed to be supported in ISE XST in
9.1i, although the change did not make it in time.

Thanks
Duth


Article: 116821
Subject: Re: Xilinx XST 9.1, Verilog 2-D arrays, always @*
From: "John McGrath" <tails4e@gmail.com>
Date: 19 Mar 2007 07:31:08 -0700
Links: << >>  << T >>  << A >>
On Mar 19, 5:59 am, "Homuncilus" <Sha.Cr...@gmail.com> wrote:
> On Mar 19, 11:00 am, "John McGrath" <tail...@gmail.com> wrote:
>
>
>
> > On Mar 16, 11:28 pm, "Ulsk" <a...@ljs.com> wrote:
>
> > > I noticed XST 9.1 still doesn't support multi-dim arrays in an always @*
> > > block.
> > > Here's a (perhaps poor) example:
>
> > > reg  signed [15:0] table [0:255];
> > > reg  signed [23:0] sum;
>
> > > integer i;
> > > always @*
> > > begin
> > >   sum = 0;
> > >   for ( i =0; i < 256; i = i + 1 )
> > >     sum = sum + table[i];  // yes, I know this will synthesize a suboptimal
> > > imbalanced adder-tree!
> > > end
>
> > Correct me if I'm wrong, but I believe that this is not valid verilog
> > - you cannot use an array as a term in the always() sensitivity list,
> > and the always* implies that the array is in the sensitivity list. I
> > know that the ncverilog simulator warns about this (but does work). It
> > states that this is non-portable verilog. Synopsys DC does indeed
> > synthesize this correctly, but it's not a good idea to use non-
> > standard verilog statements. ISE seems to err on the side of adhering
> > to the strict rules of the verilog language. I could be wrong about
> > this, but from the warning given by ncverilog, I believe this to be
> > the case. Maybe try a verilog linting tool? formality/conformal should
> > set you straight, if you have them.
> > Cheers
> > John
>
> I think the wrong isn't due to the sensitivity list. Do you sure the
> error in ISE is caused by that?

I ran the following testcase through ncverilog:

module test;

reg [7:0] array [0:7];
reg [2:0] idx;
reg [7:0] out;

always@*
begin
	out = array[idx];
end

endmodule


The logfile gives the following warnings:

always@*
      |
ncvlog: *W,STARMR (array.v,8|6): @* containing memory reference not
standard or portable.
        out = array[idx];
ncvlog: *W,MRSTAR (array.v,10|11): memory reference that was not
standard in @*.
        module worklib.test:v

So clearly always @* when used with an array is non part of the
verilog standard.

Cheers
John


Article: 116822
Subject: Re: Xilinx XST 9.1, Verilog 2-D arrays, always @*
From: "bluesclues" <deepak.lala@gmail.com>
Date: 19 Mar 2007 07:35:44 -0700
Links: << >>  << T >>  << A >>
On Mar 19, 7:31 am, "John McGrath" <tail...@gmail.com> wrote:
> On Mar 19, 5:59 am, "Homuncilus" <Sha.Cr...@gmail.com> wrote:
>
>
>
> > On Mar 19, 11:00 am, "John McGrath" <tail...@gmail.com> wrote:
>
> > > On Mar 16, 11:28 pm, "Ulsk" <a...@ljs.com> wrote:
>
> > > > I noticed XST 9.1 still doesn't support multi-dim arrays in an always @*
> > > > block.
> > > > Here's a (perhaps poor) example:
>
> > > > reg  signed [15:0] table [0:255];
> > > > reg  signed [23:0] sum;
>
> > > > integer i;
> > > > always @*
> > > > begin
> > > >   sum = 0;
> > > >   for ( i =0; i < 256; i = i + 1 )
> > > >     sum = sum + table[i];  // yes, I know this will synthesize a suboptimal
> > > > imbalanced adder-tree!
> > > > end
>
> > > Correct me if I'm wrong, but I believe that this is not valid verilog
> > > - you cannot use an array as a term in the always() sensitivity list,
> > > and the always* implies that the array is in the sensitivity list. I
> > > know that the ncverilog simulator warns about this (but does work). It
> > > states that this is non-portable verilog. Synopsys DC does indeed
> > > synthesize this correctly, but it's not a good idea to use non-
> > > standard verilog statements. ISE seems to err on the side of adhering
> > > to the strict rules of the verilog language. I could be wrong about
> > > this, but from the warning given by ncverilog, I believe this to be
> > > the case. Maybe try a verilog linting tool? formality/conformal should
> > > set you straight, if you have them.
> > > Cheers
> > > John
>
> > I think the wrong isn't due to the sensitivity list. Do you sure the
> > error in ISE is caused by that?
>
> I ran the following testcase through ncverilog:
>
> module test;
>
> reg [7:0] array [0:7];
> reg [2:0] idx;
> reg [7:0] out;
>
> always@*
> begin
>         out = array[idx];
> end
>
> endmodule
>
> The logfile gives the following warnings:
>
> always@*
>       |
> ncvlog: *W,STARMR (array.v,8|6): @* containing memory reference not
> standard or portable.
>         out = array[idx];
> ncvlog: *W,MRSTAR (array.v,10|11): memory reference that was not
> standard in @*.
>         module worklib.test:v
>
> So clearly always @* when used with an array is non part of the
> verilog standard.
>
> Cheers
> John


You could alternately use:

always @(idx) in place of always@*


Article: 116823
Subject: Re: Xilinx XST 9.1, Verilog 2-D arrays, always @*
From: "John McGrath" <tails4e@gmail.com>
Date: 19 Mar 2007 08:08:43 -0700
Links: << >>  << T >>  << A >>
On Mar 19, 7:35 am, "bluesclues" <deepak.l...@gmail.com> wrote:
> On Mar 19, 7:31 am, "John McGrath" <tail...@gmail.com> wrote:
>
>
>
> > On Mar 19, 5:59 am, "Homuncilus" <Sha.Cr...@gmail.com> wrote:
>
> > > On Mar 19, 11:00 am, "John McGrath" <tail...@gmail.com> wrote:
>
> > > > On Mar 16, 11:28 pm, "Ulsk" <a...@ljs.com> wrote:
>
> > > > > I noticed XST 9.1 still doesn't support multi-dim arrays in an always @*
> > > > > block.
> > > > > Here's a (perhaps poor) example:
>
> > > > > reg  signed [15:0] table [0:255];
> > > > > reg  signed [23:0] sum;
>
> > > > > integer i;
> > > > > always @*
> > > > > begin
> > > > >   sum = 0;
> > > > >   for ( i =0; i < 256; i = i + 1 )
> > > > >     sum = sum + table[i];  // yes, I know this will synthesize a suboptimal
> > > > > imbalanced adder-tree!
> > > > > end
>
> > > > Correct me if I'm wrong, but I believe that this is not valid verilog
> > > > - you cannot use an array as a term in the always() sensitivity list,
> > > > and the always* implies that the array is in the sensitivity list. I
> > > > know that the ncverilog simulator warns about this (but does work). It
> > > > states that this is non-portable verilog. Synopsys DC does indeed
> > > > synthesize this correctly, but it's not a good idea to use non-
> > > > standard verilog statements. ISE seems to err on the side of adhering
> > > > to the strict rules of the verilog language. I could be wrong about
> > > > this, but from the warning given by ncverilog, I believe this to be
> > > > the case. Maybe try a verilog linting tool? formality/conformal should
> > > > set you straight, if you have them.
> > > > Cheers
> > > > John
>
> > > I think the wrong isn't due to the sensitivity list. Do you sure the
> > > error in ISE is caused by that?
>
> > I ran the following testcase through ncverilog:
>
> > module test;
>
> > reg [7:0] array [0:7];
> > reg [2:0] idx;
> > reg [7:0] out;
>
> > always@*
> > begin
> >         out = array[idx];
> > end
>
> > endmodule
>
> > The logfile gives the following warnings:
>
> > always@*
> >       |
> > ncvlog: *W,STARMR (array.v,8|6): @* containing memory reference not
> > standard or portable.
> >         out = array[idx];
> > ncvlog: *W,MRSTAR (array.v,10|11): memory reference that was not
> > standard in @*.
> >         module worklib.test:v
>
> > So clearly always @* when used with an array is non part of the
> > verilog standard.
>
> > Cheers
> > John
>
> You could alternately use:
>
> always @(idx) in place of always@*

Maybe, but it would not work if the contents of the array were updated
by a different process, independent of idx.
I'm not sure how this would be syntesized - It may infer latches on
the output, or error out. I'd be interested to see what happens

Personally, for this example (asynch read of array elements) I'd use a
continuous assignment.

But personally I think verilog language should support @* in an array
context, it works in all other contexts, and prevents unintentional
latch inferral.
As we can see from Duth, this will be added to ISE soon, and some
other tools support it too, but they just warn that it is not strictly
part of the standard.

Cheers
John


Article: 116824
Subject: direct access on opb_emc
From: "cpope" <cepope@nc.rr.com>
Date: Mon, 19 Mar 2007 10:15:13 -0500
Links: << >>  << T >>  << A >>
I have a usb phy chip sitting on my opb_emc. I always have to use XIo_Out
and XIo_In to access. Direct read/write to these addresses doesn't work. My
problem is the access time is 100x slower than it should be. Howdo I get
down to the access time the chip demands (50 ns)?

Thanks,
Clark





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