<?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>Olivier Coudert&#039;s Blog</title>
	<atom:link href="http://www.ocoudert.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ocoudert.com/blog</link>
	<description>My take on tech --and other topics</description>
	<lastBuildDate>Fri, 23 Jul 2010 22:34:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Twitter Maps America’s Mood in Real Time</title>
		<link>http://www.ocoudert.com/blog/2010/07/23/twitter-maps-america%e2%80%99s-mood-in-real-time/</link>
		<comments>http://www.ocoudert.com/blog/2010/07/23/twitter-maps-america%e2%80%99s-mood-in-real-time/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 22:31:10 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[social network]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=916</guid>
		<description><![CDATA[<p>What’s the mood in the US? To answer the question, researchers from  Northeastern University and Harvard College fed about 300 million tweets  to a system based on <a href="http://csea.phhp.ufl.edu/Media.html#bottommedia" target="_blank">ANEW</a> [...]</p>
<p>Continue reading <a href="http://thenextweb.com/socialmedia/2010/07/23/twitter-maps-americas-mood-in-real-time/" target="_blank">Twitter Maps America’s Mood in Real Time</a></p>


<p>Related posts:<a href='http://www.ocoudert.com/blog/2010/01/12/is-twitter-flattening-a-short-answer/' rel='bookmark' title='Permanent Link: Is Twitter Flattening? A Short Answer'>Is Twitter Flattening? [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/07/23/twitter-maps-america%e2%80%99s-mood-in-real-time/">Twitter Maps America’s Mood in Real Time</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/01/12/is-twitter-flattening-a-short-answer/' rel='bookmark' title='Permanent Link: Is Twitter Flattening? A Short Answer'>Is Twitter Flattening? A Short Answer</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/01/19/twitter-and-snowflakes/' rel='bookmark' title='Permanent Link: Twitter and snowflakes'>Twitter and snowflakes</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/30/how-twitter-is-changing-access-to-information/' rel='bookmark' title='Permanent Link: How Twitter is changing access to information'>How Twitter is changing access to information</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>What’s the mood in the US? To answer the question, researchers from  Northeastern University and Harvard College fed about 300 million tweets  to a system based on <a href="http://csea.phhp.ufl.edu/Media.html#bottommedia" target="_blank">ANEW</a> [...]</p>
<p>Continue reading <a href="http://thenextweb.com/socialmedia/2010/07/23/twitter-maps-americas-mood-in-real-time/" target="_blank">Twitter Maps America’s Mood in Real Time</a></p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/01/12/is-twitter-flattening-a-short-answer/' rel='bookmark' title='Permanent Link: Is Twitter Flattening? A Short Answer'>Is Twitter Flattening? A Short Answer</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/01/19/twitter-and-snowflakes/' rel='bookmark' title='Permanent Link: Twitter and snowflakes'>Twitter and snowflakes</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/30/how-twitter-is-changing-access-to-information/' rel='bookmark' title='Permanent Link: How Twitter is changing access to information'>How Twitter is changing access to information</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/07/23/twitter-maps-america%e2%80%99s-mood-in-real-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIP Tier Logic</title>
		<link>http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/</link>
		<comments>http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 22:28:27 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=892</guid>
		<description><![CDATA[<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/03/tierlogiclogo.png"></a>It&#8217;s official: <a rel="nofollow" href="http://www.tierlogic.com/" target="_blank">Tier Logic</a> will cease to be in business on Friday July 16, 2010. The company has been trying to close its second round of funding, but it became clear last week that no short-term funding from a new VC  would come, despite some due diligence by two lead investors. [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/">RIP Tier Logic</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/' rel='bookmark' title='Permanent Link: Can Tabula and Tier Logic be successful?'>Can Tabula and Tier Logic be successful?</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/' rel='bookmark' title='Permanent Link: RIP Abound Logic'>RIP Abound Logic</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/03/tierlogiclogo.png"><img class="alignright size-full wp-image-755" title="tierlogiclogo" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/03/tierlogiclogo.png" alt="" width="86" height="86" /></a>It&#8217;s official: <a rel="nofollow" href="http://www.tierlogic.com/" target="_blank">Tier Logic</a> will cease to be in business on Friday July 16, 2010. The company has been trying to close its second round of funding, but it became clear last week that no short-term funding from a new VC  would come, despite some due diligence by two lead investors. Since Tier Logic&#8217;s existing investor decided to not pursue on its  own, it had no choice but to close the doors.</p>
<p>Tier Logic had a unique <a rel="nofollow" href="http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/" target="_blank">value proposition</a>: you could turn its FPGA into an ASIC in a predictable time and cost. It had a working silicon and a proven production tool, and achieved to do so with spending only $20M.</p>
<p>It is a pity to see that a company with such a good technology and such an attracting business proposition must shut down because of lack of interest from VCs. You have to wonder which strings you have to pull in the investment community to get the attention you deserve.</p>
<p>Although Tier Logic will likely attempt to sell its technology to a Xilinx or an Altera, it is also quite likely that whoever the buyer is will simply buy Tier Logic&#8217;s patents to bury them. Too bad.</p>
<p>After <a href="http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/" target="_self">Abound Logic</a>&#8216;s shut down 6 weeks ago, another startup showing how <a href="http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/" target="_blank">hard</a> it is to be successful in FPGA.</p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/' rel='bookmark' title='Permanent Link: Can Tabula and Tier Logic be successful?'>Can Tabula and Tier Logic be successful?</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/' rel='bookmark' title='Permanent Link: RIP Abound Logic'>RIP Abound Logic</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How to write abstract iterators in C++</title>
		<link>http://www.ocoudert.com/blog/2010/07/07/how-to-write-abstract-iterators-in-c/</link>
		<comments>http://www.ocoudert.com/blog/2010/07/07/how-to-write-abstract-iterators-in-c/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 21:18:32 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=859</guid>
		<description><![CDATA[<p><a style="display: none;" rel="tag" href="http://www.codeproject.com/script/Articles/BlogFeedList.aspx?amid=6630043">CodeProject</a></p>
<p>When developing in C++, an <a href="../2009/10/08/api-design-101/">impeccable API</a> is a must have: it has to be as simple as possible, abstract, generic, and extensible. One important generic concept that STL made C++ developers familiar with is the concept of iterator.</p>
<p>An iterator is used to visit the elements of a container without exposing [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/07/07/how-to-write-abstract-iterators-in-c/">How to write abstract iterators in C++</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2009/10/08/api-design-101/' rel='bookmark' title='Permanent Link: API design 101'>API design 101</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a style="display: none;" rel="tag" href="http://www.codeproject.com/script/Articles/BlogFeedList.aspx?amid=6630043">CodeProject</a></p>
<p>When developing in C++, an <a href="../2009/10/08/api-design-101/">impeccable API</a> is a must have: it has to be as simple as possible, abstract, generic, and extensible. One important generic concept that STL made C++ developers familiar with is the concept of iterator.</p>
<p>An iterator is used to visit the elements of a container without exposing how the container is implemented (e.g., a vector, a list, a red-black tree, a hash set, a queue, etc). Iterators are central to generic programming because they are an interface between containers and applications. Applications need access to the elements of containers, but they usually do not need to know how elements are stored in containers. Iterators make possible to write generic algorithms that operate on different kinds of containers.</p>
<p>For example, the following code snippet exposes the nature of the container –a vector.</p>
<pre style="color: #000000; background-color: #ffe3c1;" lang="cpp">     void process(const std::vector&lt;E&gt;&amp; v)
     {
         for (unsigned i = 0; i &lt; v.size(); ++i) {
             process(v[i]);
         }
     }</pre>
<p>If we want to have the same function operating on a list, we have to write a separate function. Or if we later decide that a list or a hash set is more appropriate as a container, we need to rewrite the code everywhere we access the vector. This may require a lot of changes in many files. Contrast this container-specific visitation scheme to the following:</p>
<pre style="color: #000000; background-color: #ffe3c1;">     template &lt;typename Container&gt;
     void process(const Container&amp; c)
     {
         typename Container::const_iterator itr = c.begin();
         typename Container::const_iterator end = c.end();
         for (; itr != end; ++itr) {
             process(*itr);
         }
     }</pre>
<p>Using the notion of iterator, we have a generic processing of a container ‘c’, whether it is a vector, a list, a hash set, or any data structure that provides iterators in its API. Even better, we can write a generic process function that only takes an iterator range, without assuming that the container has a begin() and end() method:</p>
<pre style="color: #000000; background-color: #ffe3c1;">     template &lt;typename Iterator&gt;
     void process(Iterator begin, Iterator end)
     {
         for (; itr != end; ++itr) {
             process(*itr);
         }
     }</pre>
<p>An STL iterator is a commodity that behaves as a scalar type:</p>
<ul>
<li>It can      be allocated on the heap</li>
<li>It can      be copied</li>
<li>It can      be passed by value</li>
<li>It can      be assigned to</li>
</ul>
<p>The essence of an iterator is captured by the following API.</p>
<pre style="color: #000000; background-color: #ffe3c1;">     template &lt;typename T&gt;
     class Itr {
     public:
         Itr();
         ~Itr();
         Itr(const Itr&amp; o);                   <span style="color: #ff0000;">// Copy constructor</span>
         Itr&amp; operator=(const Itr&amp; o);        <span style="color: #ff0000;">// Assignment operator</span>
         Itr&amp; operator++();                   <span style="color: #ff0000;">// Next element</span>
         T&amp;   operator*();                    <span style="color: #ff0000;">// Dereference</span>
         bool operator==(const Itr&amp; o) const; <span style="color: #ff0000;">// Comparison</span>
         bool operator!=(const Itr&amp; o) const { return !(*this == o); }
     }</pre>
<p>Usually the container will provide a begin() and end() method, which build the iterators that denote the container’s range. Writing these begin/end methods is an easy task if the container is derived from a STL container, if the container has a data member that is an STL container, or if the iterator is a scalar type, like a pointer or an index.</p>
<p>It is more complicated if we want iterators that dereference to the same type of object, but that must visit several containers, possibly of different types, or iterators that visit containers in different manners. For instance let us assume that we have objects with some property (say, a color) stored in several containers, some of them of different types. We would like to visit all the objects, independently of the number of containers and their type, or we would like to visit objects of a given color, or we would like to visit objects that satisfy some predicate:</p>
<pre style="color: #000000; background-color: #ffe3c1;">     class E;

     Itr&lt;E&gt; begin(); <span style="color: #ff0000;">// This give the range to visit</span>
     Itr&lt;E&gt; end();   <span style="color: #ff0000;">// all the elements of type E  </span>    

     Itr&lt;E&gt; begin(const Color&amp; color); <span style="color: #ff0000;">// Same as above but only for the</span>
     Itr&lt;E&gt; end(const Coir&amp; color);    <span style="color: #ff0000;">// elements of the given color</span>      

     class Predicate {
     public:
         bool operator()(const E&amp; e);
     };      

     Itr&lt;E&gt; begin(Predicate&amp; p); <span style="color: #ff0000;">// Same as above but only for the</span>
     Itr&lt;E&gt; end(Predicate&amp; p);   <span style="color: #ff0000;">// elements that satisfy the predicate</span></pre>
<p>In this case the iterator is more complex than a scalar type like a pointer or an index: it needs to keep track of which container it is currently visiting, or which color or predicate it needs to check. In general, the iterator may have data members so that it can fulfill its task. Also we want to factorize the code and reuse general purpose iterators’ methods when writing more targeted iterators –e.g., visiting elements of a specific color should make use of the next-element method Itr&lt;E&gt;::operator++(). This can be done by having Itr&lt;E&gt; be a virtual class, and having derived classes to implement the different iterators. For example:</p>
<pre style="color: #000000; background-color: #ffe3c1;">     class E {
     public:
         Color&amp; color() const;
     };      

     template &lt;typename E&gt;
     class ColoredItr&lt;E&gt; : public Itr&lt;E&gt; {
     private:
         typedef Itr&lt;E&gt; _Super;
     public:
         ColoredItr&lt;E&gt;(const Color&amp; color) : Itr&lt;E&gt;(), color_(color) {}
         virtual ~ColoredItr&lt;E&gt;;
         virtual ColoredItr&lt;E&gt;&amp; Operator++() {
            for (; _Super::operator*().color() != color_; _Super::operator++());
            return *this;
         }
     private:
         Color color_;
    };</pre>
<p>We would like a generic iterator that meets all the requirements described above:</p>
<ul>
<li>It can      be allocated on the heap</li>
<li>It can      be copied</li>
<li>It can      be passed by value</li>
<li>It can      be assigned to</li>
<li>It dereferences      to the same type</li>
<li>It can      visit several containers</li>
<li>It can      visit containers of different types</li>
<li>It can      visit containers in arbitrary manners</li>
</ul>
<p>This can be implemented as follows.</p>
<pre style="color: #000000; background-color: #ffe3c1;">     template&lt;typename E&gt;
     class ItrBase {
     public:
         ItrBase() {}
         virtual ~ItrBase() {}
         virtual void  operator++() {}
         virtual E&amp;    operator*() const { return E(); }
         virtual ItrBase* clone() const { return new ItrBase(*this); }
         <span style="color: #ff0000;">// The == operator is non-virtual. It checks that the
         // derived objects have compatible types, then calls the
         // virtual comparison function equal.</span>
         bool operator==(const ItrBase&amp; o) const {
             return typeid(*this) == typeid(o) &amp;&amp; equal(o);
         }
     protected:
         virtual bool equal(const ItrBase&amp; o) const { return true; }
     };      

     template&lt;typename E&gt;
     class Itr {
     public:
         Itr() : itr_(0) {}
         ~Itr() { delete itr_; }
         Itr(const Itr&amp; o) : itr_(o.itr_-&gt;clone()) {}
         Itr&amp; operator=(const Itr&amp; o) {
             if (itr_ != o.itr_) { delete itr_; itr_ = o.itr_-&gt;clone(); }
             return *this;
         }
         Itr&amp;  operator++() { ++(*itr_); return *this; }
         E&amp;    operator*() const { return *(*itr_); }
         bool  operator==(const Itr&amp; o) const {
             return (itr_ == o.itr_) || (*itr_ == *o.itr_);
         }
         bool  operator!=(const Itr&amp; o) const { return !(*this == o); }      

     protected:
         ItrBase&lt;E&gt;* itr_;
     };</pre>
<p>The ItrBase class is the top class of the hierarchy. Itr is simply a wrapper on a pointer to an ItrBase, so that it can be allocated on the heap –the actual implementation of the class deriving from ItrBase can have an arbitrary size. Note how the Itr copy and assignment operators are implemented via the ItrBase::clone() method, so that Itr behaves as a scalar type. Last but not least, the (non-virtual) ItrBase::operator== equality operator first checks for type equality before calling the (virtual) equality method equal on the virtual subclass. The reason ItrBase is not a pure virtual is that it can conveniently be used to denote an empty range, i.e., the range (ItrBase(), ItrBase()) is empty.</p>
<p>Iterators on containers of elements of type E just need to derive from ItrBase&lt;E&gt;, and a factory providing the begin() and end() methods for any specialized iterator returns object of type Itr&lt;E&gt;.</p>
<p>For example, let us assume that we have a container c of E&#8217;s, and that we want an iterator to visit (1) all the elements of c, possibly with repetition; (2) all the elements of c without repetition. This can be done as follows.</p>
<pre style="color: #000000; background-color: #ffe3c1;">    class E;

    class ItrAll : public ItrBase&lt;E&gt; {
    private:
        typedef ItrAll     _Self;
        typedef ItrBase&lt;E&gt; _Super;
    public:
        ItrAll(Container&amp; c) : _Super(), c_(c) {}
        virtual ~ItrAll() {}
        virtual void  operator++() { ++itr_; }
        virtual E&amp;    operator*() const { return *itr_; }
        virtual ItrBase&lt;E&gt;* clone() const { return new _Self(*this); }
    protected:
        virtual bool equal(const ItrBase&lt;E&gt;&amp; o) const {
            <span style="color: #ff0000;">// Casting is safe since types have been checked by _Super::operator==</span>
            const _Self&amp; o2 = static_cast&lt;const _Self&amp;&gt;(o);
            return &amp;c_ == &amp;o2.c_ &amp;&amp; itr_ == o2.itr_;
        }
    protected:
        Container&amp;          c_;
        Container::iterator itr_;
    };     

    class ItrNoRepeat : public ItrAll {
    private:
        typedef ItrNoRepeat _Self;
        typedef ItrAll      _Super;
    public:
        ItrNoRepeat (Container&amp; c) : _Super(c) {}
        virtual ~ItrNoRepeat () {}
        virtual void  operator++() {
            _Super::operator++(); <span style="color: #ff0000;">// Go to the next element then
            // look for an element that has not been visited yet.</span>
            for (; itr_ != c_.end(); _Super::operator++()) {
                E&amp; e = _Super::operator*();
                if (visited_.find(e) == visited_.end()) {
                    visited_.insert(e);
                    return;
                }
            }
        }
        virtual E&amp;    operator*() const { return _Super::operator*(); }
        virtual ItrBase&lt;E&gt;* clone() const { return new _Self(*this); }
    protected:
        virtual bool equal(const ItrBase&lt;E&gt;&amp; o) const { return _Super::equal(o); }
    protected:
        set&lt;E&gt; visited_;
    };     

    <span style="color: #ff0000;">// Build the container’s range w/ and w/o repetition</span>
    Itr&lt;E&gt; begin(Container&amp; c, bool noRepeat = false)
    {
        Itr&lt;E&gt; o;
        if (noRepeat) {
            o.itr_ = new ItrNoRepeat(c);
        } else {
            o.itr_ = new ItrAll(c);
        }
        o.itr_-&gt;itr_ = c.begin();
        return o;
    }     

    Itr&lt;E&gt; end(Container&amp; c, bool noRepeat = false)
    {
        Itr&lt;E&gt; o;
        if (noRepeat) {
            o.itr_ = new ItrNoRepeat(c);
        } else {
            o.itr_ = new ItrAll(c);
        }
        o.itr_-&gt;itr_ = c.end();
        return o;
    }</pre>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2009/10/08/api-design-101/' rel='bookmark' title='Permanent Link: API design 101'>API design 101</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/07/07/how-to-write-abstract-iterators-in-c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why Facebook wants you to believe that “email is dead”</title>
		<link>http://www.ocoudert.com/blog/2010/06/25/why-facebook-wants-you-to-believe-that-%e2%80%9cemail-is-dead%e2%80%9d/</link>
		<comments>http://www.ocoudert.com/blog/2010/06/25/why-facebook-wants-you-to-believe-that-%e2%80%9cemail-is-dead%e2%80%9d/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 06:24:33 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[social network]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=842</guid>
		<description><![CDATA[<p>Apparently email is dead. That is what Facebook’s COO Sheryl Sandberg  claimed at the Nielsen Consumer  360 conference last week and what we wrote a brief report about earlier  this week.</p>
<p>Continue reading <a href="http://thenextweb.com/socialmedia/2010/06/25/why-facebook-wants-you-to-believe-that-%E2%80%9Cemail-is-dead%E2%80%9D/" target="_self">Why Facebook wants you to believe that “email is dead”</a></p>


<p>Related posts:<a href='http://www.ocoudert.com/blog/2010/02/23/so-will-buzz-and-facebook-finally-bury-twitter/' rel='bookmark' title='Permanent Link: So will Buzz and [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/06/25/why-facebook-wants-you-to-believe-that-%e2%80%9cemail-is-dead%e2%80%9d/">Why Facebook wants you to believe that “email is dead”</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/02/23/so-will-buzz-and-facebook-finally-bury-twitter/' rel='bookmark' title='Permanent Link: So will Buzz and Facebook finally bury Twitter?'>So will Buzz and Facebook finally bury Twitter?</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/01/12/is-twitter-flattening-a-short-answer/' rel='bookmark' title='Permanent Link: Is Twitter Flattening? A Short Answer'>Is Twitter Flattening? A Short Answer</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Apparently email is dead. That is what Facebook’s COO Sheryl Sandberg  claimed at the Nielsen Consumer  360 conference last week and what we wrote a brief report about earlier  this week.</p>
<p>Continue reading <a href="http://thenextweb.com/socialmedia/2010/06/25/why-facebook-wants-you-to-believe-that-%E2%80%9Cemail-is-dead%E2%80%9D/" target="_self">Why Facebook wants you to believe that “email is dead”</a></p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/02/23/so-will-buzz-and-facebook-finally-bury-twitter/' rel='bookmark' title='Permanent Link: So will Buzz and Facebook finally bury Twitter?'>So will Buzz and Facebook finally bury Twitter?</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/01/12/is-twitter-flattening-a-short-answer/' rel='bookmark' title='Permanent Link: Is Twitter Flattening? A Short Answer'>Is Twitter Flattening? A Short Answer</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/06/25/why-facebook-wants-you-to-believe-that-%e2%80%9cemail-is-dead%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DAC 47th digest: what you missed (even if you were there)</title>
		<link>http://www.ocoudert.com/blog/2010/06/21/dac-47th-digest-what-you-missed-even-if-you-were-there/</link>
		<comments>http://www.ocoudert.com/blog/2010/06/21/dac-47th-digest-what-you-missed-even-if-you-were-there/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 07:03:40 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[low power]]></category>
		<category><![CDATA[SoC]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=812</guid>
		<description><![CDATA[<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/47th-dac-logo.png"></a>No doubt that for the next two weeks you will find many DAC reports in blogs and corporate marketing websites. So I tried not to write yet another DAC report, with a long list of companies and products.</p>
<p>Instead, I have chosen to share my absolutely non-exhaustive, completely biased view of DAC. I will then publish [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/06/21/dac-47th-digest-what-you-missed-even-if-you-were-there/">DAC 47th digest: what you missed (even if you were there)</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/01/14/did-you-feel-the-tremor/' rel='bookmark' title='Permanent Link: Did you feel the tremor? The 2010 challenges for EDA'>Did you feel the tremor? The 2010 challenges for EDA</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/19/the-formal-verification-market-is-still-untapped/' rel='bookmark' title='Permanent Link: The formal verification market is still untapped'>The formal verification market is still untapped</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/01/24/has-formal-verification-technology-stalled/' rel='bookmark' title='Permanent Link: Has formal verification technology stalled?'>Has formal verification technology stalled?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/47th-dac-logo.png"><img class="alignright size-full wp-image-816" title="47th dac logo" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/47th-dac-logo.png" alt="" width="300" height="110" /></a>No doubt that for the next two weeks you will find many DAC reports in blogs and corporate marketing websites. So I tried not to write yet another DAC report, with a long list of companies and products.</p>
<p>Instead, I have chosen to share my absolutely non-exhaustive, completely biased view of DAC. I will then publish a couple of posts focused on specific themes in the next few days.</p>
<p><strong>Attendance</strong></p>
<p>The <a rel="nofollow" href="http://www2.dac.com/">47<sup>th</sup> DAC</a> was held June 13-18 at the Anaheim Convention Center in California. The preliminary attendance numbers are <a rel="nofollow" href="http://www.businesswire.com/portal/site/home/permalink/?ndmViewId=news_view&amp;newsId=20100618005996&amp;newsLang=en">reported</a> as follow:</p>
<ul>
<li>Total      full conference: 1554</li>
<li>Total      exhibit attendees: 3444 (24% international)</li>
<li>Exhibitors,      visitors, and guests: 2557</li>
<li>Total      attendees: 6001</li>
</ul>
<p>The final attendance numbers are usually a few percent higher.</p>
<p>For a fair comparison, I pulled out the preliminary attendance numbers of the past conferences. I was first fooled by the way the numbers were labeled this year &#8211;see the comments below, and a big thanks to Sean to bring me the correct interpretation. The table below shows the correct data, excluding booth staff. It shows a sharp decline (33%) of the total attendance compared to last year in San Francisco. Not having DAC in San Francisco means higher cost for most of the  attendees –many of them are from the Silicon Valley–, which is clearly  reflected in the attendance numbers.  But if we compare this year&#8217;s numbers with the 2008 DAC venue held at the same location, we see the same sharp decline (28%). Note the drop in exhibits-only attendees (-41% w.r.t. 2009, -21% w.r.t. 2008), not a good sign as this number captures most of the customer audience.</p>
<p style="text-align: center;"><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/DAC-attendance1.png"><img class="aligncenter size-full wp-image-835" title="DAC attendance" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/DAC-attendance1.png" alt="" width="595" height="333" /></a>DAC preliminary attendance numbers (not including booth staff)</p>
<p>This year’s DAC comes after one of the worst recession, but looking forward to a very strong semiconductor growth in 2010 and 2011, which should eventually translate into a mildly better business for EDA. The exhibition was well attended on Monday, with a sharp decline on Wednesday –lots of people left by that time.</p>
<p><strong>The buzz</strong></p>
<p>With Cadence’s <a rel="nofollow" href="http://www.cadence.com/eda360/pages/default.aspx">EDA360</a> campaign in the background, and the fresh acquisitions of <a rel="nofollow" href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=224701795">Denali</a> by Cadence and <a rel="nofollow" href="http://www.eetimes.com/news/design/rss/showArticle.jhtml?articleID=225600228&amp;cid=RSSfeed_eetimes_designRSS">Virage Logic</a> by Synopsys, it felt that IP was the buzzword of the day. IP design here, IP verification there, verification IP everywhere, the overall SoC design looked like an IP integration problem that EDA was gearing up to take on. Embedded software and ESL were also showcased by Cadence and Mentor Graphics as part of their SoC focus.</p>
<p><strong>Verification </strong></p>
<p>There was a booth dedicated to <a rel="nofollow" href="http://www.uvmworld.org/">UVM</a>/<a rel="nofollow" href="http://www.ovmworld.org/">OVM</a> (Universal Verification Methodology/Open Verification Methodology). These methodologies offer open and interoperable verification solutions. They both support multiple languages and simulators, and enable verification IP, so critical to SoC design. The message was well received and had a strong attendance.</p>
<p>Still on the verification side, new products and startups are trying to repeat the success of <a rel="nofollow" href="http://www.springsoft.com/products/functional-qualification/certitude">Certess</a> (acquired by <a rel="nofollow" href="http://www.springsoft.com/">SpringSoft</a> last year). Advanced formal verification tools (e.g., property checkers) are slow to find acceptance by the design community. Instead these new products and startups leverage the existing test bench and simulation methodology in place to produce better coverage or faster simulation. Notably missing in this space was <a rel="nofollow" href="http://www.nusym.com/">NuSym</a>, a no-show at this year’s DAC, confirming the <a rel="nofollow" href="../2010/01/24/has-formal-verification-technology-stalled/">rumors</a> that the startup that demonstrated “intelligent” simulation two years ago is actively looking for a buyer.</p>
<p>The whole simulation and emulation space was strong. Mentor’s <a rel="nofollow" href="http://www.mentor.com/products/fv/news/veloce-ovm-driven-verification">Veloce</a> is showing impressive numbers, and is ready to take on Cadence’s <a rel="nofollow" href="http://www.cadence.com/products/sd/palladium_series/pages/default.aspx">Palladium</a>. <a rel="nofollow" href="http://www.eve-team.com/">Eve</a> will likely take notice, and this may bring it closer to Synopsys.</p>
<p>Magma’s <a rel="nofollow" href="http://www.magma-da.com/products-solutions/analysis/tekton.aspx">Tekton</a> offers sign-off quality multi-mode/multi-corner static timing analysis for multi-million gate circuits. The tool has been designed from the ground up, and tailored for multi-threading and distributed systems. It is a clear competitor to Synopsys’ PrimeTime, even though running PrimeTime *<em>is*</em> the signoff for most customers.</p>
<p><strong>Design and implementation</strong></p>
<p>On the P&amp;R and backend side, nothing really stood out. Synopsys clearly gained in QoR, Mentor’s momentum with Sierra’s <a rel="nofollow" href="http://www.mentor.com/products/ic_nanometer_design/place-route/olympus-soc/">Olympus</a> is still strong, and Magma keeps lagging behind, especially in runtime. <a rel="nofollow" href="http://www.atoptech.com/">Atoptech </a>and <a rel="nofollow" href="http://www.azuro.com/">Azuro</a>, although showing pretty good numbers (verified at customers’), are still considered more like add-ons that comprehensive solutions. This segment looks more and more commoditized, and only the high-end (20nm and below) and <a rel="nofollow" href="http://www.eetimes.com/news/design/rss/showArticle.jhtml?articleID=225700426&amp;cid=RSSfeed_eetimes_designRSS">3D</a> seem to offer new growth opportunities in that space.</p>
<p><a rel="nofollow" href="http://www.oasys-ds.com/">Oasys</a>, the darling of last year’s DAC, did not make as much as a splash this time, despite its recent announcement with <a rel="nofollow" href="http://www.oasys-ds.com/news?te_class=blog&amp;te_mode=view&amp;te_key=59">Juniper Networks</a> and <a rel="nofollow" href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=225500059">Xilinx</a>. Nobody question the speed and capacity of their tool, as well as the clock cycle it can achieve. But some raised concerns regarding the area of their netlists for ASIC.</p>
<p><strong>On the fringe </strong></p>
<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/caveman.jpg"><img class="alignright size-full wp-image-818" title="prehistoric man on laptop" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/caveman.jpg" alt="" width="300" /></a>This is the “stuff I liked that may be too small to be noticed”, even more so since two of these three companies didn’t have a booth at DAC…</p>
<p>Low power is still under-represented, even though power gets worse with smaller geometries, and power management remains mostly a very manual process. In that space I liked <a rel="nofollow" href="http://www.doceapower.com/">Docea Power</a>, which can simulate system-level models to analyze power consumptions and thermal behaviors. System-level analysis can bring the biggest power savings. It also has a significant impact on the packaging, which is still a domain where conservative approaches are preferred to more cost-efficient, but riskier, choices.</p>
<p>A comprehensive system-level design framework is really an IDE (Integrated Development Environment) for SoC, where hardware and software can be designed together, written and simulated together, and where the HW/SW tradeoffs can easily be explored. IDEs have been used in software for a long time, but are a novelty to hardware designers. <a rel="nofollow" href="http://www.sigasi.com/product">Sigasi</a> proposes an IDE for VHDL –what Microsoft’s Visual Studio is to C++. Although this is still light-years away from a SoC IDE, this is a hint into the future of writing RTL.</p>
<p>We heard several claims that <a rel="nofollow" href="http://www.cadence.com/Community/blogs/ii/archive/2010/06/16/dac-keynote-2-why-cloud-computing-is-inevitable-for-eda.aspx?postID=70814">cloud computing</a> is coming to EDA (or the converse?). <a rel="nofollow" href="http://www.xuropa.com/">Xuropa</a> best illustrates that (slow) move. They provide turn-key online community solutions for the electronic design industry. Their main customers, Cadence and Synopsys, are using the services for CRM and virtual demo only. But Xuropa could become a platform that enables collaborative design in the cloud, providing secured access to a multi-vendor flows. More on this in a future post.</p>
<p><strong>Last words</strong></p>
<p>I felt that there was a lot of system-centric messages (best captured by EDA360), and attempts at rising the abstraction level for higher productivity. EDA vendors are forced to see the big picture –full system design, software and hardware together. But as pointed out by Steve Jones (TI) at Cadence’s <a rel="nofollow" href="http://www.cadence.com/dac2010/pages/events.aspx">Silicon Realization Luncheon</a>, EDA is still missing out on two important parts of the SoC design. One is that customers want a first-silicon that is functionally operational, and Steve singled out the need for useable <a rel="nofollow" href="http://twitter.com/ocoudert/status/16248311456">verification IP</a> –UVM/OVM is a step in the right direction. The other is analog –mixed-signal design is the rule, and there is no good integration there.</p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/01/14/did-you-feel-the-tremor/' rel='bookmark' title='Permanent Link: Did you feel the tremor? The 2010 challenges for EDA'>Did you feel the tremor? The 2010 challenges for EDA</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/19/the-formal-verification-market-is-still-untapped/' rel='bookmark' title='Permanent Link: The formal verification market is still untapped'>The formal verification market is still untapped</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/01/24/has-formal-verification-technology-stalled/' rel='bookmark' title='Permanent Link: Has formal verification technology stalled?'>Has formal verification technology stalled?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/06/21/dac-47th-digest-what-you-missed-even-if-you-were-there/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Who should worry about Xilinx and Oasys partnership?</title>
		<link>http://www.ocoudert.com/blog/2010/06/11/who-should-worry-about-xilinx-and-oasys-partnership/</link>
		<comments>http://www.ocoudert.com/blog/2010/06/11/who-should-worry-about-xilinx-and-oasys-partnership/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 17:51:27 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[EDA]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[synthesis]]></category>
		<category><![CDATA[Xilinx]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=796</guid>
		<description><![CDATA[<p><a rel="nofollow" href="http://www.xilinx.com/"></a><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/logo-Xilinx.png"></a><a rel="nofollow" href="http://www.xilinx.com/">Xilinx</a> <a rel="nofollow" href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=225500059">announced</a> that it signed a multi-year strategic licensing agreement to use <a rel="nofollow" href="http://www.oasys-ds.com/">Oasys</a>’ synthesis. What does that mean for the FPGA and EDA community?</p>
<p>Oasys’ product, RealTime Designer, is claimed to be 10x-60x faster than the competition. Among other things, it uses <a rel="nofollow" href="http://en.wikipedia.org/wiki/And-inverter_graph">AIG</a>-based optimization. This technology [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/06/11/who-should-worry-about-xilinx-and-oasys-partnership/">Who should worry about Xilinx and Oasys partnership?</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/04/20/is-fpga-a-sustainable-market-for-eda/' rel='bookmark' title='Permanent Link: Is FPGA a sustainable market for EDA?'>Is FPGA a sustainable market for EDA?</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/30/how-can-xilinx-improve-its-bottom-line/' rel='bookmark' title='Permanent Link: How can Xilinx improve its bottom line'>How can Xilinx improve its bottom line</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/15/what-to-read-in-xilinx%e2%80%99-and-altera%e2%80%99s-third-quarter-results/' rel='bookmark' title='Permanent Link: What to read in Xilinx’ and Altera’s third quarter results'>What to read in Xilinx’ and Altera’s third quarter results</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" href="http://www.xilinx.com/"></a><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/logo-Xilinx.png"><img class="alignright size-full wp-image-801" title="logo-Xilinx" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/logo-Xilinx.png" alt="" width="210" height="134" /></a><a rel="nofollow" href="http://www.xilinx.com/">Xilinx</a> <a rel="nofollow" href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=225500059">announced</a> that it signed a multi-year strategic licensing agreement to use <a rel="nofollow" href="http://www.oasys-ds.com/">Oasys</a>’ synthesis. What does that mean for the FPGA and EDA community?</p>
<p>Oasys’ product, RealTime Designer, is claimed to be 10x-60x faster than the competition. Among other things, it uses <a rel="nofollow" href="http://en.wikipedia.org/wiki/And-inverter_graph">AIG</a>-based optimization. This technology is best illustrated by UC Berkeley’s <a rel="nofollow" href="http://www.eecs.berkeley.edu/%7Ealanmi/abc/">ABC</a> synthesis: several FPGA startups reported that ABC boosted significantly the speed, capacity, and quality of their synthesis engines. No question that Oasys’ synthesis is competitive, at least in the FPGA world.</p>
<p>Xilinx is an investor into Oasys, and it has been toying with their synthesis technology for at least <a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/oasys_logo.gif"><img class="alignright size-full wp-image-802" title="oasys_logo" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/oasys_logo.gif" alt="" width="210"  /></a>a year, so it’s not like they just discover each other. Xilinx has to close a software technological gap with respect to its closest competitor, <a rel="nofollow" href="http://www.altera.com/">Altera</a>, and a fast, high capacity synthesis will certainly help.</p>
<p>Synthesis speed is key here. Until recently FPGA design was mostly an iterative process: synthesize, simulate, and debug (i.e., change in the RTL) until the performances and functionality of the design were satisfactory. That trial-and-error approach becomes impractical as the size of FPGA devices is increasing to the point that one single iteration takes hours, if not a day. Having a 10x speedup in synthesis means you can restore that familiar design iteration for a few more years.</p>
<p>Verification has become a bottleneck in FPGA. Simulating is used and will still be used in the future. But FPGA’s complexity requires a more complete verification methodology, like formal verification. However formal verification has trouble addressing optimization techniques heavily used in FPGA synthesis, like retiming and state re-encoding. An ABC-like optimization engine comes with a built-in formal verifier that can check independently the correctness of every incremental optimization steps performed during the optimization run. The correctness of the resulting netlist comes with a very high degree of confidence, and only the RTL description needs to be simulated.</p>
<p>Xilinx’ customers will benefit from that technology, and catch up with Altera’s synthesis. As for the EDA vendors selling their own FPGA synthesis, they all use or will use some flavor of AIG-based optimization. Differentiation will be done on the smartness of the high-level optimization –datapath, IPs–, the user experience (GUI), the integrated verification environment (still to be demonstrated), and of course the bottom-line: QoR –clock cycle, area, and power. The race is on.</p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/04/20/is-fpga-a-sustainable-market-for-eda/' rel='bookmark' title='Permanent Link: Is FPGA a sustainable market for EDA?'>Is FPGA a sustainable market for EDA?</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/30/how-can-xilinx-improve-its-bottom-line/' rel='bookmark' title='Permanent Link: How can Xilinx improve its bottom line'>How can Xilinx improve its bottom line</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/15/what-to-read-in-xilinx%e2%80%99-and-altera%e2%80%99s-third-quarter-results/' rel='bookmark' title='Permanent Link: What to read in Xilinx’ and Altera’s third quarter results'>What to read in Xilinx’ and Altera’s third quarter results</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/06/11/who-should-worry-about-xilinx-and-oasys-partnership/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>RIP Abound Logic</title>
		<link>http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/</link>
		<comments>http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 18:10:38 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[FPGA]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=789</guid>
		<description><![CDATA[<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/abound-logic-logo.jpg"></a>Another FPGA startup met the fate of so many others: <a href="http://www.aboundlogic.com/index.html">Abound Logic</a> is reported to have shut down this week, Wednesday June 2nd, 2010.</p>
<p>Abound logic, previously known as M2000, was founded by three EDA veterans who had previously started Meta Systems. Meta Systems developed the industry’s first emulation system based on custom FPGAs, which [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/">RIP Abound Logic</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/' rel='bookmark' title='Permanent Link: RIP Tier Logic'>RIP Tier Logic</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/' rel='bookmark' title='Permanent Link: Can Tabula and Tier Logic be successful?'>Can Tabula and Tier Logic be successful?</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/abound-logic-logo.jpg"><img class="alignright size-full wp-image-792" title="abound logic logo" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/06/abound-logic-logo.jpg" alt="" width="280" height="117" /></a>Another FPGA startup met the fate of so many others: <a href="http://www.aboundlogic.com/index.html">Abound Logic</a> is reported to have shut down this week, Wednesday June 2nd, 2010.</p>
<p>Abound logic, previously known as M2000, was founded by three EDA veterans who had previously started Meta Systems. Meta Systems developed the industry’s first emulation system based on custom FPGAs, which was to become the basis for the Abound Logic device after Meta Systems was acquired by Mentor Graphics in May 1996.</p>
<p>Abound logic’s device, the Raptor FPGA, offered in 65nm technology the capacity of 774k CLBs, each containing a 4-input LUT. This made the Raptor the largest FPGA on the market at a time.</p>
<p>Abound logic was in discussions to close another financing round, estimated around $20M, but one of the main tentatively new investor pulled out, which put to rest the last investment opportunities.</p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/' rel='bookmark' title='Permanent Link: RIP Tier Logic'>RIP Tier Logic</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/' rel='bookmark' title='Permanent Link: Can Tabula and Tier Logic be successful?'>Can Tabula and Tier Logic be successful?</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>What you need to know about EDA360</title>
		<link>http://www.ocoudert.com/blog/2010/05/31/what-you-need-to-know-about-eda360/</link>
		<comments>http://www.ocoudert.com/blog/2010/05/31/what-you-need-to-know-about-eda360/#comments</comments>
		<pubDate>Mon, 31 May 2010 17:17:45 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[EDA]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=777</guid>
		<description><![CDATA[<p>Cadence unveiled <a rel="nofollow" href="http://www.cadence.com/eda360/pages/default.aspx" target="_blank">EDA360</a> in <a rel="nofollow" href="http://www.cadence.com/cadence/newsroom/press_releases/Pages/pr.aspx?xml=042710_eda360" target="_blank">April</a>. Now that I found the time to read its 28-pages white paper, I can finally comment on it.</p>
<p>EDA360, John Bruggeman’s brainchild, is a manifesto that promotes a vision for the future of EDA. In a nutshell, it states the following:</p>

So far     [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/05/31/what-you-need-to-know-about-eda360/">What you need to know about EDA360</a></p>


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Cadence unveiled <a rel="nofollow" href="http://www.cadence.com/eda360/pages/default.aspx" target="_blank">EDA360</a> in <a rel="nofollow" href="http://www.cadence.com/cadence/newsroom/press_releases/Pages/pr.aspx?xml=042710_eda360" target="_blank">April</a>. Now that I found the time to read its 28-pages white paper, I can finally comment on it.</p>
<p>EDA360, John Bruggeman’s brainchild, is a manifesto that promotes a vision for the future of EDA. In a nutshell, it states the following:</p>
<ul>
<li>So far      EDA has been providing the tools to IC creators: design, implement, and      verify ICs.</li>
<li>With      the development cost of 32nm SoC reaching $100M, only a handful of      semiconductor companies will still create ICs in the next future.</li>
<li>With      modern consumer electronics fueled by apps-based model, electronic design      is moving from a hardware-first to a software-centric industry.</li>
<li>Future      SoC will be designed top-down, with software and apps requirements driving      the integrations of IPs, DSPs, GPUs, CPUs and cores (ARM, MIPS, x86, etc).</li>
<li>EDA      needs to provide the environment for integrating and optimizing software      and hardware resources.</li>
</ul>
<p>One can disagree with some figures of EDA360’s white paper (e.g., today’s cost of SoC software, placed at 50% of the total SoC development cost, which looks overstated). One can argue that this document states the obvious –that consumer electronics are differentiating with the end applications, which is more and more software dependent, which means EDA needs to focus more on the software aspect if it wants to <a href="../2009/11/06/what-eda-needs-to-change-for-2020-success/">stay relevant</a>.</p>
<p>But that would not give justice to this document. EDA360 is a detailed, well articulated, and viable vision of what EDA should be. It is a call for action that can revitalize an industry that has been looking for new areas of growth.</p>
<p>EDA’s main value proposition must follow its customers’ evolution. Semiconductor companies are moving from silicon to system companies, which provide application-ready hardware/software platforms, targeted for a precise market within a narrow time-to-market window.</p>
<p>The best example is the evolution of mobile phones. It started with heterogeneous HW/OS/SW devices, all proprietary and hardware centric. Then the iPhone came in 2007, providing a HW+OS environment with a <a rel="nofollow" href="http://developer.apple.com/iphone/index.action" target="_blank">SDK</a> (Software Development Kit) for developers in 2008, together with the App Store and its 70/30 seller/store profit sharing model. As for May 2010, the <a rel="nofollow" href="http://en.wikipedia.org/wiki/App_Store" target="_blank">App Store</a> offers 200,000+ apps and received over 4B downloads, and it produced a Q1’10 revenue for Apple <a rel="nofollow" href="http://gigaom.com/2010/01/12/the-apple-app-store-economy/" target="_blank">estimated</a> <a rel="nofollow" href="http://247wallst.com/2010/01/13/apple-app-store-has-lost-450-million-to-piracy/" target="_blank">at</a> $150-225M. The next step was Google that released <a rel="nofollow" href="http://developer.android.com/index.html" target="_blank">Android</a> OS for mobile devices as open source in 2008. As for May 2010, there are <a rel="nofollow" href="http://en.wikipedia.org/wiki/List_of_Android_devices" target="_blank">17 manufacturers</a> proposing mobile phones built on the Android platform, and 12 offerings for tablets and e-readers. The semiconductor companies providing the hardware are really delivering complete Android-enabled, apps-ready, HW/SW systems.</p>
<p>So where does that leave EDA? EDA already started to address some of the issues. HW/SW simulation, virtual prototyping, IP reuse, verification IP, and ESL/C-flavor synthesis have received significant investments by Cadence, Mentor, and Synopsys. Synopsys acquisition of <a rel="nofollow" href="http://www.eetimes.com/showArticle.jhtml?articleID=222600888" target="_blank">Vast</a> (virtual prototyping) and <a rel="nofollow" href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=222700397" target="_blank">CoWare</a> (ESL) was not as noticeable as Cadence’s acquisition of <a rel="nofollow" href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=224701795" target="_blank">Denali</a>, but it participates of the same logic. Cadence’s <a rel="nofollow" href="http://www.cadence.com/solutions/oip/pages/default.aspx" target="_blank">Open Integration Platform</a> was announced early May, and intends to grow an ecosystem that will help realizing EDA360.</p>
<p>Still, we are far from an integrated development environment (IDE) for SoC, which would meet EDA360’s vision. For instance, IP reuse is still elusive –the cost of IP integration is often comparable to the cost of developing a new IP.</p>
<p>I don’t know whether EDA will meet the challenge of an environment where the software application drives the cores selection and power management, where IPs are selected according to some cost/performance tradeoffs, where the different hardware components are integrated seamlessly, and where the verification of the software together with the hardware is done incrementally. I don’t know whether this will result in moving from a $5B to a $25B industry. But I applaud a strong vision that gives a new roadmap for the future of EDA. It will certainly impact the industry. Already we see some EDA vendors espousing EDA360’s message, like <a rel="nofollow" href="http://www.eetimes.de/en/duologs-socrates-chip-integration-hub-to-support-cadences-eda360-vision.html?cmp_id=7&amp;news_id=222902094&amp;vID=209" target="_blank">Duolog</a>, and Cadence’s acquisition of Denali shows it is serious about fulfilling the vision. Also if the SoC’s silicon results mostly from integrating IPs and cores, RTL synthesis and place &amp; route will be commoditized. Only vendors able to provide HW/SW integration and verification will emerge as the next leaders.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/05/31/what-you-need-to-know-about-eda360/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Is FPGA a sustainable market for EDA?</title>
		<link>http://www.ocoudert.com/blog/2010/04/20/is-fpga-a-sustainable-market-for-eda/</link>
		<comments>http://www.ocoudert.com/blog/2010/04/20/is-fpga-a-sustainable-market-for-eda/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 23:53:13 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[EDA]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[synthesis]]></category>
		<category><![CDATA[verification]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=767</guid>
		<description><![CDATA[<p>A FPGA company makes revenue with the hardware: it sells its device, and gives away its design tools –synthesis, place-and-route. Yet the EDA industry has had success with its own (non-free) FPGA synthesis solutions. For good reasons: in its days, Synplicity’s <a rel="nofollow" href="http://www.synopsys.com/Tools/Implementation/FPGAImplementation/FPGASynthesis/Pages/SynplifyPro.aspx">Synplify</a> was the best FPGA synthesis out there. Synopsys <a rel="nofollow" href="http://www.eetimes.com/showArticle.jhtml?articleID=206905027">acquired</a> Synplicity [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/04/20/is-fpga-a-sustainable-market-for-eda/">Is FPGA a sustainable market for EDA?</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/19/the-formal-verification-market-is-still-untapped/' rel='bookmark' title='Permanent Link: The formal verification market is still untapped'>The formal verification market is still untapped</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/06/11/who-should-worry-about-xilinx-and-oasys-partnership/' rel='bookmark' title='Permanent Link: Who should worry about Xilinx and Oasys partnership?'>Who should worry about Xilinx and Oasys partnership?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A FPGA company makes revenue with the hardware: it sells its device, and gives away its design tools –synthesis, place-and-route. Yet the EDA industry has had success with its own (non-free) FPGA synthesis solutions. For good reasons: in its days, Synplicity’s <a rel="nofollow" href="http://www.synopsys.com/Tools/Implementation/FPGAImplementation/FPGASynthesis/Pages/SynplifyPro.aspx">Synplify</a> was the best FPGA synthesis out there. Synopsys <a rel="nofollow" href="http://www.eetimes.com/showArticle.jhtml?articleID=206905027">acquired</a> Synplicity two years ago, but it was more to get a comprehensive emulation solution than pushing FPGA synthesis. Mentor Graphics is still invested in FPGA synthesis with <a rel="nofollow" href="http://www.mentor.com/products/fpga/synthesis/">Precision</a>, and competes head to head with Xilinx’ <a rel="nofollow" href="http://www.xilinx.com/tools/xst.htm">XST</a> and Altera’s <a rel="nofollow" href="http://www.altera.com/products/software/quartus-ii/web-edition/qts-we-index.html">Quartus</a>.</p>
<p>In a world where FPGA software design is expected to be free (or very cheap, compared to it ASIC counterpart), is there still a market for EDA companies to sell their FPGA solutions? Synplicity stopped growing after it built its success on FPGA synthesis. Is that the fate of EDA for FPGA?</p>
<p>There are several forces at play here: device complexity, software complexity, and know-how.</p>
<p>The complexity of FPGA starts to rival that of ASIC’s. The largest FPGA devices contain 100,000’s of LUTs and registers, 1000’s of DSP components, and are equivalent to 1+ million gate designs. The increasing device size requires faster synthesis and larger capacity. It also strains verification because simulation costs are augmenting accordingly. The days were a designer could complete her FPGA project with a simple write-RTL/synthesize/simulate/fix iterative flow are gone.</p>
<p>FPGA companies differentiate with their devices’ speed, capacity, and power consumption. But beyond the raw hardware features, software to design FPGA has become a key for success. Altera learnt the lesson the hard way 10 years ago when it released software that was not ready: Altera quickly lost its top customers to Xilinx, while it could have become the undisputed #1 FPGA vendor. Some FPGA startups in the past could not get off the ground because they fail to deliver good synthesis for their device. Closer to us, we have heard about Tabula’s chronic problems to bring up its synthesis before it finally announced its device earlier this year. And Abound Logic’s huge netlist has stretched the capacity of today’s FPGA synthesis.</p>
<p>Altera has now a software powerhouse, and is meticulous about its software design and testing. Xilinx is currently going through a major overhaul of its software to catch up with its main competitor. There is no question that software is taken very seriously by the two vendors –they both have a couple hundreds engineers dedicated to provide customers with a full design tool suite.</p>
<p>So does EDA has any future in FPGA synthesis? There will always be FPGA startups looking for an OEM with Synopsys and Mentor, but this is not enough. The EDA industry must showcase a comprehensive FPGA development environment that will cover design, synthesis, and verification:</p>
<ul>
<li>Verification      is becoming ever more costly for FPGAs, as it already is for ASICs. Formal      verification for FPGA is still embryonic –FPGA synthesis uses retiming and      FSM re-encoding that makes formal verification quite difficult.</li>
<li>Synthesis      of complex systems with a large IP spectrum is an area of expertise that      EDA must leverage. Also EDA could provide a much-needed improvement in power      management.</li>
<li>As for      design, EDA must seize on the FPGA community’s ability to adopt new methodologies      much faster than the ASIC community. ESL, SystemC, and C/C++ as hardware      description languages are the right direction.</li>
</ul>
<p>If EDA wants to compete with the few hundred software engineers of Xilinx and Altera, it needs to deliver a best-in-class and innovative FPGA design environment. Else it will end up as a no-growth by-product of ASIC synthesis.</p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/10/19/the-formal-verification-market-is-still-untapped/' rel='bookmark' title='Permanent Link: The formal verification market is still untapped'>The formal verification market is still untapped</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/06/11/who-should-worry-about-xilinx-and-oasys-partnership/' rel='bookmark' title='Permanent Link: Who should worry about Xilinx and Oasys partnership?'>Who should worry about Xilinx and Oasys partnership?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/04/20/is-fpga-a-sustainable-market-for-eda/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Can Tabula and Tier Logic be successful?</title>
		<link>http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/</link>
		<comments>http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 13:08:03 +0000</pubDate>
		<dc:creator>Olivier Coudert</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Altera]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.ocoudert.com/blog/?p=753</guid>
		<description><![CDATA[<p>The past two weeks were pretty interesting if you follow FPGAs. Yes, Xilinx and Altera kept upping their target to Wall St., but that is not where the excitement came from. It came from the recent announcements of two startups, both created in 2003 and heavily funded. <a rel="nofollow" href="http://www.tabula.com/">Tabula</a> released its long-awaited device, which goes [...]<p>Continue reading <a href="http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/">Can Tabula and Tier Logic be successful?</a></p>


Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/' rel='bookmark' title='Permanent Link: RIP Tier Logic'>RIP Tier Logic</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/' rel='bookmark' title='Permanent Link: RIP Abound Logic'>RIP Abound Logic</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The past two weeks were pretty interesting if you follow FPGAs. Yes, Xilinx and Altera kept upping their target to Wall St., but that is not where the excitement came from. It came from the recent announcements of two startups, both created in 2003 and heavily funded. <a rel="nofollow" href="http://www.tabula.com/">Tabula</a> released its long-awaited device, which goes by the sexy name of “Spacetime”. And <a rel="nofollow" href="http://www.tierlogic.com/">Tier Logic</a> left its stealth mode this week to announce its own device, “TierFPGA”.</p>
<p>The dominant factor in classical FPGA architecture is the interconnect: most of the die area is taken by the wires and the interconnect switches and muxes. If you can somehow reduce the area dedicated to interconnect, you can augment the logic density and lessen the cost of the device. Tabula and Tier Logic pitch a 3D architecture to address the interconnect bottleneck, albeit in very different flavors.</p>
<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/03/tabula_logo.jpg"><img class="alignright size-full wp-image-754" title="tabula_logo" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/03/tabula_logo.jpg" alt="" width="85" height="67" /></a>Tabula innovative <a rel="nofollow" href="http://www.edn.com/blog/1690000169/post/1770052977.html">design</a> is based on its ability to reconfigure itself, up to 8 times with a clock running at 1.6GHz. At each cycle a cell can change its functionality, its latch configuration, and its interconnect. The time-multiplexing increases the amount of logic that can be fit on the same area. It is like having 8 layers (or “folds”) of cells stacked on top of each other along a time axis, with very short connection between cells at the same (x,y) coordinate but in two adjacent folds. At each cycle one jumps to the next fold and feeds the new configured logic with the results of the previous fold. Tabula claims they increase the logic density by 2.5x compared to classical FPGA architectures.</p>
<p><a href="http://www.ocoudert.com/blog/wp-content/uploads/2010/03/tierlogiclogo.png"><img class="alignright size-full wp-image-755" title="tierlogiclogo" src="http://www.ocoudert.com/blog/wp-content/uploads/2010/03/tierlogiclogo.png" alt="" width="86" height="86" /></a>Tier Logic’s design <a rel="nofollow" href="http://www.edn.com/blog/1690000169/post/1870053187.html">idea</a> is to place the SRAM cells that configure the interconnect muxes on top of the routing layers, instead of having them distributed throughout the logic die area. Doing so leaves more room for logic cells, increasing the cell density by about 50% according to the company. The design flow will not throw anybody off: it uses Mentor’s Precision for synthesis, and is followed by Tier Logic’s mapping and P&amp;R.</p>
<p>A big plus touted by Tier Logic is the ability of <a rel="nofollow" href="http://www.pldesignline.com/223400079">moving</a> painlessly from their device to an ASIC. Simply replace the interconnect configuration SRAM cells at the top with metal, and voila, you obtain an ASIC with <em>no change</em> in timing. This is a simple, predictable <a rel="nofollow" href="http://www.tierlogic.com/news/8/121/Tier-Logic-announces-innovative-3D-FPGA-technology-low-cost-FPGAs-no-risk-timing-exact-ASICs/">process</a>: it takes about 4 weeks to go from the SRAM configuration to a top-layer mask, and you do not need to go through a timing closure flow again, which means a non-recurring engineering cost of about $50k. This is a real bargain when you consider that moving from FPGA to ASIC usually requires a redesign that can take as long as 9 months.</p>
<p>So who of Tabula and Tier Logic is best positioned to challenge the duopoly Xilinx/Altera?</p>
<p>Tabula made it clear that they are aiming at the high-end of the FPGA market. There are a number of FPGA startups that targeted the same niche, and none survived. One reason is that it is easy for Xilinx and Altera to increase the size of their device, by simply moving to the next technology node. Tabula’s design is innovative and pushes the limits, but how far is too far? It is unclear whether the company can deliver the design tools to match their device’s challenges –they went through a complete reset a few years ago, replacing the whole software team. Verifying a device that can reconfigure itself 8 times in a loop may be another challenging problem. Increased density is obtained by continuous reconfiguration, which means extra power consumption: is it still an acceptable tradeoff? Last but not least, with 100+ people in the US, it is a well-known fact in the Silicon Valley that Tabula burns cash fast, and their funding of <a rel="nofollow" href="http://www.eetimes.com/showArticle.jhtml?articleID=223100910">$106 millions</a> so far is about to come short.</p>
<p>Tier Logic’s FPGA can reduce the cost of the device for the same density. But their compelling value proposition is really their FPGA to ASIC translation. This is what Altera’s HardCopy was supposed to be, a seamless and risk-free migration from FPGA to ASIC. For anybody that wants to design an application and then migrate to a low/medium volume ASIC production, this could be the most cost efficient solution. I do not know the inside story regarding the financial aspect, but their business proposal looks more solid.</p>
<p>So who do you think has a chance here? Let’s meet again in 3-4 quarters and see how the two companies are doing.</p>


<p>Related posts:<ol><li><a href='http://www.ocoudert.com/blog/2010/07/15/rip-tier-logic/' rel='bookmark' title='Permanent Link: RIP Tier Logic'>RIP Tier Logic</a></li>
<li><a href='http://www.ocoudert.com/blog/2009/09/15/why-fpga-startups-keep-failing/' rel='bookmark' title='Permanent Link: Why FPGA startups keep failing'>Why FPGA startups keep failing</a></li>
<li><a href='http://www.ocoudert.com/blog/2010/06/03/rip-abound-logic/' rel='bookmark' title='Permanent Link: RIP Abound Logic'>RIP Abound Logic</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ocoudert.com/blog/2010/03/12/can-tabula-and-tier-logic-be-successful/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
