Author Topic: WTF Xilinx  (Read 21403 times)

0 Members and 1 Guest are viewing this topic.

Offline 0db

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: zm
Re: WTF Xilinx
« Reply #25 on: June 05, 2020, 10:14:43 pm »
Just ordered a 256Gb SSD module. Problem solved.
 

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3199
  • Country: ca
Re: WTF Xilinx
« Reply #26 on: June 05, 2020, 10:24:44 pm »
Like someone else said though, if you think something that takes 20 seconds takes to long then I'd love to see you write a program that does the same thing faster.

I have a simple program which reads a bitstream, reads my script which describes the sequence of actions, builds a BRAM image for my state machine, injects BRAM contents into the bitstream, recalculates checksum and writes the new bitstream to a file. IMHO, this is the amount of work similar to what Vivado's "write bitstream" does. Mine takes much less than a second.

Few people here suggested that I should abandon my life, spend three years writing an extremely efficient P&R software and post it here, which would supposedly give me moral ground to discuss Vivado. They themselves don't seem to need anything to express their admiration. This is certainly funny.
 

Offline 0db

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: zm
Re: WTF Xilinx
« Reply #27 on: June 06, 2020, 12:35:14 am »
I have a simple program which reads a bitstream

Is it a verifiable news? Is there a source code i can test?

Few people here suggested that I should abandon my life, spend three years writing an extremely efficient P&R software and post it here ...

Send your CV to Xilinx, get hired and if you are so brilliant you will be paid for doing it.

edit: typo
« Last Edit: June 07, 2020, 02:55:07 pm by 0db »
 

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3199
  • Country: ca
Re: WTF Xilinx
« Reply #28 on: June 06, 2020, 01:09:46 am »
I have a simple program which reads a bitstream

Is it a verificable news? Is there a source code i can test?

Wow! May be I also need to deposit my salary to your bank account?

Write your own. I'm sure you can write bitstreams faster than Vivado. Or look at ISE. It does most of the stuff faster than Vivado.
 

Offline mark03

  • Frequent Contributor
  • **
  • Posts: 722
  • Country: us
Re: WTF Xilinx
« Reply #29 on: June 06, 2020, 02:21:22 am »
I never would have guessed calling Vivado "bloated" could be controversial.  That is some serious Stockholm syndrome ::)
Believe what you want.  Writing a replacement is sufficiently complex that no one person or small team could realistically do it in a year, probably not a decade, even if they were sufficiently wealthy, altruistic, and provided full device models and bitstream documentation by Xilinx.

Haven't you wondered why so many of the things we do on computers today feel just as slow as they did in the 80s and 90s, despite exponential increases in raw computational power and storage?  (Compare Visicalc with MS Excel, or Wordperfect with Word.)  Programs are bloated because the space and the MIPS are there, and humans are lazy.  Make no mistake, most large programs could be 1/10 their current size, with significant improvement in speed, but for that to happen we would have to care.

Also, it takes longer to write less code.

 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2806
  • Country: nz
Re: WTF Xilinx
« Reply #30 on: June 06, 2020, 03:55:51 am »
I think the reason is pretty simple. On the list of design goals "Smallest disk footprint" and "fastest time to implement" were way down the bottom.

Other things like "sanity check inputs and DRC as much as possible at each stage", "scale across all supported parts", "cross platform OS support", "minimal external software dependencies" and "try to reduce coupling of dependencies between different tools" were higher up.

Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: WTF Xilinx
« Reply #31 on: June 06, 2020, 04:50:31 am »
I never would have guessed calling Vivado "bloated" could be controversial.  That is some serious Stockholm syndrome ::)
Believe what you want.  Writing a replacement is sufficiently complex that no one person or small team could realistically do it in a year, probably not a decade, even if they were sufficiently wealthy, altruistic, and provided full device models and bitstream documentation by Xilinx.

I wasn't so much referring to Vivado as ISE and Quartus, but the real point is that I'm not saying that it's not bloated, it certainly has the appearance of bloat, I just truly don't know how it works internally. I have nothing on which to base an assertion on, I don't know why it's so huge, maybe it's a bunch of lazy bloat or maybe the immense complexity is actually necessary. I recognize that the fact I don't understand what something does doesn't mean it doesn't need to be there. Stating "it's bloated" doesn't really tell me anything, it's the precise nature of the bloat that interests me, what parts are actual bloat and what parts are big because they are integral to working with incredibly complex hardware.

I've worked in the software industry long enough to have seen more than a few times people start out claiming something is bloated and start on a replacement but then by the time the replacement does everything the product it is replacing does, it has grown to be just as bloated if not more so.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3791
  • Country: us
Re: WTF Xilinx
« Reply #32 on: June 06, 2020, 06:21:50 am »
This is not meant as an attack on you, but none of that really answers my question. I suspect that nobody outside of Xilinx or Altera/Intel truly know what makes the software as big and slow as it actually is. It's easy to look at it from the outside and say it's slow and should be faster, but what I'm curious about is *why* it's slow, maybe it's perfectly reasonable given what it's doing, maybe it's not, but I'm not seeing any answers here, well other than someone else mentioning that it's mostly the models of all the different supported parts that take up space.

I don't know about vivado, but in quartus just launching the basic tcl interpreter (quartus_sh) takes 3.5 seconds from a completely hot disk cache on my relatively fast Xeon desktop with an SSD.  The first invocation took considerably longer but I didn't time it (5-10 seconds at a guess).  That means that hello world written in tcl takes 3-4 seconds.  If you have a job that requires starting multiple tcl interpreters from scratch, that keeps adding up.

Compare that with bash, python, perl, or plain tclsh all of which have broadly similar intrinsic capability but can execute trival programs 3 orders of magnitude faster.

Of course the quartus_sh is doing stuff during that wait: presumably initializing the gabs of modules that quartus needs for its environment.  But that is all just wasted effort if your actual job doesn't require that and is all thrown away when the job completes.  Well designed interpreted environments try to limit startup work to what is needed for the task at hand.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: WTF Xilinx
« Reply #33 on: June 06, 2020, 08:11:24 am »
Send your CV to Xilinx, get hired and if you are so brilliant you will be paid for doing it.
Xilinx and other vendors are not interested in "brilliant" software developers who can do stuff better than existing software.
They are only interested in developers who can produce a shippable product with the least overall cost.

Writing better software than is absolutely required is insubordination in todays corporate environments – at least if the higher ups or the marketing department find out.

Worse, if you write software that works without issues for years, you're simply forgotten: out of sight, out of mind.  Ask me how I know.

You'd think it'd matter to hardware vendors like Xilinx, but it doesn't.  Only in smaller companies and startups do developers get to pick their tools.  In larger companies, those tools are more often chosen by nontechnical higher-ups based on nontechnical reasons, and imposed on developers because such investments cannot be left for mere developers to decide.  Developers soon grow a thick skin (or bail out to smaller companies or other fields, no matter how brilliant), and get on with the job with the tools at hand.  Stockholm syndrome is common, be it compiler, OS, toolkit, dev environment, framework, or libraries, because eating shit every day is easier if you convince yourself that it tastes good.

Ignoring the above rant, the point is that software quality just does not matter at all in the corporate world.  (There are exceptions, of course, but as usual, they're rare.)
 
The following users thanked this post: 0db

Offline 0db

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: zm
Re: WTF Xilinx
« Reply #34 on: June 06, 2020, 12:02:10 pm »
Write your own

I do stuff myself, and I rarely chatter about it because it's useless for others unless I have something to release to them.

All the Xilinx stuff is mostly for free, and you don't pay a penny for it. So, why should you complain about?

Because their tools now take a lot of space on the harddrive? Buy a bigger disk, like I did yesterday.
Because it's getting slower? Well, buy a powerfull computer, or try improve something along the workflow.

What is the meaning of chattering in a forum that you are "supposed" to have improved the Xilinx' stuff, but you are not willing to release anything?!?
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: WTF Xilinx
« Reply #35 on: June 06, 2020, 12:27:09 pm »
All the Xilinx stuff is mostly for free, and you don't pay a penny for it. So, why should you complain about?
Well, the first post and the title is a question...

I don't have Vivado (I don't have any FPGAs at all, yet!), but I have looked at quite a few "Software Development Kits" for vendor-provided Linux distributions intended for embedded devices; in particular, those for wireless routers.

Oh boy are they bloated utter shit.

The "best" one I saw didn't have any documentation with it, but had three separate installations for GCC for ARM (different versions) and three different Linux kernel source trees (all different), plus a dozen or so other devkits that were completely unrelated to building any kind of software for the target architecture, and a couple of gigabytes of various source trees, none of which were even remotely up to date when the products were first launched (so this was not a case of bit rot due to the devices being released such a long time ago and not getting any updates since then; this was a case of starting with ancient software from the get go).

I haven't seen anyone else mention how... ahem, utterly inanely bloated and full of crap these so-called SDKs are, so the conclusion is obvious: this is typical, and nothing strange to embedded devs.
 
The following users thanked this post: 0db

Offline 0db

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: zm
Re: WTF Xilinx
« Reply #36 on: June 06, 2020, 12:29:29 pm »
Send your CV to Xilinx, get hired and if you are so brilliant you will be paid for doing it.

Xilinx and other vendors are not interested in "brilliant" software developers who can do stuff better than existing software. They are only interested in developers who can produce a shippable product with the least overall cost.

I visited a Microsoft new building in Europe. They spent a fortune to make all the openspace rooms more comfortable. I saw a dozen of giant round tables with motorized flower pot in the center that goes up and down according to the purpose of the meeting, a lot of flowers and plants, a lot of soundproof rooms, a tiny gym with ministepper machines, a kitchen induction cookers and several kinds of coffee machines, a lot of mini bars, and even a swimming pool.

All in the same corporate building.

I think it's done to improve the productivity, but it's also done to attract brilliant person.

Worse, if you write software that works without issues for years, you're simply forgotten: out of sight, out of mind.  Ask me how I know.

how do you know it?  :D


You'd think it'd matter to hardware vendors like Xilinx, but it doesn't.  Only in smaller companies and startups do developers get to pick their tools.  In larger companies, those tools are more often chosen by nontechnical higher-ups based on nontechnical reasons, and imposed on developers because such investments cannot be left for mere developers to decide.  Developers soon grow a thick skin (or bail out to smaller companies or other fields, no matter how brilliant), and get on with the job with the tools at hand.  Stockholm syndrome is common, be it compiler, OS, toolkit, dev environment, framework, or libraries, because eating shit every day is easier if you convince yourself that it tastes good.

I guess I got your point.

Ignoring the above rant, the point is that software quality just does not matter at all in the corporate world.  (There are exceptions, of course, but as usual, they're rare.)

Dunno, it's not my field.

I use CPLD and FPGA only to give a hand to my colleagues.

Last time we designed and installed several trap-photo devices to catch shots about dangerous animals as well as shots about poachers trying to kill them.

This kind of equipment needs to work for years.
« Last Edit: June 07, 2020, 02:56:04 pm by 0db »
 

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3199
  • Country: ca
Re: WTF Xilinx
« Reply #37 on: June 06, 2020, 01:23:21 pm »
What is the meaning of chattering in a forum that you are "supposed" to have improved the Xilinx' stuff, but you are not willing to release anything?!?

I think you misunderstood me. James asked how did I know that 20 seconds for writing bitstream is too long. I simply said that I wrote programs which do similar things which helps me to estimate how long it would normally take, which is milliseconds.

You can do your own estimates very easily - create a LED blinker in the FPGA, then, when you implemented it, go to the FPGA editor and fix all the places and routes. Now all the P&R is already done, so you know that nothing complex needs to be done. Go back and do full synthesis - implementation - write bitstream. Measure how long it takes to produce the bitstream on your very fast computer. All of this time is bloat.
 
The following users thanked this post: Someone

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: WTF Xilinx
« Reply #38 on: June 06, 2020, 01:52:18 pm »
They spent a fortune to make all the openspace rooms more comfortable.
Branding.

a lot of soundproof rooms, a tiny gym with ministepper machines, a kitchen induction cookers and several kinds of coffee machines, a lot of mini bars, and even a swimming pool.
They want their developers to be there all the time.

but it's also done to attract brilliant person.
No, it is done for branding, and to attract the kind of developers they want: productive ones.

Brilliant developers don't tend to be that productive, nor are they that interested in the environs.

If you want an example, look at DJB.  Then, for fun, count the number of security holes in Bind and Sendmail.  Yet, how many people even know about DJB, or Qmail, or DJBDNS?  Excellence does not correlate with popularity, and even less with being desirable hire in the corporate world.

Worse, if you write software that works without issues for years, you're simply forgotten: out of sight, out of mind.  Ask me how I know.
how do you know it?  :D
Experience, both personal and cow-orker.  It's the noisy ones who get the kudos, not the ones who never cause problems for anyone, and just quietly keep the wheels turning.  A squeaky wheel gets oiled more often, and so on.

This kind of equipment need to work for years.
The number of companies providing guarantees or even recommendations on product lifetime in years is rare nowadays, and usually that costs a big premium.
 
The following users thanked this post: Siwastaja, 0db

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14888
  • Country: fr
Re: WTF Xilinx
« Reply #39 on: June 06, 2020, 02:47:01 pm »
Send your CV to Xilinx, get hired and if you are so brilliant you will be paid for doing it.
Xilinx and other vendors are not interested in "brilliant" software developers who can do stuff better than existing software.
They are only interested in developers who can produce a shippable product with the least overall cost.

Yep.

Writing better software than is absolutely required is insubordination in todays corporate environments – at least if the higher ups or the marketing department find out.

Absolutely. And it's also a problem if you work in a team, as your colleagues will also resent you for this.

Worse, if you write software that works without issues for years, you're simply forgotten: out of sight, out of mind.  Ask me how I know.

Yep!

You'd think it'd matter to hardware vendors like Xilinx, but it doesn't.  Only in smaller companies and startups do developers get to pick their tools.  In larger companies, those tools are more often chosen by nontechnical higher-ups based on nontechnical reasons, and imposed on developers because such investments cannot be left for mere developers to decide.  Developers soon grow a thick skin (or bail out to smaller companies or other fields, no matter how brilliant), and get on with the job with the tools at hand.  Stockholm syndrome is common, be it compiler, OS, toolkit, dev environment, framework, or libraries, because eating shit every day is easier if you convince yourself that it tastes good.

Ignoring the above rant, the point is that software quality just does not matter at all in the corporate world.  (There are exceptions, of course, but as usual, they're rare.)

Mostly agree.
Point is - it IS possible to write "better" and less bloated software, but not in the current corporate world.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3791
  • Country: us
Re: WTF Xilinx
« Reply #40 on: June 06, 2020, 08:17:08 pm »
Send your CV to Xilinx, get hired and if you are so brilliant you will be paid for doing it.
Xilinx and other vendors are not interested in "brilliant" software developers who can do stuff better than existing software.
They are only interested in developers who can produce a shippable product with the least overall cost.

My understanding is that their software team is basically constantly having to justify their budget.  For a hardware company software is a cost sibk.
 They don't make anywhere near enough money on the software licenses to pay for the development costs. They make it because they have to or nobody will be able to buy their chips, but beyond features that will help them get design wins it is hard to justify any improvement.

Plus they have decades of legacy cruft, customer and partner workflows they want to preserve.  They can release a new development environment or new system builder tools but rearchitecting the underlying technology would probably cost them customers rather than gain them.
 
The following users thanked this post: 0db

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: WTF Xilinx
« Reply #41 on: June 06, 2020, 09:59:42 pm »
I visited a Microsoft new building in Europe. They spent a fortune to make all the openspace rooms more comfortable. I saw a dozen of giant round tables with motorized flower pot in the center that goes up and down according to the purpose of the meeting, a lot of flowers and plants, a lot of soundproof rooms, a tiny gym with ministepper machines, a kitchen induction cookers and several kinds of coffee machines, a lot of mini bars, and even a swimming pool.

All in the same corporate building.

I think it's done to emprove the productivity, but it's also done to attract brilliant person.

If they want to attract (and retain) brilliant people, they should shift back to private offices instead of these trendy open space layouts that engineers almost universally hate. The open plan offices look especially ridiculous after the Covid epidemic.
 

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3199
  • Country: ca
Re: WTF Xilinx
« Reply #42 on: June 06, 2020, 10:43:59 pm »
Plus they have decades of legacy cruft, customer and partner workflows they want to preserve.  They can release a new development environment or new system builder tools but rearchitecting the underlying technology would probably cost them customers rather than gain them.

Xilinx dropped ISE abruptly about 6 years ago and switched to Vivado. The move was so abrubt that only 2 chips are common between ISE and Vivado - Artix-7 100 and 200. This is a new development from scratch, not compatible to ISE. They said theis was a completely new design from scratch which took them 5 years to develop. That's a titanic effort, and Vivado has really good ideas. For example, FPGA editor is miles better than in ISE. So they are indeed trying hard. But still Vivado is bloated more than ISE and ISE generates better results.
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 4674
  • Country: au
    • send complaints here
Re: WTF Xilinx
« Reply #43 on: June 07, 2020, 08:57:03 am »
Plus they have decades of legacy cruft, customer and partner workflows they want to preserve.  They can release a new development environment or new system builder tools but rearchitecting the underlying technology would probably cost them customers rather than gain them.

Xilinx dropped ISE abruptly about 6 years ago and switched to Vivado. The move was so abrubt that only 2 chips are common between ISE and Vivado - Artix-7 100 and 200. This is a new development from scratch, not compatible to ISE. They said theis was a completely new design from scratch which took them 5 years to develop. That's a titanic effort, and Vivado has really good ideas. For example, FPGA editor is miles better than in ISE. So they are indeed trying hard. But still Vivado is bloated more than ISE and ISE generates better results.
Look at the parts library in ISE, there is a much larger overlap than 2 parts from a single series. What Xilinx recommend to use and what is possible (or even best) to use don't always line up.
 

Offline 0db

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: zm
Re: WTF Xilinx
« Reply #44 on: June 07, 2020, 12:34:53 pm »
If they want to attract (and retain) brilliant people, they should shift back to private offices instead of these trendy open space layouts that engineers almost universally hate.

Actually there are also private rooms, even soundproofed rooms for one person or for four persons.

The open space rooms are made mostly for "meeting", "conference" and "brainstorming". Attached two pics abot the round tables with the motorized flowerpot. That staff is amazing. I like it.

One more interesting thing is that nobody has his/her private desk. You enter the building, you have your private locked box in the wall and that's all. You can leave your personal laptop there, and get it ever morning when you get in.

Then you can daily choose where to sit and with whom, and that's a very very good idea to improve social relations.

So sociologists and psychologists said. As far as I understood during my one day visit.
 

Offline Fred27

  • Supporter
  • ****
  • Posts: 727
  • Country: gb
    • Fred's blog
Re: WTF Xilinx
« Reply #45 on: June 07, 2020, 01:15:24 pm »
If they want to attract (and retain) brilliant people, they should shift back to private offices instead of these trendy open space layouts that engineers almost universally hate.
Is this true? I know some people don't like open plan offices, but I do and I've certainly met others who do too.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14888
  • Country: fr
Re: WTF Xilinx
« Reply #46 on: June 07, 2020, 02:28:23 pm »
Plus they have decades of legacy cruft, customer and partner workflows they want to preserve.  They can release a new development environment or new system builder tools but rearchitecting the underlying technology would probably cost them customers rather than gain them.

Xilinx dropped ISE abruptly about 6 years ago and switched to Vivado. The move was so abrubt that only 2 chips are common between ISE and Vivado - Artix-7 100 and 200. This is a new development from scratch, not compatible to ISE. They said theis was a completely new design from scratch which took them 5 years to develop. That's a titanic effort, and Vivado has really good ideas. For example, FPGA editor is miles better than in ISE. So they are indeed trying hard. But still Vivado is bloated more than ISE and ISE generates better results.

Yep.
Note that this is mainly about all the user interface and additional GUI-based tools.
I'm pretty sure all the underlying synthesis, map, PAR tools, which AFAIK are just still command-line tools, are on the same code base and were not rewritten from scratch.
 

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3199
  • Country: ca
Re: WTF Xilinx
« Reply #47 on: June 07, 2020, 02:57:57 pm »
Yep.
Note that this is mainly about all the user interface and additional GUI-based tools.
I'm pretty sure all the underlying synthesis, map, PAR tools, which AFAIK are just still command-line tools, are on the same code base and were not rewritten from scratch.

They may have reused some of the code, but there's no doubts that the internals are different, XDC is new, P&R works differently. I don't think it was GUI-only change.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: WTF Xilinx
« Reply #48 on: June 07, 2020, 03:34:58 pm »
So sociologists and psychologists said.
Pity they don't actually measure the creative output qualitatively and quantitatively, before deciding being "pro-social" is a good thing.  Then again, finding a psychologist or sociologist who has a good grasp of software development is expensive.

I for one cannot get shit done in an open plan office.  I need a minimal distraction environment, like a small cupboard or something.  An open plan office with people whizzing by, I'm as productive as a pebble in your shoe.  When on the cusp of solving a problem, I'm definitely antisocial; for example, I like to mutter curses.  (That has been proven to increase ones pain tolerance, so it's not about being crass or "that way"; it enhances my productivity.)

That said, I do do my best work in a team, so having spaces where a team can hash out stuff is important, and it's nice to know some companies actually provide those.   It's just that in my experience, it doesn't take more than say 20% of ones time, with 50% or more being productive creative work (that I cannot do in a non-quiet environment).
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: WTF Xilinx
« Reply #49 on: June 07, 2020, 03:50:52 pm »
Wow! That is like $15 worth of space if installed on an SSD, or maybe $2.50 is you use a HDD...
With that attitude you're going to need that space worth $15 many times over.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf