Bob Perlman <bobsrefusebin@hotmail.com> writes:> I agree: I use the command line tools, which leaves me free to use any > source control system I want.Ditto. I only use the command line tools, execpt the fpga-editor, and have no problems with CVS. Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
Why does Xilinx hate version control?
Started by ●March 13, 2006
Reply by ●March 14, 20062006-03-14
Reply by ●March 14, 20062006-03-14
Petter Gustad <newsmailcomp6@gustad.com> writes:> Bob Perlman <bobsrefusebin@hotmail.com> writes: > >> I agree: I use the command line tools, which leaves me free to use any >> source control system I want. > > Ditto. I only use the command line tools, execpt the fpga-editor, and > have no problems with CVS.I forgot to say that I use Linux and write my own Makefiles. It takes a little time to set this up for the first time, but after that everything is great. Just cvs checkout, make, and your FPGA contains the new bitstream some time later... Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
Reply by ●March 14, 20062006-03-14
Bob Perlman wrote: < snip >> > A question for the many folks who use the IDE: what does it really buy > you that the command tools don't? >Memory leaks. Trashed project files. Seg faults all over the place. About 100 major bugs, and about the same amount of bad design. Then there is the schematic capture, pathetic! Anyhow: To stay on subject. I use ClearCase and cvs/rcs. Would anyone care to post a Makefile rules template for "ise". Of the form: .c.o: $(CC) $(CFLAGS) -c -o $@ $< I've been giong to write one but haven't had the chance to sit down and figure it out yet. Or just a simple Makefile for some project, would be helpful. Thanks for any help that can be provided. -- Gary A. Gorgen | "From ideas to PRODUCTS" tunxis@comcast.net | Tunxis Design Inc. | Cupertino, Ca. 95014
Reply by ●March 14, 20062006-03-14
Petter Gustad wrote:> Petter Gustad <newsmailcomp6@gustad.com> writes:> I forgot to say that I use Linux and write my own Makefiles. It takes > a little time to set this up for the first time, but after that > everything is great. Just cvs checkout, make, and your FPGA contains > the new bitstream some time later...for vhdl simulation, the emacs command vhdl-generate-makefile will generate make a Makefile for you. Then make clean; make; to get an ordered file list for synthesis. -- Mike Treseler
Reply by ●March 14, 20062006-03-14
<langwadt@ieee.org> wrote in message news:1142296809.622734.161470@i40g2000cwc.googlegroups.com...> >> 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 ) >> > > You used to? be able to kinda do that , you just had to read though the > log files to find the commands needed to pick the right files and put > that in to a .bat file. >Still works this way. The ISE IDE calls the inidividual command line tools and the command line issued is at the top of the report file from each tool (.bld file from ngdbuild, .mrp file from map, etc.). I agree with the complaint about the binary project files (stupid!!) and the funky directory structure, and it would be nice if the IDE spit out a .bat or makefile (it might - I'll check when I have a little more time). But all in all the ISE tools generate pretty damn good results for the money. I used to use Synplify, but I find XST does a more than adequate job for free. Keep up the good work, Xilinx, but listen to these unanimous IDE complaints! Rob
Reply by ●March 14, 20062006-03-14
Xess has an appnote with a sample makefile. It depends on (included) perl scripts to get and set variables from Xilinx files but shouldn't be hard to simplify if needed. http://xess.com/appnotes/makefile.html Regarding comments that eclipse is too slow, a native version is available for both Ubuntu and Fedora. http://packages.ubuntulinux.org/dapper/devel/eclipse-platform-gcj http://sourceware.org/eclipse/ And here's another eclipse hdl editor. http://veditor.sourceforge.net/ Gary A. Gorgen wrote:> Bob Perlman wrote: > > < snip > > > > > A question for the many folks who use the IDE: what does it really buy > > you that the command tools don't? > > > > Memory leaks. > Trashed project files. > Seg faults all over the place. > About 100 major bugs, and about the same amount of bad design. > Then there is the schematic capture, pathetic! > > Anyhow: > To stay on subject. > I use ClearCase and cvs/rcs. > > Would anyone care to post a Makefile rules template for "ise". > Of the form: > > .c.o: > $(CC) $(CFLAGS) -c -o $@ $< > > > I've been giong to write one but haven't had the chance to sit down > and figure it out yet. > > Or just a simple Makefile for some project, would be helpful. > > Thanks for any help that can be provided. > > > -- > Gary A. Gorgen | "From ideas to PRODUCTS" > tunxis@comcast.net | Tunxis Design Inc. > | Cupertino, Ca. 95014
Reply by ●March 14, 20062006-03-14
deunhido@gmail.com wrote:> Xess has an appnote with a sample makefile. It depends on (included) > perl scripts to get and set variables from Xilinx files but shouldn't > be hard to simplify if needed. > > http://xess.com/appnotes/makefile.html >Thanks, that's just what I need. < snip > -- Gary A. Gorgen | "From ideas to PRODUCTS" tunxis@comcast.net | Tunxis Design Inc. | Cupertino, Ca. 95014
Reply by ●March 14, 20062006-03-14
First, let me try to address the reason why the ISE file is binary. A binary file allows us to manage concurrent reads/writes which is critical in making all the GUI applications work together. Binary files are faster and more efficient. Right now, there is a bug that is making the ISE file much larger than it needs to be. Also, a binary file can be more robust and requires less error checking. Access to the data in the ISE file is often important, so providing the capability to import and export is key. Check answer record 21067 for info on how to do this. Other than the GUI, the standard way to add info into the ISE file is Tcl, however, 8.2i will be required for this capability. Regarding keeping intermediate files in a separate directory, that is a great idea. We are planning on allowing you to specify the directory structure in the future. Regarding creating a batch file from the GUI, you can just cut and paste the commands from the command_log file. We do not hate version control and have plans to allow for integration with your source control systems. We are listening and taking your input seriously. Regards, Steve 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
Reply by ●March 14, 20062006-03-14
Hi Steve, Good to hear from someone in Xilinx Steve Lass wrote:> First, let me try to address the reason why the ISE file is binary. A > binary file > allows us to manage concurrent reads/writes which is critical in making all > the GUI applications work together. Binary files are faster and more > efficient. > Right now, there is a bug that is making the ISE file much larger than > it needs to be.So how can _that_ be faster and more efficent ? Did no one notice this ? Such an error would have been spotted very quickly with ASCII files.... Also, a binary file can be more robust and requires less error> checking.Yeeessss, only until said file gets corrupted, and then it becomes a brick wall. Moving across tool versions also a risk area, and likely to be a minefield....> > Access to the data in the ISE file is often important, so providing the > capability > to import and export is key. Check answer record 21067 for info on how to > do this. Other than the GUI, the standard way to add info into the ISE > file is > Tcl, however, 8.2i will be required for this capability.and recovery from a corrupted file is done the same way ? Seems to me if you must use binary for your convenience, that you should also provide an easy ASCII import/export as well. That way, users CAN archive a 100% ASCII project ( and some (most?) WILL prefer to do this ), but they can also reap the benefits(?) of binary files during re-iterations.> > Regarding keeping intermediate files in a separate directory, that is a > great > idea. We are planning on allowing you to specify the directory > structure in > the future.that will be well received.> > Regarding creating a batch file from the GUI, you can just cut and paste > the > commands from the command_log file.Why should the (skilled) user have to trawl these log files ? It would be nice to configure via GUI, and then be able to run a created batch file, and get an indentical build.> > We do not hate version control and have plans to allow for integration with > your source control systems. > > We are listening and taking your input seriously.Many will be pleased to hear this. When is 8,2i due for release ? -jg
Reply by ●March 14, 20062006-03-14
> > Regarding creating a batch file from the GUI, you can just cut and paste > > the > > commands from the command_log file. > > Why should the (skilled) user have to trawl these log files ? > > It would be nice to configure via GUI, and then be able to > run a created batch file, and get an indentical build.No trawling for the command_log file needed. All you need to do is: 1) Run the process Design Utilities ->"View Command Line Log File" this copies the latest command lines to the ISE Text Editor 2) Just File->Save As... mydesign.bat and you have your batch file 3) Open a command prompt and run the bat file






