FPGARelated.com
Forums

Why does Xilinx hate version control?

Started by Jake Janovetz March 13, 2006
Is there some internal Xilinx conspiracy against source code management 
like SVN (subversion) and CVS?  Or is it that the Xilinx guys don't use 
version control to understand the goals?

ISE 6.x used ".npl" files to contain the project information.  These 
were text-based making them at least somewhat SCM-friendly, but they 
changed each and every time you saved the project even if nothing 
changed.  Some date code changed.  Thus requiring an update...

ISE 7.x came along and, even when the rest of the world was switching to 
XML because of all the problems with binary config files, Xilinx decided 
to move to a binary format ".ise" from it's .npl files.  Now, each SCM 
checkin required the whole binary file to be checked in each time rather 
than just diffs (like the ISE 6.x days).

ISE 8.x came along and the conspiracy became clearer.  Xilinx held on to 
its binary format but has apparently added a LOT more to the file.  Now, 
it's almost 1 MB!!!  This means that my SCM repository grows by 1 MB 
EACH TIME I do a checkin if I include the ISE file.  That's ridiculous!


PLEASE Xilinx, be learn about CVS, SVN, and others, and how to design 
file formats for SCM.  Also, place all temporary files in a temp 
directory and stop spamming my project directory.  Oh, and one more 
thing -- it would be nice to know which files from a CORE are necessary 
to the project.  Each CORE generates almost a dozen files and I'd rather 
not add all of them to SCM.

    Jake
Jake Janovetz wrote:

> Is there some internal Xilinx conspiracy against source code management > like SVN (subversion) and CVS? Or is it that the Xilinx guys don't use > version control to understand the goals? > > ISE 6.x used ".npl" files to contain the project information. These > were text-based making them at least somewhat SCM-friendly, but they > changed each and every time you saved the project even if nothing > changed. Some date code changed. Thus requiring an update... > > ISE 7.x came along and, even when the rest of the world was switching to > XML because of all the problems with binary config files, Xilinx decided > to move to a binary format ".ise" from it's .npl files. Now, each SCM > checkin required the whole binary file to be checked in each time rather > than just diffs (like the ISE 6.x days). > > ISE 8.x came along and the conspiracy became clearer. Xilinx held on to > its binary format but has apparently added a LOT more to the file. Now, > it's almost 1 MB!!! This means that my SCM repository grows by 1 MB > EACH TIME I do a checkin if I include the ISE file. That's ridiculous! > > > PLEASE Xilinx, be learn about CVS, SVN, and others, and how to design > file formats for SCM. Also, place all temporary files in a temp > directory and stop spamming my project directory. Oh, and one more > thing -- it would be nice to know which files from a CORE are necessary > to the project. Each CORE generates almost a dozen files and I'd rather > not add all of them to SCM. > > Jake
I don't know if it's possible with the 8.x tools, but I detest IDE's so I figured out how to do it all with the command line tools. Thus, no npl files, no weirdo unexpected file changes, clean checkins, etc., etc., etc. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/
On Mon, 13 Mar 2006 09:09:33 -0800, Tim Wescott <tim@seemywebsite.com>
wrote:

>Jake Janovetz wrote: > >> Is there some internal Xilinx conspiracy against source code management >> like SVN (subversion) and CVS? Or is it that the Xilinx guys don't use >> version control to understand the goals? >> >> ISE 6.x used ".npl" files to contain the project information. These >> were text-based making them at least somewhat SCM-friendly, but they >> changed each and every time you saved the project even if nothing >> changed. Some date code changed. Thus requiring an update... >> >> ISE 7.x came along and, even when the rest of the world was switching to >> XML because of all the problems with binary config files, Xilinx decided >> to move to a binary format ".ise" from it's .npl files. Now, each SCM >> checkin required the whole binary file to be checked in each time rather >> than just diffs (like the ISE 6.x days). >> >> ISE 8.x came along and the conspiracy became clearer. Xilinx held on to >> its binary format but has apparently added a LOT more to the file. Now, >> it's almost 1 MB!!! This means that my SCM repository grows by 1 MB >> EACH TIME I do a checkin if I include the ISE file. That's ridiculous! >> >> >> PLEASE Xilinx, be learn about CVS, SVN, and others, and how to design >> file formats for SCM. Also, place all temporary files in a temp >> directory and stop spamming my project directory. Oh, and one more >> thing -- it would be nice to know which files from a CORE are necessary >> to the project. Each CORE generates almost a dozen files and I'd rather >> not add all of them to SCM. >> >> Jake > >I don't know if it's possible with the 8.x tools, but I detest IDE's so >I figured out how to do it all with the command line tools. Thus, no >npl files, no weirdo unexpected file changes, clean checkins, etc., >etc., etc.
I agree: I use the command line tools, which leaves me free to use any source control system I want. A question for the many folks who use the IDE: what does it really buy you that the command tools don't? Bob Perlman Cambrian Design Works
Bob Perlman wrote:
> On Mon, 13 Mar 2006 09:09:33 -0800, Tim Wescott <tim@seemywebsite.com> > wrote: > > >Jake Janovetz wrote: > > > >> Is there some internal Xilinx conspiracy against source code management > >> like SVN (subversion) and CVS? Or is it that the Xilinx guys don't use > >> version control to understand the goals? > >> > >> ISE 6.x used ".npl" files to contain the project information. These > >> were text-based making them at least somewhat SCM-friendly, but they > >> changed each and every time you saved the project even if nothing > >> changed. Some date code changed. Thus requiring an update... > >> > >> ISE 7.x came along and, even when the rest of the world was switching to > >> XML because of all the problems with binary config files, Xilinx decided > >> to move to a binary format ".ise" from it's .npl files. Now, each SCM > >> checkin required the whole binary file to be checked in each time rather > >> than just diffs (like the ISE 6.x days). > >> > >> ISE 8.x came along and the conspiracy became clearer. Xilinx held on to > >> its binary format but has apparently added a LOT more to the file. Now, > >> it's almost 1 MB!!! This means that my SCM repository grows by 1 MB > >> EACH TIME I do a checkin if I include the ISE file. That's ridiculous! > >> > >> > >> PLEASE Xilinx, be learn about CVS, SVN, and others, and how to design > >> file formats for SCM. Also, place all temporary files in a temp > >> directory and stop spamming my project directory. Oh, and one more > >> thing -- it would be nice to know which files from a CORE are necessary > >> to the project. Each CORE generates almost a dozen files and I'd rather > >> not add all of them to SCM. > >> > >> Jake > > > >I don't know if it's possible with the 8.x tools, but I detest IDE's so > >I figured out how to do it all with the command line tools. Thus, no > >npl files, no weirdo unexpected file changes, clean checkins, etc., > >etc., etc. > > I agree: I use the command line tools, which leaves me free to use any > source control system I want. > > A question for the many folks who use the IDE: what does it really buy > you that the command tools don't? > > Bob Perlman > Cambrian Design Works
Ease of use, click and compile. Very simple and no trouble. I guess I am a newbie, but back when I had my 386SX I used DOS (no Win3.1 for me :) ) so command lines really are not a detterent for me. Plus I hate looking up command line parameters to perform a certain function, it becomes a pain. -Isaac
I, too, prefer command line tools for many things.  Unfortunately, when 
I moved to Windows out of necessity (CAD software mainly), I realized 
that the environment is just CL-hostile.

Customers and clients like to get nicely packaged projects that are easy 
to startup and rebuild.  IDEs favor that.

Also, I've taken a new appreciation to well-designed IDEs.  They can 
save a lot of time for those of us that spend our day shuffling among 
dozens of tools.  I just don't have the bandwidth any more to learn all 
the options and remember them for so many tools and languages.  A good 
IDE is nice.  Xilinx ISE tools are by far the worst tools I use at the 
moment.

They should completely ditch their ISE line and build an Eclipse plugin 
for their stuff.  Eclipse is a fantastic environment.

    Jake



> I agree: I use the command line tools, which leaves me free to use any > source control system I want. > > A question for the many folks who use the IDE: what does it really buy > you that the command tools don't? > > Bob Perlman > Cambrian Design Works >
Jake Janovetz wrote:
> Is there some internal Xilinx conspiracy against source code management > like SVN (subversion) and CVS? Or is it that the Xilinx guys don't use > version control to understand the goals? > > ISE 6.x used ".npl" files to contain the project information. These > were text-based making them at least somewhat SCM-friendly, but they > changed each and every time you saved the project even if nothing > changed. Some date code changed. Thus requiring an update... > > ISE 7.x came along and, even when the rest of the world was switching to > XML because of all the problems with binary config files, Xilinx decided > to move to a binary format ".ise" from it's .npl files. Now, each SCM > checkin required the whole binary file to be checked in each time rather > than just diffs (like the ISE 6.x days). > > ISE 8.x came along and the conspiracy became clearer. Xilinx held on to > its binary format but has apparently added a LOT more to the file. Now, > it's almost 1 MB!!! This means that my SCM repository grows by 1 MB > EACH TIME I do a checkin if I include the ISE file. That's ridiculous! > > PLEASE Xilinx, be learn about CVS, SVN, and others, and how to design > file formats for SCM. Also, place all temporary files in a temp > directory and stop spamming my project directory. Oh, and one more > thing -- it would be nice to know which files from a CORE are necessary > to the project. Each CORE generates almost a dozen files and I'd rather > not add all of them to SCM.
I'm a subversion user, and I've been complain' about this for a couple of years now. Not only about the binary formats that change between major revs, but also the stupid default directory structure. You would think that Xilinx would "eat their own dog food," but every time you talk to an FAE they always say, "I'm a Real Man -- I never use the GUI, only the command line." So it's not likely you'll get support from the FAEs. Yes, Xilinx: users WANT to keep the HDL sources in one directory (I call this "src", the FPGA build instructions/"project" file/constraints files in another directory ("fitter"), the testbench sources and controls in a third directory ("testbench"), etc. Put build results in a TEMP directory below the "fitter" directory, please. At least there's usually an option to "reference source file from current location" instead of the stupid tools copying the source to the same directory as the project file. You would think they could make command-line options consistent across tools, but you'd be wrong. Why does ngdbuild want the part number given as, say, xcr3256xl-tq144-10, but CPLDfit wants it as xcr3256xl-10-tq144? (Why? Just to make your Makefile difficult.) PS: Altera's no better. Nor Lattice. -a
"Jake Janovetz" <jakeREMOVEjanovetz@REMOVEyahoo.com> schrieb im Newsbeitrag 
news:dv4h09$hp6$1@wildfire.prairienet.org...
> I, too, prefer command line tools for many things. Unfortunately, when I > moved to Windows out of necessity (CAD software mainly), I realized that > the environment is just CL-hostile. > > Customers and clients like to get nicely packaged projects that are easy > to startup and rebuild. IDEs favor that. > > Also, I've taken a new appreciation to well-designed IDEs. They can save > a lot of time for those of us that spend our day shuffling among dozens of > tools. I just don't have the bandwidth any more to learn all the options > and remember them for so many tools and languages. A good IDE is nice. > Xilinx ISE tools are by far the worst tools I use at the moment. > > They should completely ditch their ISE line and build an Eclipse plugin > for their stuff. Eclipse is a fantastic environment.
ROTFL - the want do that !! just for 8.1 they did major rework to have what they is better, so I am pretty sure they will stick with their new GUI for some while. Eclipse is nice, and yes that would real nice if all IDEs would be eclipse based, but hum I havent ever checked that, I was told that Eclipse is too slow on linux machines? maybe that guy who told me that (only a few week ago) needs a real computer and then eclipse will be ok with speed as well. Antti
Antti Lukats wrote:

> Eclipse is nice, and yes that would real nice if all IDEs would be eclipse > based, but hum I havent ever checked that, I was told that Eclipse is too > slow on linux machines?
It is used here for java and C++ development. Seems to work just fine. Someday there will be verilog and vhdl plugins. http://ivi.sourceforge.net/screenshots.html -- Mike Treseler
Jake Janovetz wrote:
> I, too, prefer command line tools for many things. Unfortunately, when > I moved to Windows out of necessity (CAD software mainly), I realized > that the environment is just CL-hostile. > > Customers and clients like to get nicely packaged projects that are easy > to startup and rebuild. IDEs favor that. > > Also, I've taken a new appreciation to well-designed IDEs. They can > save a lot of time for those of us that spend our day shuffling among > dozens of tools. I just don't have the bandwidth any more to learn all > the options and remember them for so many tools and languages. A good > IDE is nice. Xilinx ISE tools are by far the worst tools I use at the > moment.
What about the (radical?) idea of the IDE setting the options, and then creating a full command line batch file as well. (they must do this already, in pieces ) In an ideal setup, it would be able to READ the batch files, and flip the options to match. That way, you get full two way movement between GUI and Commandline operation. If Xilinx WERE serious about version control, they would know the only way to ENSURE an identical build is to remove the GUI from the loop. They should provide better support for when a project goes into "don't break it" maintenance mode. -jg
Jake Janovetz wrote:

> I, too, prefer command line tools for many things. Unfortunately, when > I moved to Windows out of necessity (CAD software mainly), I realized > that the environment is just CL-hostile. > > Customers and clients like to get nicely packaged projects that are easy > to startup and rebuild. IDEs favor that. > > Also, I've taken a new appreciation to well-designed IDEs. They can > save a lot of time for those of us that spend our day shuffling among > dozens of tools. I just don't have the bandwidth any more to learn all > the options and remember them for so many tools and languages. A good > IDE is nice. Xilinx ISE tools are by far the worst tools I use at the > moment. > > They should completely ditch their ISE line and build an Eclipse plugin > for their stuff. Eclipse is a fantastic environment. > > Jake
-snip- 1. Open DOS window 2. Switch to correct directory 3. type "make <enter>" 4. wait a while When doing burn & turn design, repeat steps 3 & 4 as necessary. To me, that's easer than an IDE. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/