From: jbnote on

> Memory leaks come from sloppy programmers. Not fixing memory leaks
> comes from lazy or incompetent programmers.

Even incompetent programmers can manage this. The use of valgrind
[http://www.valgrind.org] will pinpoint memory leaks right to the line
where the allocation was made. It runs on unmodified software. This
would be, oh, one hour work maximum if you have the source.

JB

From: bgshea on
I don't doubt what you are saying about the memory leaks. However, i
have to take in to consideration JAVA, which has no real memory
management, and by this i mean you cannot malloc and free memory,
rather it relys on the fact that you use the new and delete operators.
But even then if it suspects that a block of memory is going to be used
it will not let it go.

As much as i love Firefox it suffers from the same memory leak issues.
About once every 3 or 4 days i have to close out all browsers and free
up about 600MB of memory.

I also cannot blame Xilinx for using JAVA, as it works on my Linux
x86_64 AMD machine (at least i could start the project navagator) with
very little fuss.

I also agree version 8 was a step backward, it added some new icons,
design partitions and a whole bunch of nothing usefull. I have never
had the pleasure of using 6.3 in depth, when i got in to CPLD/FPGAs,
(early 2000) i used CUPL on an Altera Device, and needless to say it
worked very well as a glue logic chip. I think i used Xilinx 6.3 for
about one or 2 months before 7.1 appeared and quiclky switched.

Right now, i would like to find a good method of using the Xilinx
Tools, since I'm using their FPGAs, to conduct long term hardware
validations without restarting all the tools about once every 10
builds. Yes, i know that i am probably not doing this 100% right and
more simulation could lead to less building but, if i had all the time
in the world to complete my projects i would simulate every last aspect
including my drive to work to ensure it would not effect my coding
style that day, you get what i mean.

So, I ask Martin, as he posted a method of using build scripts, if you
could even if in part, post some of what you use, that might benefit
the community here. I would certainly build on those scripts and post
them back.

I still have not received a difinitive answer to a key question i had
posted, if anyone knows, can you provide some light on the subject.

Does Xilinx use it's own canned JRE or does it use the installed JRE?

I have just downloaded and installed Java SE Runtime Environment 6 from
Sun, maybe it will help maybe not.

--Brian

On Jan 23, 2:57 pm, "jbnote" <jbn...(a)gmail.com> wrote:
> > Memory leaks come from sloppy programmers. Not fixing memory leaks
> > comes from lazy or incompetent programmers.Even incompetent programmers can manage this. The use of valgrind
> [http://www.valgrind.org] will pinpoint memory leaks right to the line
> where the allocation was made. It runs on unmodified software. This
> would be, oh, one hour work maximum if you have the source.
>
> JB

From: Sean Durkin on
bgshea wrote:
> WOW, thanks everyone for the input. I'm going to dig though this info
> and esp. the links provided.
>
> I would love to see some linux build scripts. I love EMACS!! and use it
> for all my c/c++ developement in linux. However, i don't have a PC to
> space in my office for linux yet. But i can certainly try on one of my
> personal Linux boxes.
Xemacs including VHDL mode is available for Windows as well. And you can
install Cygwin (http://www.cygwin.com) on any Windows box to get an
almost complete UNIX-like environment, with Bash, grep, sed, awk, make,
Perl, whatever you need to run build scripts.

cu,
Sean

--
My email address is only valid until the end of the month.
Go figure what the address is going to be after that...
From: Phil Hays on
bgshea wrote:

> ISE has been, IMHO, going down hill. With each new release the projects
> become backward incompatible.

Perhaps you should try script based builds such Tcl or makefiles, and use
a source control program such as SVN.

Tcl or "tool control language" is a industry standard language. Documented
Tcl was new with 8.2, and in my never humble opinion was a big step
forward. I've taken a design I'm working on between 8.2 and 9.1 and back
again several times without changing the Tcl script. Nice section on Tcl
in the manual.


A source control program will allow you to have access to any past
revision of your code, to show the differences between each revision,
allow changes to be reverted (or backed out). It also makes it easier to
work on multiple machines, or for multiple people to work on the same
design.

http://subversion.tigris.org/

As you like emacs, you might also like this:

http://www.xsteve.at/prg/vc_svn/index.html


--
Phil Hays (Xilinx, but always speaking for myself)
From: Sean Durkin on
doug wrote:
> ISE has been an experience. By version 6.3 it was reasonably
> good. It did what I wanted and did not cause too much trouble.
> Version 7 was a huge step backwards. Project navigator got user
> surly and very slow. Whoever did the design never used it for
> anything. Version 8 reached a new low. The stupid design to
> change the project files, later partly removed, made for lots of
> headaches.

I think the main problem is that Xilinx releases new ISE versions in a
predefined schedule, as Austin mentioned in Antti's thread about
non-volatile Xilinx-FPGAs. A new ISE release comes out regularly, not
when it's done. But on the other hand, it doesn't make sense to release
a new version, when there's nothing new in it. The marketing department
has to brag about it being another 30% faster than the previous release,
having gazillions of new features, and so on.
This approach results in the software department always being busy
integrating new features so they can make the fixed deadline for the new
software release, resulting in software that's usually not usable until
three service packs later, and just when it finally *IS* usable, support
is dropped because the next release comes out and it all starts over again.

Sometimes you get the idea that a new ISE is not just a new software
version, but an entirely new product. Maybe it was just quicker to start
from scratch than to fix what was already there. And then you get
effects like bugs that were fixed in 7.1 re-appearing in 8.1 and things
like that...

We had a Xilinx FAE here in late November, introducing us to Virtex-5,
and when the topic of bugs in ISE came up, he actually said that we
needn't bother sending in bug reports now, since the entire software
department at Xilinx was now scrambling to make the deadline for the 9.1
release and nothing would really happen until after that anyway. And bug
reports for ISE8.2 were useless anyway, since all the work is going into
9.1 now...

Add to this the additional support for Linux (which wasn't there before
6.3, I believe, and which I highly appreciate, BTW), and you get a
situation where even competent programmers can't produce decent
software, IMHO.

What is it with that regular release cycle? Does any other FPGA
manufacturer do this? Or any other software company? What good is it?
Customers have licenses, that are valid for one year, so you have to pop
out one release a year so they get something for their money or what? I
don't really get it. Software-quality-wise it does not make sense at all
IMHO.

And then things like Antti mentioned happen: ISE9.1 is out, and it has
support for devices that aren't even announced yet, i.e. no small
customer is going to get for another year anyway. Why not just fix some
bugs instead of integrating phantom devices? Why not just fix what's
broken instead of adding even more new stuff that's broken as well?

Partial reconfiguration is another example. I've been fiddling around
with this since ISE4, gave up with ISE7, since I always ran into some
"FATAL_ERROR"-thingies that "will be fixed in the next service pack" or
"will be fixed in the next ISE release", but never were. Now with
software radio being a high-volume-application, they seem to have fixed
it, but only in specially patched ISE8-versions you have to get through
your FAE.

And does anyone besides me think that it's ridiculous to release the
first service pack only days after the software? Doesn't that in itself
tell you that obviously the software wasn't ready to be released in the
first place? Service pack sizes of > 300MB, where basically every single
file in the installation is replaced, aren't a good sign either.

--
My email address is only valid until the end of the month.
Go figure what the address is going to be after that...