<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>edagraffiti &#187; engineering</title>
	<atom:link href="http://edagraffiti.com/?cat=6&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://edagraffiti.com</link>
	<description>EDA, technology, semiconductor</description>
	<lastBuildDate>Mon, 14 Nov 2011 02:32:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6</generator>
		<item>
		<title>Magma&#8217;s new P&amp;R and re-building the foundations</title>
		<link>http://edagraffiti.com/?p=987</link>
		<comments>http://edagraffiti.com/?p=987#comments</comments>
		<pubDate>Tue, 04 Jan 2011 23:59:57 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[eda industry]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://edagraffiti.com/?p=987</guid>
		<description><![CDATA[One of the important but often unrecognized aspects of engineering is re-building the infrastructure underneath key design tools. Sometimes this gives a new desirable capability but often a lot of the effort is simply to modernize the code base so &#8230; <a href="http://edagraffiti.com/?p=987">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://edagraffiti.com/wp-content/uploads/2011/01/changewheel.jpg"><img class="alignleft size-full wp-image-988" title="changewheel" src="http://edagraffiti.com/wp-content/uploads/2011/01/changewheel.jpg" alt="" width="200" height="163" /></a>One of the important but often unrecognized aspects of engineering is re-building the infrastructure underneath key design tools. Sometimes this gives a new desirable capability but often a lot of the effort is simply to modernize the code base so that it is possible to continue development effectively going forward. For example, I remember in Compass days replacing our creaky graphics infrastructure with something more modern. It was expensive to do and it didn’t generate any additional revenue, but the old code had been written well over a decade before and was no longer adequate. Because this sort of infrastructure underlies everything, it is rather like changing the wheel of a car without stopping.</p>
<p>I met with Bob Smith of Magma late last year, and coincidentally I ran into Hamid Savoj, the CTO, at a conference on 3D chips a few days later. They have successfully done one of these changing the wheels without stopping exercises recently.</p>
<p>Magma&#8217;s engineering team have swapped out the old timing and extraction engines from Talus and replacing them with the Tekton timing engine and the QCP extraction engine to create Talus Vortex 1.2. This can place and route over one million cells per day with all the modern requirements for crosstalk, metal migration, multi-corner etc. It can handle up to 3M cells flat, which is important since probably one of the biggest wishes of the semiconductor customers is to be able to handle designs flat, or with as little hierarchy as they can get away with. Ideally today they would like to be able to handle 20 million cells or more flat. All hierarchy added in any design tool due to capacity limitations of the tool tends to cause design efficiency to drop, sometimes dramatically if the number of blocks grows large. But wait, there&#8217;s more, as the old ads say.</p>
<p>Along  with some further infrastructure work they have also created Talus Vortex FX which is the first distributed place and route solution. This pushes up the performance to over 3 million cells per day, and the capacity up above 8 million cells, which more than triples designer productivity. It analyzes the design, then partitions it into pieces that can be processed separately on their own server, and then eventually combines all the results back together (they call this Smart Sync). Some design tools are fairly easy to distribute (for example, DRC can be run on different parts of the chip in parallel and then stitched back together), some are very difficult (simulation, because there is a single global time-base so it is hard to find things that are independent) and some in between like place and route, although clever algorithms are needed to decide how to divide up the design amongst the computing resources.</p>
<p>As an irrelevant aside, in 1952 a car was driven across the US and back without stopping; of course it needed to have facilities to change a wheel without stopping. It can be seen today in the <a href="http://www.sdautomuseum.info/?secc=2" target="_blank">San Diego Automotive Museum</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=987</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pat Pistilli: the first cell library, the first printed label, and more</title>
		<link>http://edagraffiti.com/?p=961</link>
		<comments>http://edagraffiti.com/?p=961#comments</comments>
		<pubDate>Thu, 16 Dec 2010 11:14:12 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[eda industry]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://edagraffiti.com/?p=961</guid>
		<description><![CDATA[Pat Pistilli is this years Kaufman Award winner. I was out of the country for the award dinner so I didn&#8217;t attend but I talked to Pat earlier today. Pat, who was at Bell Labs, started DAC (then called SHARE, &#8230; <a href="http://edagraffiti.com/?p=961">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://edagraffiti.com/wp-content/uploads/2010/12/pistilli.jpg"><img class="alignleft size-full wp-image-962" title="pistilli" src="http://edagraffiti.com/wp-content/uploads/2010/12/pistilli.jpg" alt="" width="250" height="216" /></a>Pat Pistilli is this years Kaufman Award winner. I was out of the country for the award dinner so I didn&#8217;t attend but I talked to Pat earlier today.</p>
<p>Pat, who was at Bell Labs, started DAC (then called SHARE, the Society to Avoid Redundant Effort) 1964 along with a co-conspirator from IBM. The first conference was in Atlantic City in 1964. This eventually became DAC. When the availability of commercial EDA tools made DAC too big to manage as an all-volunteer organization as it had been, Pat left the technical side of design automation to form MP Associates along with his wife Marie. I think that the history of DAC has been well-covered elsewhere so instead, I asked Pat, what was &#8220;design automation&#8221; back when he started in the business. After all, transistors were fairly new, printed circuit boards hadn&#8217;t been invented, integrated circuits were in research and so on.</p>
<p>He told me about the design system he worked on, known as BLADES (for Bell LAbs DEsign System). It ran on an IBM704 with 32K of memory. Think about how little that is: 32 gigabytes (too big for a notebook but not for a high-end server)  is a <em>million</em> times as much. The computer had 32 tape-drives (disks were another thing that hadn&#8217;t yet been invented). They built the design system to work on a specific project, the <a href="http://en.wikipedia.org/wiki/Safeguard_Program" target="_blank">Safeguard anti-missile system</a> for the DoD. It was an electronic system so large it occupied 3 buildings.</p>
<p>The system was built like this. At the lowest level were modules which contained 3 or sometimes as many as, dramatic pause, 4 transistors with wire-wrap terminals (if you are too young to know what wire-wrap is, then more than you want to know is <a href="http://en.wikipedia.org/wiki/Wire_wrap" target="_blank">here</a>). Boards 33&#8243; by 24&#8243; were covered in these modules with gaps in between to run the wires (because if you ran wires over  the tops of the modules you&#8217;d never be able to open them again for maintenance). Originally there were 8 different kinds of modules but eventually they ended up with about 30 (that sounds familiar in libraries today). Initially these modules were hard-wired into the code but Pat came up with the idea of putting all the components into a file on a magnetic tape and extracting them from there (the first cell-library I guess). The design rules, for example no wire could be longer than 12&#8243;, were on another tape.</p>
<p>These boards were stacked into refrigerator-sized units called frames with more wire-wrap to construct what today we&#8217;d call a back-plane. Then lots of these units would then be connected together with manually labeled wires until you&#8217;d filled 3 buildings.</p>
<p>Before Pat&#8217;s design automation it took 4-5 months to design one of these boards and then another month for the board to be wire-wrapped by hand. Afterward, using the design system, the time was cut to around a month but it still took another month for the hand wire-wrapping.</p>
<p>Then Gardner Denver developed an automatic wire-wrap machine. Pat designed a controller for this (complicated by the need for &#8216;dressing fingers&#8217; since they couldn&#8217;t route point to point and had to avoid wires going over the modules). Now the design automation system could (effectively) directly manufacture the board. That got the time down from a month to a day or two.</p>
<p>This is one example of how manufacturing used to be much more connected to engineering, and delivering a system would often involve people needing to work in all sorts of areas. Software engineers today don&#8217;t have to change the design of the semiconductor manufacturing equipment!</p>
<p>The wires that connected the frames were manually labeled. But hand-written labels aren&#8217;t always legible, and the glue wasn&#8217;t good so they would regularly fall off leading to obvious problems. Pat decided they needed a new way of labeling where the labels could be printed automatically and would stick on the cables properly and never fall off. The only material he could find that seemed like a good starting point was the plastic sheet that 3M used to make band-aids. So he got band-aid material from 3M and would attach it to paper and print the labels using a standard <a href="http://en.wikipedia.org/wiki/Line_printer">line-printer</a>. But the adhesive still wasn&#8217;t good enough so he got the chemical department at Bell Labs to invent a new super-strong adhesive and, further, to develop a coating for the plastic that would accept the ink (so it could be printed) but not dirt so the labels would stay clean and legible. They still needed 3M to supply the original plastic material and to do the die-cutting afterward. Finally, Pat modified a manual wire-wrap gun with a new chuck to create a tool that attached the labels to the wires, inspired by having seen cigarettes being made on a factory tour. These were the first ever machine-prepared labels.</p>
<p>3M actually branched off that part of the business to form a label-making subsidiary called Avery. Yes, the same Avery as makes labels for your inkjet today.</p>
<p>So what happened when three buildings worth of electronics was shipped out to an island in the Pacific? Safeguard was constructed because the US figured that they couldn&#8217;t build enough interceptors to destroy every incoming missile. But  they also figured out that the USSR couldn&#8217;t afford to build that many warheads so that they would use decoys too. Safeguard analyzed the incoming missile trajectories looking for tiny differences in flight path to decide which were real and which were decoys. Pat was invited out to the Pacific for the first test and it was a complete success. The system picked out the one real missile from the five decoys and knocked it down.</p>
<p>Interestingly, in the early days there were big problems getting acceptance of this new technology. Designers didn&#8217;t want to use the design system since they worried it would obstruct their creativity. And the manufacturing people were worried that the automation  would lose them their jobs. When Pat moved to Denver in 1969 it was the first time AT&amp;T had both design and manufacturing under the same roof.  When he arrived the manufacturing manager told him &#8220;I hate computers.&#8221; Back then the design methodology was that Bell Labs would design the system and build prototypes, then the design would be transferred to Western Electric (the manufacturing arm) who would completely re-lay it out. With the design system this became unnecessary, the prototype could be transferred direct into manufacturing and this became a model for the rest of Western Electric. The system produced cost savings of $2M per year immediately. Since AT&amp;T was a regulated utility, the only way for them to increase profitability was to reduce their costs since they didn&#8217;t really have any way to increase their prices. So this was a big deal and the manufacturing manager changed his tune.</p>
<p>Since DAC is 50 years old in a couple of years, I suggested that it would be interesting to have some other people talk about what design automation was in the 5 decades since it started. Now we are in the age of billion transistor chips it is hard to remember the time when 10,000 gates was a huge design, let alone all the automation necessary to create even earlier systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=961</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The VHDL and Verilog story</title>
		<link>http://edagraffiti.com/?p=232</link>
		<comments>http://edagraffiti.com/?p=232#comments</comments>
		<pubDate>Tue, 01 Dec 2009 15:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[eda industry]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/12/01/the-vhdl-and-verilog-story/</guid>
		<description><![CDATA[I put a blog entry up on the Oasys blog about their new release, which is the first to support VHDL. But a couple of people told me it was a nice recounting of history so I decided to put &#8230; <a href="http://edagraffiti.com/?p=232">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img hspace="3" vspace="3" align="left" alt="" src="http://www.edagraffiti.com/images/vhdl.jpg">I put a <a href="http://oasys-ds.com/blog.php?te_class=blog&amp;te_mode=view&amp;te_key=33">blog entry</a> up on the Oasys blog about their new release, which is the first to support VHDL. But a couple of people told me it was a nice recounting of history so I decided to put a more generic version over here.</p>
<p> VHDL is, of course, one of the two main hardware description languages dating back to the 1980s. The history of Verilog and VHDL is quite interesting. Verilog was originally created by Gateway Design Automation. Gateway was subsequently acquired by Cadence for what seemed like a very high valuation at the time, although of course it has probably been one of the most successful acquisitions Cadence did when you think of the sales of Verilog that they have made over the intervening years. VHDL, which is actually one of those nested acronyms since it stood for VHSIC Hardware Description Language, with VHSIC further parsed down into Very High Speed Integrated Circuit. The VHSIC program was run by the US DoD and VHDL looked for a time that it might become the dominant standard, since Verilog was a proprietary language owned by Cadence.</p>
<p> But Cadence opened Verilog up and let other people participate in driving the language standard. As Gordon Bell once said, the only justification for VHDL was to force Cadence to put Verilog into the public domain. But having two languages has been a major cost to the EDA industry for very little gain. VHDL was a very powerful language but in many ways was less practical than Verilog. For instance, you could define your own values for any signal. But that meant that gates from one library wouldn&#8217;t necessarily interact properly with gates from another library (sounds like some of the problems with TLM models in SystemC that are finally being resolved). So that required a new standard, VITAL, so that gate-level signals were standardized. The richness of VHDL abstractions meant that it was and is used for some of the most complex communication chips. Model Technology (now part of Mentor) had probably the best VHDL simulator that they sold cheaply, and that helped to make VHDL more standard in the FPGA market than Verilog. Despite the fact&nbsp; that a Verilog simulator is easier to write than a VHDL simulator, it sold for a higher price for years. This has led to an odd phenomenon where some of the most advanced chips are done in VHDL, and many of the simpler ones.</p>
<p> Anyway, the dual language environment (and, of course, SystemVerilog has arrived to make a third) continues to exist. Almost all tools have, over the years, bitten the bullet and provided dual language support for both VHDL and Verilog. Often the front end for VHDL, which is a complex language to parse, comes from Verific (as does the VHDL front-end for Oasys&#8217;s RealTime Designer).</p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=232</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Barriers to entry</title>
		<link>http://edagraffiti.com/?p=147</link>
		<comments>http://edagraffiti.com/?p=147#comments</comments>
		<pubDate>Thu, 24 Sep 2009 00:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[investment]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/09/24/barriers-to-entry/</guid>
		<description><![CDATA[When I looked around at DAC last month (well, the month before last, what happened to August?) one thing that is in some ways surprising is that, given the poor growth prospects of the EDA industry, there are so many &#8230; <a href="http://edagraffiti.com/?p=147">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img hspace="3" vspace="3" align="left" src="http://www.edagraffiti.com/images/barriers.jpg" alt="">When I looked around at DAC last month (well, the month before last, what happened to August?) one thing that is in some ways surprising is that, given the poor growth prospects of the EDA industry, there are so many small EDA companies.</p>
<p>If you are a technologist of some sort then it seems like the challenge of getting an EDA company going is insurmountable. After all, there are probably only a couple of dozen people in the world who have deep enough knowledge of the esoteric area of design or semiconductor to be able to create an effective product. That seems like it should count as a high barrier.</p>
<p>But, in fact, technology is the lowest of barriers if you are in a market where technology counts for something. Designing and building chips is something that races along at such a breakneck pace that the whole design ecosystem is disrupted every few years and new technology is required. It has to come from somewhere. As a result, brand-name counts for very little and small companies with differentiated important technology can be successful very quickly.</p>
<p>Other industries are not like that nowhere else does technology move so fast. What was the last big innovation in automotive? Probably hybrid powertrains. Most cars still don&rsquo;t have them and it is now ten year old technology.</p>
<p>Let&rsquo;s think of an industry with just about the least amount of technology, so pretty much at the other end of the scale from EDA and semiconductor: bottled water. Do you think that your bottled water startup is going to do well because you have better water technology? Do you think that the customer who chose Perrier rather than Calistoga could actually taste the difference anyway? Bottled water is selling some sort of emotional aspirational dream.</p>
<p>You&rsquo;ve obviously noticed that if you go to bar and get upscale water then you typically end up with something from Europe (San Pellegrino, Perrier, Evian) and not something from California (Crystal Geyser, Calistoga). It has to be bottled in Europe and shipped here. Why don&rsquo;t they ship it in bulk and bottle it here? For the same reason as wine is bottled before it is shipped: nobody would trust what was in the bottle. One thing that surprised me when I was in Japan a couple of years ago is that the Crystal Geyser water we turn down as being insufficiently upscale is what they drink over there. It comes from California, the other side of the Pacific, how exotic is that? I don&rsquo;t know if the third leg of the stool exists, people in Europe drinking water from Asia: bottled from a spring on Mount Fuji, how zen is that?.</p>
<p>In between are lots of companies and industries where there is obviously a technical component, and an emotional component. BMW may be the ultimate driving machine, but most people who buy one couldn&rsquo;t tell you what a brake-horsepower is, even if they know how many their car has. And almost nobody actually uses all that horsepower, running their car at the redline on the tacho all the time. Yes, there&rsquo;s technology but mostly it&rsquo;s an emotional sell.</p>
<p>In the commercial world, think of Oracle. Do you think you are going to displace Oracle because you&rsquo;re little startup has some superior relational database technology? No, there&rsquo;s a whole ecosystem around Oracle, they largely sell to people who don&rsquo;t understand technology (CFOs) and so brand-name counts for something. They are partially making an emotional decision and buying peace of mind.</p>
<p>Brand name still counts for a lot in the consumer market space, even if less than it used to. This is measured by the increase in price for the brand name that consumers will pay compared to the no-name. Many of the top brand names in the world (Coca-Cola, Kellogs, Colgate) are very old going back a century or so but the premium, especially in the current downturn, that people will pay to get a Sony rather than Best Buy own-brand is shrinking.</p>
<p>So brand name or ecosystem are really high barriers to entry. Technology not much. A few smart guys and a two or three years of writing code is a lot easier than recreating the ecosystem around ARM, never mind making your cola as well known as Coke.</p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=147</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application engineers</title>
		<link>http://edagraffiti.com/?p=143</link>
		<comments>http://edagraffiti.com/?p=143#comments</comments>
		<pubDate>Sat, 04 Jul 2009 00:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[sales]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/07/04/application-engineers/</guid>
		<description><![CDATA[Application engineers are the unsung heroes of EDA. They have to blend the technical skills of designers with the interpersonal skills of salespeople. Most AEs start out as design engineers (or software engineers for the embedded market). But not all &#8230; <a href="http://edagraffiti.com/?p=143">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img vspace="3" hspace="3" align="left" src="http://www.edagraffiti.com/images/ae.jpg" alt="">Application engineers are the unsung heroes of EDA. They have to blend the technical skills of designers with the interpersonal skills of salespeople. Most AEs start out as design engineers (or software engineers for the embedded market). But not all design engineers make it as AEs, partially because, as I&rsquo;m sure you&rsquo;ve noticed, not all design engineers have good interpersonal skills! There&rsquo;s also another problem, memorably described to me years ago by Devadas Varma: &ldquo;they&rsquo;ve only been in the restaurant before; now they&rsquo;re in the kitchen they&rsquo;re not so keen on what it takes to prepare the food.&rdquo; Being an AE means cutting more corners than being a design engineer, and some people just don&rsquo;t have that temperament. An AE usually has to produce a 95% solution quickly; a design engineer has to take whatever time it takes to produce a 100% solution.</p>
<p>AEs have a lot of options in their career path. As they become more senior and more experienced they have four main routes that they can take. They can remain as application engineers and become whatever the black-belt AEs are called in that company, be the guy who has to get on a plane and fly to Seoul to save a multi-million dollar renewal. They can become AE managers, and run a region or a functional group of AEs. They can move into product marketing, which is always short of people who actually know the product. Or they can move into sales and stop resenting the fact that when the deal closes, for which they feel they did all the work, the salesperson makes more than they do (and usually discover sales is harder than they expected).</p>
<p>In a startup, in particular, the first few AEs hired can be the difference between success and failure. The first release of a product never works properly, never quite matches what the market need is and is simply immature. The AE has to keep the customer happy by substituting their own expertise for the deficiencies of the tool while at the same time conveying back to engineering the improvements that are required. Most startups are attacking some sort of walled city, in the sense that there is an incumbent tool/methodology that is already in use, and the startup has to prove that they are better. In fact, not just better, compellingly better. The initial value proposition for most startups, when you look from the 10,000 foot level, is that it is riskier to stick with the existing methodology rather than trust the startup and try the new technology. Getting the customer decision-maker to that point is a mixture of technology (it has to work well enough) and trust in the AE (whatever happens, this guy is going to be there for me). Both factors have to be there to close those so-important initial orders because no matter how good the technology looks, the customer knows that the tool is not mature and might fail at any moment.</p>
<p>It&rsquo;s been interesting looking at the downsizing of GM and Chrysler&rsquo;s dealer network. It seems that part of the reason that car companies sell through independent dealers is that in the early days, nobody would buy a car from halfway across the country without a local guy in-town they trusted (and the situation got locked in place because those local guys became the richest people in town and got the states to pass laws that they could never be designed out; it almost every state it is illegal for GM to sell you a car directly). But that trust issue is just like the AE issue. Customers wouldn&rsquo;t buy a car (tool) from a startup without a dealer (AE) too. It didn&rsquo;t matter how good Ford&rsquo;s car appeared to be in the showroom; in 1930, nobody trusted it not to break frequently (a good assumption) and they needed to trust that their investment was going to continue to be good.</p>
<p>AEs are really hard to find for a startup. Good AEs are pretty highly compensated, and so it is hard to match their salary, so it takes a lot of stock to makeup the difference. I did some consulting for a semiconductor equipment company once and they had an EDA product but they failed to hire a good AE since their own AEs were paid a lot less than a black-belt EDA AE and their salary policies were too inflexible. Good AEs are like gold and if you don&rsquo;t have them you don&rsquo;t get any gold.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=143</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EDA on the iPhone</title>
		<link>http://edagraffiti.com/?p=160</link>
		<comments>http://edagraffiti.com/?p=160#comments</comments>
		<pubDate>Thu, 18 Jun 2009 00:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[eda industry]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/06/18/eda-on-the-iphone/</guid>
		<description><![CDATA[One thing that I&#8217;ve done in the last few months during my involuntary unemployment, other than writing this blog, has been to teach myself how to program the iPhone. Despite having been in marketing for over a decade, my background &#8230; <a href="http://edagraffiti.com/?p=160">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img vspace="2" hspace="2" align="left" alt="" src="http://www.edagraffiti.com/images/iwafer2.jpg">One thing that I&rsquo;ve done in the last few months during my involuntary unemployment, other than writing this blog, has been to teach myself how to program the iPhone. Despite having been in marketing for over a decade, my background is as a software engineer. I wanted to bring my programming skills up to date on a state-of-the-art platform.</p>
<p>One other thing I was interested in was the extent to which software productivity tools had improved. We all know that IC design productivity has improved by about a million times since the early 1980s when you would do well to design and layout a single gate in a day. Software development hadn&rsquo;t seemed to be on the same sort of track when I was a programmer. Now, mainly through the libraries that are now available, applications need a lot less new code. Knowing how to program the iPhone is more about knowing the library calls than it is about writing code in Objective-C. Once you don&rsquo;t need to run to the help files every time you want to call a procedure, you get very productive. With infrastructure like openAccess now available, EDA tools have got more like that too, but that is a bigger topic for another day.</p>
<p>I wrote some toy applications and got them running on my iPhone. Of course I bought a couple of books (at the time, that was all of them, there seem to be lots more about to come out in the next month or two). Having tried several of them, if you too are interested in writing an iPhone app then easily the best book I came across for getting started is the aPress one <a href="http://www.amazon.com/gp/product/1430216263?ie=UTF8&amp;tag=greenfolder-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1430216263">Beginning iPhone Development</a>. Other books are probably better once you are up to speed; as with any domain, what you want as a tutorial to get started is different from what you want as a reference once you are up to speed. Stanford has also put online the <a href="http://www.stanford.edu/class/cs193p/cgi-bin/downloads.php">course materials for CS193P</a> on iPhone programming.</p>
<p><a href="http://tinyurl.com/iWafer"><img align="right" alt="" src="http://www.edagraffiti.com/images/iwaferlogo.jpg"></a>However, it never occurred to me to write an EDA application for the iPhone. However, it did occur to Michael Sanie (disclosure: Michael is a friend and he has worked for me as both employee and consultant in the past). Obviously nobody is going to be doing place and route on their iPhone. Michael has written a tool <a href="http://tinyurl.com/iWafer">iWafer</a> for estimating die size, estimating how many die fit on a wafer, and estimating yield. Not all that different from a workstation-based tool I wrote back in the mid-1980s called the DesignAssistant. It did die size estimation and would have done yield estimation too, except that data was considered commercially sensitive back then. iWafer is a handy calculator for working out how big a die you are likely to need for a certain number of gates, how many will fit on various sized wafers, and how many of those die (dice) are likely to turn out good. Various foundry salespeople are already finding it to be a useful tool to have in their pocket (pun intended).</p>
<p>Anyway, everyone always complains that EDA tools cost too much. But this one doesn&rsquo;t merit that criticism, it&rsquo;s just $9.99.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=160</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emotional engineers</title>
		<link>http://edagraffiti.com/?p=231</link>
		<comments>http://edagraffiti.com/?p=231#comments</comments>
		<pubDate>Tue, 02 Jun 2009 00:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[management]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/06/02/emotional-engineers/</guid>
		<description><![CDATA[People sometimes say that salespeople are emotional, unlike engineers. I think what they mean is that salespeople are (stereotypically) extrovert so if you mess with them they&#8217;ll make a noise about it. Whereas engineers are introvert and will just brood &#8230; <a href="http://edagraffiti.com/?p=231">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img vspace="3" hspace="3" align="left" alt="" src="http://www.edagraffiti.com/images/crying.jpg">People sometimes say that salespeople are emotional, unlike engineers. I think what they mean is that salespeople are (stereotypically) extrovert so if you mess with them they&rsquo;ll make a noise about it. Whereas engineers are introvert and will just brood (&ldquo;How can you tell if an engineer is extrovert? He stares at <em>your</em> shoes&rdquo;). But actually salespeople are coin-operated. Change their commission plans and they&rsquo;ll cancel everything they were doing and do something else. They&rsquo;ll complain loudly but they&rsquo;ll do it. Engineers are&nbsp; much more emotional and have a lot invested in their products. Cancel their product and it takes a long time for them to become productive again. Unlike sales, they won&rsquo;t complain but they won&rsquo;t do it. They&rsquo;ll waste a lot of time talking amongst themselves about how management shortsightedly delayed the salvation of mankind instead.</p>
<p>Every EDA startup, at least the ones that get that far, goes through a difficult emotional transition with engineering when the first product finally starts to ship.</p>
<p>In the early days of a startup, almost the entire company (maybe everyone other than the CEO) is in engineering. The focus of every review meeting is engineering schedules. The focus of any HR activity is hiring that next great engineer. Everyone is waiting for that first release of the product. Every small slip of the product, every minor change of specification, is minutely analyzed.</p>
<p>Finally the big day arrives and the focus of the company switches very quickly to sales. How is the funnel? What is the booking forecast? How are we doing hiring that critical application engineer? How long to cash-flow neutral? To the extent that management pays attention to engineering it is more focused on when showstopper bugs that are impacting sales will be fixed. Nobody seems to care nearly as much about release 2.0 as they did about release 1.0.</p>
<p>Anyone who has more than one child has seen something similar. Their first child is an only child, the center of their parents&rsquo; attention. Until that second baby arrives and suddenly they are no longer the center of attention. Firstly, there are now two children so attention would naturally be halved. But secondly, babies have an extremely effective strategy for getting all the attention they need: make an unpleasant noise and don&rsquo;t stop until their needs are satisfied.</p>
<p>When sales start, engineering is like the first child. They go from having all the attention to having to share it. And to make it worse, the second child, sales, has a very effective strategy for getting all the attention they need: explain the reasons they are not closing business until their needs are satisfied. To make things worse still, the reason they are not closing business is probably related to deficiencies in the early immature product, which means that what little attention engineering does get is negative.</p>
<p>This is a very tough emotional transition. Engineering is on the start of a path from being almost 100% of the company declining to 20% of the company as it moves towards maturity. Engineering will hold headcount relatively flat as other parts of the company seem to explode. Engineering goes from being the star of the show to a supporting role.</p>
<p>The most important thing to do about handling this is to make sure everyone understands that it is going to happen, like telling your 4 year-old about the new baby. And, what is more, make sure everyone realizes that it is a symptom of success, a rite of passage. When all that anyone cares about is engineering, it means that the company isn&rsquo;t selling anything. When management cares about other things, that&#8217;s the first taste of victory. It&rsquo;s engineering&rsquo;s job to get out of glare of attention as quickly as they can, and let sales start taking the heat.</p>
<p>After all, how much fun was it when the CEO was analyzing engineering&rsquo;s embarrassingly inaccurate schedules in great detail. Every day.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=231</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another look at internal development</title>
		<link>http://edagraffiti.com/?p=55</link>
		<comments>http://edagraffiti.com/?p=55#comments</comments>
		<pubDate>Thu, 28 May 2009 00:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[semiconductor]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/05/28/another-look-at-internal-development/</guid>
		<description><![CDATA[I&#8217;ve talked before about internal development, by which I mean semiconductor companies developing their own tools. I just don&#8217;t think that it is going to happen in a big way. In the early 1980s VLSI design techniques were being disseminated &#8230; <a href="http://edagraffiti.com/?p=55">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img align="left" alt="" src="http://www.edagraffiti.com/images/idev.jpg">I&rsquo;ve talked <a href="http://edagraffiti.com/blog/920000692/post/1120041712.html">before</a> about internal development, by which I mean semiconductor companies developing their own tools. I just don&rsquo;t think that it is going to happen in a big way.</p>
<p>In the early 1980s VLSI design techniques were being disseminated outside a handful of semiconductor companies where the priestly knowledge had previously been secreted. VLSI Technology and LSI Logic (primarily) invented ASIC design, whereby customers did part of the design and the semiconductor company (we called them foundries then, but they were not exactly the same as what we call a foundry today) did the rest. A lot of design tool development was internal. There was a good reason for that, namely that there was no 3rd party EDA industry providing the necessary tools, and so no tools meant no product to fill the fab. Remember that if you have a fab you are like an hotel; every wafer start slot with no actual wafer to start is like a plane with an empty seat. Once the slot has passed or the plane takes off, it&#8217;s gone for ever.</p>
<p>So VLSI Technology and LSI Logic (and HP, Intel, TI and everyone else) had a large amount of internal CAD. It was differentiation to some extent, and there wasn&rsquo;t really an alternative. The CAD teams were staffed with top rate engineers, many of them M.Sc. and Ph.D. students from the first cohort of people from universities starting to teach and research VLSI design.</p>
<p>Then came the first wave of EDA companies, the DMV&mdash;Daisy, Mentor and Valid. They provided systems for doing some front end design, basically schematic capture and simulation. The standard ASIC methodology was to do design to netlist, ship the netlist to the semiconductor vendor who would do place and route (either as a standard-cell design or a gate-array) and provide back annotation of capacitance values (we didn&rsquo;t worry about resistance back then, timing was dominated by capacitance) for resimulation and signoff.</p>
<p>This design flow didn&rsquo;t work very well at first. Wilf Corrigan, CEO of LSI Logic famously complained that the EDA industry took all the profit from ASIC. Customers would buy tools but the semiconductor company would only get their money once a design could get through the flow. So much of the heavy lifting to mature the flows and make them workable was done by the semiconductor companies not the EDA companies. The next generation of EDA companies was SDA and ECAD who merged to form Cadence (this was long before Synopsys). The Japanese semiconductor companies adopted 3rd party EDA vigorously, since they had very limited internal development and this allowed them to get into the new markets that ASIC was opening up.</p>
<p>The writing was on the wall for internal EDA, at least in the long term.</p>
<p>So the EDA part of the business split into an external part, the EDA industry, and an internal part, the CAD groups. By and large the CAD groups were training grounds for entry level engineers, some engineers with deep design experience and, usually, first rate management (often drafted in from the design side of the company to keep the internal politics calm). They knew how to use tools but not how to create them. The internal tool developers migrated from the semiconductor companies into the EDA companies.</p>
<p>The two exceptions to this, companies that kept large internal development groups, were Intel and IBM who still, to this day, develop significant amounts of EDA software for their own internal use. But it is very expensive to do this, and even they don&rsquo;t know how useful it is. I once asked someone in Intel&rsquo;s Design Technology (their internal CAD/development group) whether their routers were better than the EDA industries. He admitted they didn&rsquo;t have a clue; they had no bandwidth to even take a look at what was available externally.</p>
<p>So I don&rsquo;t see internal development being a major force since the economics don&rsquo;t work very well. However, that could change with consolidation of both EDA and semiconductor companies, and especially if a semiconductor company jump-started internal development by acquiring one or more EDA companies.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=55</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test cases</title>
		<link>http://edagraffiti.com/?p=213</link>
		<comments>http://edagraffiti.com/?p=213#comments</comments>
		<pubDate>Thu, 14 May 2009 00:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/05/14/test-cases/</guid>
		<description><![CDATA[I talked recently about customer support and how to handle it. One critical aspect of this is the internal process by which bugs get submitted. The reality is that if an ill-defined bug comes in, nobody wants to take the &#8230; <a href="http://edagraffiti.com/?p=213">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img vspace="3" hspace="3" align="left" alt="" src="http://www.edagraffiti.com/images/farm.jpg">I talked <a href="http://edagraffiti.com/blog/920000692/post/1520044152.html">recently</a> about customer support and how to handle it. One critical aspect of this is the internal process by which bugs get submitted. The reality is that if an ill-defined bug comes in, nobody wants to take the time to isolate it. The AEs want to be out selling and that if they just throw it over the wall to engineering then it will be their job to sort it out. Engineering feels that any bug that can&rsquo;t easily be reproduced is not their problem to fix. If this gets out of hand then the bug languishes, the customer suffers and, eventually, the company too. As the slogan correctly points out, &ldquo;Quality is everyone&rsquo;s job.&rdquo;</p>
<p>The best rule for this that I&rsquo;ve ever come across was created by Paul Gill when we were at Ambit. To report a bug, an application engineer must provide a self-checking test case, or else engineering won&rsquo;t consider it. No exceptions. And he was then obstinate enough to enforce the &ldquo;no exceptions&rdquo; rule.</p>
<p>This provides a clear separation between the AE&rsquo;s job and the development engineers job. The AE must provide a test case that illustrates the issue. Engineering must correct the code so that it is fixed. Plus, when all that activity is over, there is a test case to go in the regression suite.</p>
<p>Today, most tools are scripted with TCL, Python or Perl. A self-checking test case is a script that runs on some test data and gives a pass/fail test as to whether the bug exists. Obviously, when the bug is submitted the test case will fail (or it wouldn&rsquo;t be a bug). When engineering has fixed it, then it will pass. The test case can then be added to the regression suite and it should stay fixed. If it fails again, then the bug has been re-introduced (or another bug with similar symptoms has been created).</p>
<p>There are a few areas where this approach won&rsquo;t really work. Most obviously are graphics problems: the screen doesn&rsquo;t refresh correctly, for example. It is hard to build a self-checking test case since it is too hard to determine whether what is on the screen is correct. However, there are also things which are on the borderline between bugs and quality of results issues: this example got a lot worse in the last release.&nbsp; It is easy to build the test case but what should be the limit. EDA tools are not algorithmically perfect so it is not clear how much worse should be acceptable if an algorithmic tweak makes most designs better. But it turns out that for an EDA tool, most bugs are in the major algorithms under control of the scripting infrastructure and it is straightforward to build a self-checking test case.</p>
<p>So when a customer reports a bug, the AE needs to take some of the customer&rsquo;s test data (and often they are not allowed to ship out the whole design for confidentiality reasons) and create a test case, preferably small and simple, that exhibits the problem. Engineering can then fix it. No test case, no fix.</p>
<p>If a customer cannot provide data to exhibit the problem (the NSA is particularly bad at this!) then the problem remains between the AE and the customer. Engineering can&rsquo;t fix a problem that they can&rsquo;t identify.</p>
<p>With good test infrastructure, all the test cases can be run regularly, and since they report whether they pass or fail it is easy to build a list of all the failing test cases. Once a bug has been fixed, it is easy to add its test case to the suite and it will automatically be run each time the regression suite is run.</p>
<p>That brings up another aspect of test infrastructure. There must be enough hardware available to run the regression suite in reasonable time. A large regression suite with no way to run it frequently is little use. We were lucky at Ambit that we persuaded the company to invest in 40 Sun servers and 20 HP servers just for running the test suites</p>
<p>A lot of this is fairly standard these days in open-source and other large software projects. But somehow it still isn&#8217;t standard in EDA which tends to provide productivity tools for designers, without using state of the art productivity tools themselves.</p>
<p>On a related point, the engineering organization needs to have at least one very large machine too. Otherwise inevitably customers will run into problems with very large designs where there is no hardware internally to even attempt to reproduce the problem. This is less of an issue today when hardware is cheap than it used to be when a large machine was costly. It is easy to forget that ten years ago, it cost a lot of money to have a server with 8 gigabytes of memory; few hard disks were even that big back then.</p>
<p><a href="http://imgs.xkcd.com/comics/cnr.png"><img align="right" src="http://www.edagraffiti.com/images/xkcdtestcase.jpg" alt=""></a></p>
<p>And with perfect timing, here&#8217;s yesterday&#8217;s XKCD on test-cases:</p></p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=213</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is EDA so buggy?</title>
		<link>http://edagraffiti.com/?p=256</link>
		<comments>http://edagraffiti.com/?p=256#comments</comments>
		<pubDate>Tue, 27 Jan 2009 00:00:00 +0000</pubDate>
		<dc:creator>paulmcl</dc:creator>
				<category><![CDATA[eda industry]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://blogs.cancom.com/elogic_920000692/2009/01/27/why-is-eda-so-buggy/</guid>
		<description><![CDATA[I have sat through numerous keynote speeches by CTOs of semiconductor companies berating the EDA industry for shipping tools that are full of bugs and that are late, not ready enough in advance of the appropriate process node. Of course &#8230; <a href="http://edagraffiti.com/?p=256">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img alt="Buggy" hspace="3" align="left" vspace="3" src="http://www.edagraffiti.com/images/buggy.jpg">I have sat through numerous keynote speeches by CTOs of semiconductor companies berating the EDA industry for shipping tools that are full of bugs and that are late, not ready enough in advance of the appropriate process node. Of course this is true, and nothing I am going to say is to imply that improvement is impossible. But it is an intrinsic problem, not just laziness or incompetence on the part of EDA vendors.</p>
<p>In an informal setting, that is to say over a beer rather than in front of a large audience, I tell such CTOs that if they want more reliable software then they can simply use an old version of the tools that has been shipping for years. Tools like that get pretty solid. Of course that is simply a glib response since I know that they can&rsquo;t design 65nm designs with 130nm tools.</p>
<p>So my next suggestion is that the EDA industry could delay shipping new tools for an extra year or so to allow extensive testing. Another glib response since we all know that the tools are already late and even if it were possible to test them extensively without shipping them (what would we use for test data?) the delay would be unacceptable.</p>
<p>There are two reasons for this state of affairs, one technical and one economic.</p>
<p>The technical reason is that it simply isn&rsquo;t possible to know everything necessary about a new process node far enough ahead of time to allow for a robust development cycle. For example, even with a huge team of people ready to go it is impossible to develop a full suite of technology for 22nm design. We just don&rsquo;t know everything we need to know to get started and neither do the semiconductor companies and their equipment suppliers. Inevitably the tools will be later than desired and customers would rather have buggy tools now than better tools in six months. It is the EDA version of MacArthur&rsquo;s <a href="http://www.quotationspage.com/quote/30684.html">dictum</a> that a good plan violently executed now is far better than a pefect plan executed next week. In fact, whatever schedule is chosen, there are always customers lining up to be beta sites, so that they can get their hands on technology earlier, and pressure to ship even earlier even though the tools will be buggier still.</p>
<p>There is also the fact that it is not really possible to develop an EDA tool in a vacuum. There need to be libraries and designs in the process node to be used to test and wring out the code. A new tool is often rock solid on old designs, it is the new bigger more complex designs that break the tools in new ways.</p>
<p>The economic argument is that EDA has to support several process nodes at once and recoup its investment in a timely manner. Those same CTOs who berate EDA companies for not being aggressive enough, work at the same companies that have CAD managers who insist that resources be diverted to back-patching bugs. They want fixes that are already available added back into obsolete (and no longer officially maintained) versions of the software because their design groups haven&rsquo;t got round to switching. And those CTOs have finance managers who don&rsquo;t want to increase their budget for leading edge tools only used by the small number of advanced groups.</p>
<p>The effect of all of this is that EDA companies make their money and recoup their investment on processes only when they become mainstream. They cannot afford to make that investment too far ahead of the mainstream for economic reasons as well as technical ones. The fact that the mainstreaming of the most advanced processes is slowing is already starting to strain this model somewhat since it delays the time to payback.</p>
<p>One way to improve the quality of EDA software would be <a href="http://edagraffiti.com/blog/920000692/post/310039431.html">open source</a>. But if undertaken by the major suppliers, this would also destroy their business model and probably thus result in no software at all. However, EDA moves too fast for open source to simply clone the successful products in parallel. The <a href="http://www.econtalk.org/archives/2009/01/eric_raymond_on.html">Econtalk podcast with Eric Raymond</a> pointed out another industry that moves fast and where open source has little impact: games. By the time a game is clearly a hit it is too late to start an open source project to clone it. The gaming community will have got bored with that game and moved onto something else by the time the open source free version is complete and widely available.</p>
<p>Other industries don&rsquo;t have this problem because they don&rsquo;t move so fast. Technologies in automotive are adopted in decades not a year or two. CAD for automotive has a lot of time to adapt. But EDA is stuck with a very short reaction cycle and even if the ROI was richer, it is not clear that much would change.</p>
]]></content:encoded>
			<wfw:commentRss>http://edagraffiti.com/?feed=rss2&#038;p=256</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
