cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
digitalzombie
Visitor
Visitor
10,451 Views
Registered: ‎04-03-2014

RedHat vs Windows for ISE/Vivado Enviroment

Jump to solution

Given:

Planning at work on ordering a Dell Precision T7910 Workstation with E5-2667 v3 CPU 32gig 2133Mhz RAM and the the K5200 8 gig video card. I can get it either with Windows or RedHat. Workstation will rarely be used for internet browsing, emails, creating presentations etc... since I have a Mac for that. It will not play games, nor it needs a polished GUI. I am competent in Linux/Unix systems but do have more experience with windows. The system will be used mainly for writing Verilog/VHDL code and synthesizing Virtex5 FGPA's (prety much filling them up). 

 

Find:

Given the information above what do you guys think is a better solution for my needs? Which one will run faster and complete synthesis and bit file generation first using either ISE or Vivado? Mainly, I wonder if Xilinx tools were first written for Linux and then converted to windows or the other way around? Can the linux version use more CPU core's than the Windows one or the other way around? I will also be using ModelSim alongside all this, how will that play on to this equation? 

 

0 Kudos
Reply
1 Solution

Accepted Solutions
muravin
Scholar
Scholar
16,232 Views
Registered: ‎11-21-2013

Zombie.

 

Get Linux. Period. You get more multi-threaded sub-tools of VIVADO that are limited to a lesser number of threads on Windows. I believe there is some doc on that.

 

V

 

Vladislav Muravin

View solution in original post

10 Replies
pulim
Xilinx Employee
Xilinx Employee
10,444 Views
Registered: ‎02-16-2014

Hi,

 

Vivado is our current generation tool which has many advanced features compared to ISE but it supports only 7-series FPGAs.

If you are targetting 7 series devices I would suggest you to use Vivado.

If you are targetting for any other FPGA (6 series and below) I would suggest you to use the latest ISE 14.7

 

The below operating systems are supported with our Latest Vivado 2014.3:

 

Microsoft Windows Support
• Windows 7 and 7 SP1 Professional (32-bit and 64-bit), English/Japanese
• Windows 8.1 Professional (64-bit), English/Japanese


Windows XP Support
For the Vivado 2014.3 release, Windows XP will no longer be supported. This is due, in large part, to Microsoft’s termination of Windows XP support.


Linux Support
• Red Hat Enterprise Workstation 5.8 - 5.10 (32-bit and 64-bit)
• Red Hat Enterprise Workstation 6.4 - 6.5 (32-bit and 64-bit)
• SUSE Linux Enterprise 11.1 - 11.2 (32-bit and 64-bit)
• Cent OS 6.4 and 6.5 (64-bit)
• Ubuntu Linux 14.04 LTS (64-bit)

 

The below operating systems are supported with latest ISE 14.7:

 

Microsoft Windows Support
• Windows XP Professional (32-bit and 64-bit), English/Japanese
• Windows 7 Professional (32-bit and 64-bit), English/Japanese
• Windows Server 2008 (64-bit)


Linux Support
• Red Hat Enterprise Workstation 5 (32-bit and 64-bit)
• Red Hat Enterprise Workstation 6 (32-bit and 64-bit)
• SUSE Linux Enterprise 11 (32-bit and 64-bit)

 

Our tools are tested on the listed Operating systems and you can use them on supported Operating systems according to your convinent.

 

 

0 Kudos
Reply
digitalzombie
Visitor
Visitor
10,434 Views
Registered: ‎04-03-2014

Thank you for the effort but that generic copy paste email does not answer my question on the slightest. I am trying to figure out which supported operating system with the given hardware would give me the highest performance, or there is no difference and it is just preferance? 

0 Kudos
Reply
muravin
Scholar
Scholar
16,233 Views
Registered: ‎11-21-2013

Zombie.

 

Get Linux. Period. You get more multi-threaded sub-tools of VIVADO that are limited to a lesser number of threads on Windows. I believe there is some doc on that.

 

V

 

Vladislav Muravin

View solution in original post

digitalzombie
Visitor
Visitor
10,405 Views
Registered: ‎04-03-2014

Thanks muravin, that was the answer I was looking for. Can oyu direct me towards that document or any document that lists or talks about the multi threading differences between linux version and winodws version of Xilinx tools? 

0 Kudos
Reply
muravin
Scholar
Scholar
10,402 Views
Registered: ‎11-21-2013

Well, not so fast :o)

 

My fault, I read your post too fast - I thought you are using 7-series and therefore could be using VIVADO. And there you get a huge benefit for Linux.

 

So, if you are going to synthesize for Virtex-5, then you will see some stability benefit and A LITTLE performance benefit on LINUX as you are bound to use ISE/XPS synthesis engine. Must you use V5?

 

Again, sorry about that.

Vlad

 

Vladislav Muravin
0 Kudos
Reply
digitalzombie
Visitor
Visitor
10,389 Views
Registered: ‎04-03-2014

No problem, I have to use Virtex5 for flight projects since Viretex6 and 7 are not flight qualified, I will be using virtex 7 's for development boards though.

0 Kudos
Reply
gszakacs
Professor
Professor
10,376 Views
Registered: ‎08-14-2007

One other point is that almost all new Windows systems are now Windows 8.1 which only is supported for the latest versions of the tools.  Unless you can get a new system with Windows 7, you might be better off with RedHat if you need to support any earlier devices or projects that might require an older version of ISE.

 

It may be a wash in 64-bit systems, but anecdotally it seems that Linux uses less memory for the kernal and allows you more room (less cache thrashing) to run larger designs.  In Virtex5 and newer parts, the longest run times are typically in the Map phase where there is usually just one thread running, but you need as fast as possible random access to as much memory as possible.  This means you win with a system that might have fewer processors but more L2 cache per processor and a faster front-side bus.

 

Already in ISE it's possible to use multiple processors or threads for synthesis, and also when running multiple Map passes using SmartXplorer (useful if you are having trouble reaching timing closure).  However as noted, the really long run times tend to be in the parts where multithreading is not an option.

-- Gabor
0 Kudos
Reply
digitalzombie
Visitor
Visitor
10,369 Views
Registered: ‎04-03-2014

L2 cache...That is interesting. When I took computer architecture courses my instructor always used to say L1 and L2 cache sizes were the biggest limiters in many clocks per instruction calculation since memory access times due to cache miss could bring a super duper processor down to his knees and force no-ops... 

 

I guess it is good that we are getting the Haswell E series cpu's with 20+Mb of L2Cache and 2133Mhz RAM. 

 

I am pretty much sold on Red Hat but there is one thing that is still bothering me. Matlab, Xilinx and ModelSim all run under linux... perfect for FPGA FFT development. But I also do board layouts using Altium and Altium is PC only....For everything else I use a Mac but nothing expcet Matlab works on a mac. The only platform that can run everything I need without any virtualization is 64 bit Windows 7. Only if Altium designer was ported over to linux, it would be great. 

0 Kudos
Reply
mikerez
Explorer
Explorer
10,237 Views
Registered: ‎05-03-2012

If not Vivado than ISE is definately poor for multi-threading.

You should get the fastest CPU you can get (possibly maximize CPU cache also) and much RAM (up to 32GB depending on project size). Also CPU boosting (when only one core works) will not help with 2-threads mapping.

 

Also I have bad expirience with running under Linux and I dont know how to fix it.

Run with windows and 90% human expirience helps you.

0 Kudos
Reply
muravin
Scholar
Scholar
5,380 Views
Registered: ‎11-21-2013

You are right, ISE had only 2 threads for mapping and 4 for PAR. Yet some high-utilization FPGAs causes ISE to go into the oods.

 

VIVADO has up to 8 and each one is a few Gig worth, so yes, one needs to have a heavy duty washer and prefereably, more than 1.

 

As for human experience, this is a question of personal preference, that's all it is. People are simply too used for Windows. In Linux, you can either do all that in gui or you can script your run and run it in batch mode.. Our environment is, you type "create_new_run" abbreviated "cnr", hit enter, and keep working; you get an email once the synthesis is finished. This is much easier to do on Linux and much harder to set up on Windows.

 

Vlad

Vladislav Muravin
0 Kudos
Reply