<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17864065</id><updated>2011-11-11T08:54:41.487-05:00</updated><category term='STM'/><category term='parallel programming'/><category term='threads'/><category term='software transactional memory'/><category term='atomic transactions'/><title type='text'>Chips and BS</title><subtitle type='html'>During the day, I run marketing at Bluespec, Inc., where we're revolutionizing the way semiconductor chips are developed.  This site covers topics in EDA and semiconductors -- with a particular emphasis on higher levels of abstraction.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default?start-index=101&amp;max-results=100'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>138</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17864065.post-1795594347771815640</id><published>2011-09-02T17:57:00.002-04:00</published><updated>2011-09-02T17:59:35.692-04:00</updated><title type='text'>Deepchip &amp; Mentor/Catapult/Calypto news</title><content type='html'>John Cooley &lt;a href="http://www.deepchip.com/wiretap/110827.html"&gt;posted my thoughts&lt;/a&gt; to Deepchip today about the recent news of Catapult C spinning out of Mentor into Calypto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1795594347771815640?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1795594347771815640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/09/deepchip-mentorcatapultcalypto-news.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1795594347771815640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1795594347771815640'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/09/deepchip-mentorcatapultcalypto-news.html' title='Deepchip &amp; Mentor/Catapult/Calypto news'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2265439654696752436</id><published>2011-08-08T22:33:00.004-04:00</published><updated>2011-08-23T13:55:03.364-04:00</updated><title type='text'>Xilinx Xcell Journal Article: Amazing MIT FPGA Projects &amp; BSV</title><content type='html'>The latest Xilinx Xcell Journal has a great article on MIT's 6.375 digital design course.  The students, who only had rudimentary hardware design experience at most and had never seen BSV before the class, build truly amazing projects in only 6 weeks -- after only 2.5 months of class.  &lt;a href="http://bluespec.com/blog/?p=83"&gt;Read more and get the article here&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2265439654696752436?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2265439654696752436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/08/xilinx-xcell-journal-article-amazing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2265439654696752436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2265439654696752436'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/08/xilinx-xcell-journal-article-amazing.html' title='Xilinx Xcell Journal Article: Amazing MIT FPGA Projects &amp; BSV'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5872825698110714239</id><published>2011-08-08T22:26:00.003-04:00</published><updated>2011-08-08T22:32:03.186-04:00</updated><title type='text'>The unnamed tool behind Mentor’s optimizing power white paper</title><content type='html'>I recently &lt;a href="http://bluespec.com/blog/?p=71"&gt;wrote a blog post at Bluespec's website&lt;/a&gt; about a Mentor white paper and article on optimizing power.  We were a little surprised to see some very familiar quality of results in a table that they used for both pieces.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5872825698110714239?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5872825698110714239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/08/unnamed-tool-behind-mentors-optimizing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5872825698110714239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5872825698110714239'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/08/unnamed-tool-behind-mentors-optimizing.html' title='The unnamed tool behind Mentor’s optimizing power white paper'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3562039553259966052</id><published>2011-07-19T11:31:00.002-04:00</published><updated>2011-07-19T11:36:53.030-04:00</updated><title type='text'>The 2011 MEMOCODE Design Contest &amp; BSV</title><content type='html'>I'm going to be splitting my blogging on both &lt;a href="http://bluespec.com/blog/"&gt;Bluespec's website&lt;/a&gt; and here.  I just wrote a blog on the 2011 MEMOCODE design contest, which was won this year by Michael Papamichael of CMU.  His solution was really amazing -- &lt;a href="http://bluespec.com/blog/?p=49"&gt;you can read more about it here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A BSV-based design has won every time it has been entered in the MEMOCODE design contest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3562039553259966052?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3562039553259966052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/07/2011-memocode-design-contest-bsv.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3562039553259966052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3562039553259966052'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/07/2011-memocode-design-contest-bsv.html' title='The 2011 MEMOCODE Design Contest &amp; BSV'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2814014387223955957</id><published>2011-05-27T21:35:00.002-04:00</published><updated>2011-05-27T21:37:36.829-04:00</updated><title type='text'>Blog post on what makes parallel programming so hard</title><content type='html'>Here's an &lt;a href="http://www.futurechips.org/tips-for-power-coders/parallel-programming.html"&gt;interesting blog post&lt;/a&gt; on what makes parallel programming so hard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2814014387223955957?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2814014387223955957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/blog-post-on-what-makes-parallel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2814014387223955957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2814014387223955957'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/blog-post-on-what-makes-parallel.html' title='Blog post on what makes parallel programming so hard'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1058955354092721211</id><published>2011-05-25T20:56:00.004-04:00</published><updated>2011-05-25T21:05:03.815-04:00</updated><title type='text'>Amazing projects this year by student teams from 6.375</title><content type='html'>6 weeks, from concept to architectural exploration to fully functional, running projects on FPGAs.  Not a big deal if you're doing a traffic light controller -- these are no traffic light controllers.&lt;br /&gt;&lt;br /&gt;Check out &lt;a href="http://csg.csail.mit.edu/6.375/6_375_2011_www/projects.html"&gt;the projects done this year by the students in 6.375&lt;/a&gt; (few of whom had ever done significant hardware designs before, most, if not all, hadn't worked with FPGAs before, and none of whom knew Bluespec).  I'll write more about this after DAC, but this shows what you can do when you're not limited by preconceptions about what's possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1058955354092721211?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1058955354092721211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/amazing-projects-this-year-by-student.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1058955354092721211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1058955354092721211'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/amazing-projects-this-year-by-student.html' title='Amazing projects this year by student teams from 6.375'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6170419801934504210</id><published>2011-05-22T21:20:00.003-04:00</published><updated>2011-05-22T21:26:01.938-04:00</updated><title type='text'>Chilean miners visit Framingham to make pitch for ESL education</title><content type='html'>Given that we recently moved to Framingham, MA, someone thought that maybe we'd achieved a &lt;a href="http://articles.boston.com/2011-05-20/yourtown/29565285_1_chilean-miners-translator-esl-education"&gt;big marketing coup&lt;/a&gt;...  Not quite the same ESL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6170419801934504210?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://articles.boston.com/2011-05-20/yourtown/29565285_1_chilean-miners-translator-esl-education' title='Chilean miners visit Framingham to make pitch for ESL education'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6170419801934504210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/chilean-miners-visit-framingham-to-make.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6170419801934504210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6170419801934504210'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/chilean-miners-visit-framingham-to-make.html' title='Chilean miners visit Framingham to make pitch for ESL education'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-763841698387464259</id><published>2011-05-10T09:02:00.003-04:00</published><updated>2011-05-10T09:13:51.600-04:00</updated><title type='text'>16.7 trillion cycles and counting</title><content type='html'>Just checked in on our Synthesizable Virtual Platform demo that we left running over the weekend.  It models a processor-based SoC and boots and runs Linux -- but runs in FPGAs so that it can run really fast and be arbitrarily mixed with RTL, both legacy and new IP.  Just upgraded to run at 50MHz in the Xilinx ML605 board, the demo was running through its paces since Friday and had just hit 16.7 trillion cycles.  Very cool -- and, I'm curious, of all the chip tapeouts I've been a part of, what the most number of simulation cycles was.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-763841698387464259?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/763841698387464259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/167-trillion-cycles-and-counting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/763841698387464259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/763841698387464259'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/05/167-trillion-cycles-and-counting.html' title='16.7 trillion cycles and counting'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4488283286772907659</id><published>2011-04-01T10:17:00.000-04:00</published><updated>2011-04-01T10:18:00.557-04:00</updated><title type='text'>EETimes coverage of our news today</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4488283286772907659?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.eetimes.com/electronics-news/4214680/Bluespec-working-to-eliminate-the-industrialized-world-s-dependence-on-oil?Ecosystem=programmable-logic' title='EETimes coverage of our news today'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4488283286772907659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/04/eetimes-coverage-of-our-news-today_01.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4488283286772907659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4488283286772907659'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/04/eetimes-coverage-of-our-news-today_01.html' title='EETimes coverage of our news today'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8207504633870476939</id><published>2011-04-01T00:01:00.000-04:00</published><updated>2011-04-01T00:01:02.555-04:00</updated><title type='text'>Bluespec Now Working to Eliminate the Industrialized World’s Dependence on Oil</title><content type='html'>&lt;style&gt; &lt;!--  /* Font Definitions */ @font-face  {font-family:"ＭＳ 明朝";  panose-1:0 0 0 0 0 0 0 0 0 0;  mso-font-charset:128;  mso-generic-font-family:roman;  mso-font-format:other;  mso-font-pitch:fixed;  mso-font-signature:1 134676480 16 0 131072 0;} @font-face  {font-family:"ＭＳ 明朝";  panose-1:0 0 0 0 0 0 0 0 0 0;  mso-font-charset:128;  mso-generic-font-family:roman;  mso-font-format:other;  mso-font-pitch:fixed;  mso-font-signature:1 134676480 16 0 131072 0;} @font-face  {font-family:Cambria;  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-unhide:no;  mso-style-qformat:yes;  mso-style-parent:"";  margin:0in;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:Cambria;  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"ＭＳ 明朝";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;  mso-fareast-language:JA;} .MsoChpDefault  {mso-style-type:export-only;  mso-default-props:yes;  font-size:10.0pt;  mso-ansi-font-size:10.0pt;  mso-bidi-font-size:10.0pt;  font-family:Cambria;  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"ＭＳ 明朝";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;  mso-fareast-language:JA;} @page WordSection1  {size:8.5in 11.0in;  margin:1.0in 1.25in 1.0in 1.25in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;} div.WordSection1  {page:WordSection1;} --&gt; &lt;/style&gt;     &lt;p class="MsoNormal" style="text-align:center" align="center"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size:14.0pt;mso-bidi-font-size:12.0pt"&gt;Bluespec Now Working to Eliminate the Industrialized World’s Dependence on Oil&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:center" align="center"&gt;&lt;i style="mso-bidi-font-style: normal"&gt;&lt;span style="font-size:14.0pt;mso-bidi-font-size:12.0pt"&gt;Redeploys Engineers to Work on ‘Promising’ Solution&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;Framingham, Mass. – &lt;strong&gt;&lt;span style="font-family:Cambria;mso-ascii-theme-font:minor-latin; mso-hansi-theme-font:minor-latin"&gt;April 1, 2011&lt;/span&gt;&lt;/strong&gt; – Soon to be previously known as The Synthesizable Modeling Company™, Bluespec Inc. announced today that it has redirected its focus to eliminating the industrialized world’s dependence on oil.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Specifically, Bluespec is perfecting the use of water as the next energy source.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Imagine, soon the people of the world will be both quenching their thirst and powering their SUVs from the same bottle of plain ol’ water.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;"&gt;&lt;span style="mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;&lt;a href="http://www.bluespec.com/news/OilReplacementApril012011.htm"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Read the full press release here&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8207504633870476939?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8207504633870476939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/04/bluespec-now-working-to-eliminate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8207504633870476939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8207504633870476939'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/04/bluespec-now-working-to-eliminate.html' title='Bluespec Now Working to Eliminate the Industrialized World’s Dependence on Oil'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1543216492904542600</id><published>2011-02-09T19:33:00.003-05:00</published><updated>2011-08-23T13:57:50.238-04:00</updated><title type='text'>BSV by Example</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-luwITNw9JAM/TlPqGNEVd9I/AAAAAAAAAoY/-bUod46wrG8/s1600/Screen%2Bshot%2B2011-02-07%2Bat%2B1.51.12%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 213px; height: 261px;" src="http://3.bp.blogspot.com/-luwITNw9JAM/TlPqGNEVd9I/AAAAAAAAAoY/-bUod46wrG8/s400/Screen%2Bshot%2B2011-02-07%2Bat%2B1.51.12%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5644112150333323218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-vhgmzVp8r6o/TVMyodX-anI/AAAAAAAAAkU/dYQpJ_A1pvw/s1600/Screen%2Bshot%2B2011-02-07%2Bat%2B1.51.12%2BPM.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Available now on &lt;a href="http://www.amazon.com/BSV-Example-Rishiyur-S-Nikhil/dp/1456418467/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1297298142&amp;amp;sr=8-1"&gt;Amazon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Blurb on the back cover:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;The complexities of modern electronic circuits ("chips") demand powerful  tools for design.  A key prerequisite is a high-level language in which  to express not only designs themselves, but also their models and their  testbenches. During design and verification, these need to run much  faster than software simulation is capable of, and must therefore be  fully synthesizable to run on the only platforms capable of delivering  this speed -- FPGAs and emulation.    BSV is the only language that  meets these requirements (alas, C++ falls woefully short!).  This book  is a gentle tutorial for learning BSV through a series of small  examples, focusing on just one feature at a time.  All examples, with  full source code, are fully synthesizable and executable.      &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1543216492904542600?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1543216492904542600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2011/02/bsv-by-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1543216492904542600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1543216492904542600'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2011/02/bsv-by-example.html' title='BSV by Example'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-luwITNw9JAM/TlPqGNEVd9I/AAAAAAAAAoY/-bUod46wrG8/s72-c/Screen%2Bshot%2B2011-02-07%2Bat%2B1.51.12%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8919830023942761447</id><published>2010-08-04T23:05:00.002-04:00</published><updated>2010-08-04T23:20:33.249-04:00</updated><title type='text'>March 1966</title><content type='html'>Nikhil recently came across one of his favorite papers entitled "The Next 700 Programming Languages" by P.J. Landin from the March 1966 &lt;span style="font-weight: bold;"&gt;Communication of the ACM&lt;/span&gt; magazine.&lt;br /&gt;&lt;br /&gt;In the back of the paper, there's the transcription of a discussion by several people about programming languages.  The last comment in the paper is from Strachey, considered one of the fathers of modern, formal semantics for programming languages.  His comment is timeless:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;One inconvenient thing about a purely imperative language is that you have to specify far too much sequencing.  For example, if you wish to do a matrix multiplication, you have to do n^3 multiplications.  If you write an ordinary program to do this, you have to specify the exact sequence which they are all to be done.  Actually, it doesn't matter in what order you do the multiplications so long as you add them together in the right groups.  Thus the ordinary sort of imperative language imposes much too much sequencing, which makes it difficult to rearrange if you want to make things more efficient.&lt;/blockquote&gt;There are reasons why Mathworks doesn't use C or a C-based language for the expression of math.  So, what's the best way to express hardware?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8919830023942761447?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8919830023942761447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/08/march-1966.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8919830023942761447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8919830023942761447'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/08/march-1966.html' title='March 1966'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2621464434508342924</id><published>2010-07-26T17:31:00.003-04:00</published><updated>2010-07-26T17:50:39.237-04:00</updated><title type='text'>Lessons from the software space</title><content type='html'>Tim Bray, co-inventor of XML and now working on the Android team at Google, presented at OSCON recently in Oregon.  There's &lt;a href="http://www.infoworld.com/d/developer-world/xml-pioneer-pitches-functional-programming-concurrency-656"&gt;a nice summary of his presentation on InfoWorld's website&lt;/a&gt;, and, I believe, a link to his presentation which I'll check out later.  Here are some great quotes attributed to Tim's presentation from the article:&lt;br /&gt;&lt;blockquote&gt;"Concurrency is hard. It involves a lot of problems that are very difficult to think about and reason about and understand," said Bray, who is developer advocate at Google. Bugs and performance bottlenecks are among the issues with concurrency, he said.&lt;/blockquote&gt;and&lt;br /&gt;&lt;blockquote&gt;Historically, it has been thought that the way to program for concurrency is through threading, Bray said. But programming with threads, which offer multiple access to shared, mutable data, is "something that is not understood by application programmers, cannot be understood by application programmers, will never be understood by application programmers," added Bray.&lt;br /&gt;&lt;/blockquote&gt;One of the themes I've talked about in the past (e.g. &lt;a href="http://chipsandbs.blogspot.com/2006/03/problem-with-threads.html"&gt;this piece on "The problem with threads"&lt;/a&gt;) is how hard it is to design using threads.  SystemC, of course, uses threads and events for concurrency.&lt;br /&gt;&lt;br /&gt;One might notice how Tim is not advocating software development with C/C++ using threads.  We hear from the EDA community that C/C++ using threads makes the most sense for hardware design because everyone knows C.  "It's practical."  If that's the case, then why doesn't the software community, those who know C the best, advocate for a similar solution?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2621464434508342924?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2621464434508342924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/07/lessons-from-software-space.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2621464434508342924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2621464434508342924'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/07/lessons-from-software-space.html' title='Lessons from the software space'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4654744361960725788</id><published>2010-06-10T14:22:00.004-04:00</published><updated>2010-06-10T14:34:49.416-04:00</updated><title type='text'>Momentum in Japan</title><content type='html'>Our partner in Japan, Cybernet, has had a great response to their introduction of Bluespec in Japan.  This March, we made our first customer announcement in Japan with &lt;a href="http://www.bluespec.com/news/Bluespec-is-selected-by-Panasonic.htm"&gt;Panasonic&lt;/a&gt;.  Today, &lt;a href="http://www.bluespec.com/news/Bluespec-is-selected-by-Fujitsu.htm"&gt;we announced Fujitsu&lt;/a&gt;.  We're honored to be in such great company.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4654744361960725788?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4654744361960725788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/06/momentum-in-japan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4654744361960725788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4654744361960725788'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/06/momentum-in-japan.html' title='Momentum in Japan'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2917628677029200477</id><published>2010-04-01T07:42:00.001-04:00</published><updated>2010-04-01T07:44:27.555-04:00</updated><title type='text'>Bluespec Required to Accept People with Pre-Existing Conditions</title><content type='html'>After the passage of the Health Care Bill, there were some material impacts to Bluespec's business that we felt compelled to disclose TODAY.  The &lt;a href="http://www.bluespec.com/April-Fools-2010.htm"&gt;text for the press release at our website&lt;/a&gt; outlines these issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2917628677029200477?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2917628677029200477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/04/bluespec-required-to-accept-people-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2917628677029200477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2917628677029200477'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/04/bluespec-required-to-accept-people-with.html' title='Bluespec Required to Accept People with Pre-Existing Conditions'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5549340392155054601</id><published>2010-03-31T20:31:00.002-04:00</published><updated>2010-03-31T20:35:08.563-04:00</updated><title type='text'>Fascinating new FPGA technology</title><content type='html'>Though I have to say that I'm a bit disappointed to see the editor for TechFocus Media, Kevin Morris, break embargo by one day with this breaking news, the two new FPGA technologies that he covers are anything but foolish:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.techfocusmedia.net/fpgajournal/feature_articles/20100330-4d/" target="_blank"&gt;http://www.techfocusmedia.net/&lt;wbr&gt;fpgajournal/feature_articles/&lt;wbr&gt;20100330-4d/&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.techfocusmedia.net/fpgajournal/feature_articles/20090401_retro/" target="_blank"&gt;http://www.techfocusmedia.net/&lt;wbr&gt;fpgajournal/feature_articles/&lt;wbr&gt;20090401_retro/&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5549340392155054601?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5549340392155054601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/fascinating-new-fpga-technology.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5549340392155054601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5549340392155054601'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/fascinating-new-fpga-technology.html' title='Fascinating new FPGA technology'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5175973719505218207</id><published>2010-03-29T21:17:00.002-04:00</published><updated>2010-03-29T21:40:23.729-04:00</updated><title type='text'>Sequential versus Parallel</title><content type='html'>Here's another post on the same theme as the last (I'm sure it won't be my 'last'): the applicability of C/C++ for hardware design.  Whether modeling, verifying or implementing, whenever one is considering synthesis, either as a path to emulation or to get to RTL, the question of the suitability of the language matters.&lt;br /&gt;&lt;br /&gt;At CHREC (National Science Foundation (NSF) Center for High-Performance, Reconfigurable Computing), there is a report sponsored by DARPA funding entitled "&lt;a href="http://www.chrec.org/ftsw/BYU_VT_Report.pdf"&gt;A Research Agenda for Improving Configurable Computing Design Productivity&lt;/a&gt;".  (I'm not sure if I'm linking to the executive overview or the final report)  It looks like the date of this report is 2008.  Here are a few interesting excerpts from section 4.2, Abstraction, on new languages:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;"..many of these abstractions are based on inherently sequential languages. The sequential nature of these languages limits the ability to specify and to exploit the massive parallelism available in hardware circuits."&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;"While these recent tools and languages are a step in the right direction, we believe that they are insufficient for moving hardware design to a significantly new level of design productivity."&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;"We advocate the adoption of standard, concurrent programming languages for hardware design rather than adopting sequential programming languages and adding non-standard semantic extensions. The use of concurrent programming languages will facilitate the extraction of concurrency for hardware."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5175973719505218207?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5175973719505218207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/sequential-versus-parallel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5175973719505218207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5175973719505218207'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/sequential-versus-parallel.html' title='Sequential versus Parallel'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2760626301217091238</id><published>2010-03-28T20:37:00.004-04:00</published><updated>2010-03-28T20:48:23.268-04:00</updated><title type='text'>Must read for Hardware Designers/Managers Considering C/C++ Synthesis</title><content type='html'>A lot of good points were made in Jakob Engblom's blog back in July 2008 in a post entitled, &lt;a href="http://jakob.engbloms.se/archives/165"&gt;What's the Obsession With C in EDA?&lt;/a&gt;.  A couple highlights:&lt;br /&gt;&lt;blockquote style="font-style: italic; color: rgb(255, 0, 0);"&gt;Taking a naturally parallel problem, packing it into disciplined sequential C, and then having a compiler discover the parallelism again is really a huge waste of effort.&lt;/blockquote&gt;&lt;p&gt;and&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote style="font-style: italic; color: rgb(204, 102, 0);"&gt;&lt;p&gt;But what I am uncertain about is whether the code provided by embedded developers, generated from domain-specific languages, or obtained as reference implementation is a actually a useful start for synthesis. In my experience, it would likely not be, as all that code is not designed to fit a restricted easy-to-manipulate subset of C. &lt;/p&gt; &lt;p&gt;To me it would look like you would have to at the very least go through the code and do a lot of rewriting and fixing to make it fit for synthesis. Negating most of the gain of reusing “existing” code.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2760626301217091238?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2760626301217091238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/must-read-for-hardware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2760626301217091238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2760626301217091238'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/must-read-for-hardware.html' title='Must read for Hardware Designers/Managers Considering C/C++ Synthesis'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-944611444201096886</id><published>2010-03-25T11:06:00.003-04:00</published><updated>2010-03-25T11:13:05.272-04:00</updated><title type='text'>Customer announcement today</title><content type='html'>Bluespec &lt;a href="http://www.bluespec.com/news/Bluespec-is-selected-by-Panasonic.htm"&gt;just announced Panasonic as a customer&lt;/a&gt;.  It's been fun trying to understand the Tweets from Japan.  I liked the (Yahoo Babel Fish) translation of the following excerpt from Hirano-san (The quote he's got here is from Fujikawa-san of Panasonic):&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;It is sharp, “as for Bluespec the fact that individual language is adopted is the point”&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-944611444201096886?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/944611444201096886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/customer-announcement-today.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/944611444201096886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/944611444201096886'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/customer-announcement-today.html' title='Customer announcement today'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3087393155748250820</id><published>2010-03-24T22:35:00.004-04:00</published><updated>2010-03-24T22:59:25.557-04:00</updated><title type='text'>Dream ESL Language</title><content type='html'>I recently discovered Jakob Engblom's &lt;a href="http://jakob.engbloms.se/"&gt;blog&lt;/a&gt;.  I stumbled upon it after seeing a Tweet from Brad Pierce (who's fun to follow on Twitter, BTW) reference an interesting blog entry named &lt;a href="http://jakob.engbloms.se/archives/1008"&gt;Dream ESL Language&lt;/a&gt;.  The best part was to see a nice Bluespec mention in one of Jakob's comments (thank you Jakob!):&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Still, to be fair, there are some really cool things that have come out of the EDA field. Things like BlueSpec and “e” are pretty cool.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3087393155748250820?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3087393155748250820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/dream-esl-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3087393155748250820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3087393155748250820'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/dream-esl-language.html' title='Dream ESL Language'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2723082995672225531</id><published>2010-03-10T19:05:00.003-05:00</published><updated>2010-03-10T19:16:27.624-05:00</updated><title type='text'>Chuck Thacker receives Turing Award</title><content type='html'>EETimes has an &lt;a href="http://www.eetimes.com/showArticle.jhtml?articleID=223300168&amp;amp;pgno=2&amp;amp;printable=true&amp;amp;printable=true"&gt;interview with Chuck Thacker&lt;/a&gt;, who just won ACM's Turing Award.  It caught my eye as I've talked about transactional memory in previous posts, which Chuck mentions in this interview as one of the areas he's currently exploring in the parallel architecture space.&lt;br /&gt;&lt;br /&gt;This made me think, as it came up recently, of &lt;a href="http://archive.computerhistory.org/resources/text/Oral_History/Thacker_Charles/Thacker_Charles_1.oral_history.2007.1026581226.pdf"&gt;an interview he did for the Computer Museum&lt;/a&gt; where, talking about Dave Conroy, Thacker says: "Dave is one of the few people I know that’s actually a better engineer than I am."  I got a kick out of this quote when I first heard it -- but the funny thing is that someone I respect very much said that there truly are very few engineers better than Thacker.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2723082995672225531?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2723082995672225531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/chuck-thacker-receives-turing-award.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2723082995672225531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2723082995672225531'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/chuck-thacker-receives-turing-award.html' title='Chuck Thacker receives Turing Award'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1192467024189107960</id><published>2010-03-08T16:08:00.000-05:00</published><updated>2010-03-08T16:09:31.390-05:00</updated><title type='text'>IEEE SystemVerilog</title><content type='html'>Bluespec offers its fundamental enhancements to IEEE #SystemVerilog at Requirements Gathering mtg (slides: &lt;a href="http://tinyurl.com/ye62mtp" target="_blank"&gt;http://tinyurl.com/ye62mtp&lt;/a&gt;) #EDA&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1192467024189107960?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1192467024189107960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/ieee-systemverilog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1192467024189107960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1192467024189107960'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/03/ieee-systemverilog.html' title='IEEE SystemVerilog'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8866598916480512172</id><published>2010-02-27T06:25:00.006-05:00</published><updated>2010-02-27T07:51:11.545-05:00</updated><title type='text'>2010 MEMOCODE Hardware/Software Co-Design Contest</title><content type='html'>It looks like Monday is the kickoff of the fourth hardware/software co-design contest put on by the IEEE conference, MEMOCODE.  Three years running, an MIT team, powered by Bluespec, has won honors in the event, typically in pretty dramatic fashion over alternative approaches, such as using RTL or C.&lt;br /&gt;&lt;a href="http://www.ece.cmu.edu/%7Ejhoe/doku/doku.php?id=2009_memocode_co-design_contest"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.ece.cmu.edu/%7Ejhoe/doku/doku.php?id=2009_memocode_co-design_contest"&gt;MEMOCODE Contest 2009&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rijndael.ece.vt.edu/memocontest08/everybodywins/index.html"&gt;MEMOCODE Contest 2008&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ece.cmu.edu/%7Ejhoe/distribution/mc07contest/"&gt;MEMOCODE Contest 2007&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This year, if I read it right, it looks like the MIT team has been sidelined, opening up the field.  Almost everyone involved in previous MIT winning teams is involved in developing this year's reference design -- so, they won't be participating again.  I haven't heard about any teams from MIT unrelated to the CSAIL architecture team getting involved.&lt;br /&gt;&lt;br /&gt;Here's an excerpt from the announcement email I received:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Who is organizing this year's contest?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;This year's contest was coordinated by Joel Emer (Intel) and Forrest  Brewer (UCSB). The reference design was implemented by Michael Pellauer  (MIT), Asif Khan (MIT), Muralidaran Vijayaraghavan (MIT), Abhinav  Agarawal (MIT), and Man Cheuk Ng (MIT). It was tested by Richard Uhler  and Kermin Fleming (MIT). &lt;/blockquote&gt;&lt;br /&gt;The co-design contest is a really interesting event. The format of the contest is the same every year.  On the first day, a problem is published with a reference design.  Participating teams get a month to improve the performance of the reference design -- the solutions with the most speedup win.  This year's solution is described as a deep packet inspection problem, with a "twist".&lt;br /&gt;&lt;br /&gt;If you'd like to participate or you are interested, you can find out more information at: &lt;a href="http://memocode2010.csail.mit.edu/redmine/wiki/memocode2010"&gt;http://memocode2010.csail.mit.edu/redmine/wiki/memocode2010&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's the full email I received:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Prepare for the 2010 &lt;span class="il"&gt;MEMOCODE&lt;/span&gt; Hardware/Software Co-Design Contest!&lt;br /&gt;&lt;a href="http://memocode2010.csail.mit.edu/" target="_blank"&gt;http://memocode2010.csail.mit.&lt;wbr&gt;edu/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Apologies if you receive multiple copies of this posting. Please distribute further to all interested parties.&lt;br /&gt;&lt;br /&gt;* What is the 2010 &lt;span class="il"&gt;MEMOCODE&lt;/span&gt; Hardware/Software Co-Design Contest?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;&lt;span class="il"&gt;MEMOCODE&lt;/span&gt; is short for the IEEE International Conference on Formal  MEthods and MOdels for CO-DEsign. This year's conference will be held in Grenoble, France (&lt;a href="http://www-memocode2010.imag.fr/" target="_blank"&gt;http://www-memocode2010.imag.&lt;wbr&gt;fr/&lt;/a&gt;). Every year the  conference holds a design contest in order to promote hardware-software interaction and push the envelope of parallel system  description.&lt;br /&gt;&lt;br /&gt;* How do I participate? Do I have to attend the conference?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;The conference happens in July, but the contest itself happens from  March 1st to April 1st. Participation is done in a distributed manner  via the Internet. The problem will be sent out to participants via  the webpage (&lt;a href="http://memocode2010.csail.mit.edu/" target="_blank"&gt;http://memocode2010.csail.&lt;wbr&gt;mit.edu/&lt;/a&gt;). Teams do not need to  attend the conference in order to participate, although in years past  the winners have attended and given talks on how they solved the problem.&lt;br /&gt;&lt;br /&gt;* Do I need to be a student or graduate student in order to participate?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;No. Anyone can participate. We welcome participation from industry teams  as well.&lt;br /&gt;&lt;br /&gt;* Can I join multiple teams?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;No. The only limitation is that each person can only be a member of a  single team.&lt;br /&gt;&lt;br /&gt;* What is this year's contest problem?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;This year's contest problem will be revealed on Monday March 1st, at  12:01 US Eastern Time (GMT-5). At this time we are prepared to reveal  that the problem will involve Deep Packet Inspection... with a twist!&lt;br /&gt;&lt;br /&gt;* What are the official supported platforms?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;This year the official platforms are the Xilinx University Program XUP  boards, which include a Virtex 2 version, and a newer version with  Virtex 5 FPGAs. The contest organizers have ported the reference design  to these platforms, and tested the result.&lt;br /&gt;&lt;br /&gt;* Can I use a different platform?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;Absolutely. We welcome submissions using whatever platform you think is  best. The only thing to keep in mind is that by using a different  platform you take on the responsibility of porting the reference design  to that platform. While the contest organizers can provide some advice  about porting based on our knowledge of the reference design, the  majority of the burden of the porting process will fall on your shoulders.&lt;br /&gt;&lt;br /&gt;* Does my platform need to include an FPGA?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;Nope. Feel free to use a GPU, a vector computer, a multicore, or  anything else that you think would be a good platform for this year's  problem.&lt;br /&gt;&lt;br /&gt;* Can I do a software-only implementation, like making a multi-threaded  parallel software version?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;Absolutely. The reference design this year includes a single-threaded  software-only X86 implementation. This version is meant to serve as a  starting point for all software-only solutions.&lt;br /&gt;&lt;br /&gt;* Since the problem involves Deep Packet Inspection will my platform need include Ethernet?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;No. To increase portability and lower the implementation burden on contestants we have decided to simulate all interactions with Ethernet. The details of this will be announced with the contest.&lt;br /&gt;&lt;br /&gt;* What are the prizes?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;The exact prizes are still under determination. The winning team will be awarded a significant cash award. A total of $2000 was awarded in prizes last year. Each team that submits a complete and working entry will be invited to submit for review a 2-page abstract for the formal conference proceedings; winning teams will be invited to contribute a 4-page short paper.&lt;br /&gt;&lt;br /&gt;* Are there separate prizes for "normalized" and "absolute" categories?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;Past contests have used a normalization technique in order to try and make an "apples to apples" comparison between different platforms and FPGAs. This lead to disagreements over what the normalization function should be and if it artificially favored certain platforms over others. This year we have decided to do away with normalization. While we may have a separate prize for the best design using an officially supported platform, the exact details are currently still being determined.&lt;br /&gt;&lt;br /&gt;* Who is organizing this year's contest?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;This year's contest was coordinated by Joel Emer (Intel) and Forrest  Brewer (UCSB). The reference design was implemented by Michael Pellauer  (MIT), Asif Khan (MIT), Muralidaran Vijayaraghavan (MIT), Abhinav  Agarawal (MIT), and Man Cheuk Ng (MIT). It was tested by Richard Uhler  and Kermin Fleming (MIT).&lt;br /&gt;&lt;br /&gt;* What can I do if I have any questions or concerns?&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;Please e-mail the organizers at &lt;a href="mailto:organizers@memocode2010.csail.mit.edu" target="_blank"&gt;organizers@memocode2010.csail.&lt;wbr&gt;mit.edu&lt;/a&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8866598916480512172?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8866598916480512172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/02/2010-memocode-hardwaresoftware-co.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8866598916480512172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8866598916480512172'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/02/2010-memocode-hardwaresoftware-co.html' title='2010 MEMOCODE Hardware/Software Co-Design Contest'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4226983096865674338</id><published>2010-02-22T09:20:00.002-05:00</published><updated>2010-02-22T09:25:50.781-05:00</updated><title type='text'>Great Tweet!</title><content type='html'>Loved seeing this Tweet this morning:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ttfD8SnSpdk/S4KTkpmcWQI/AAAAAAAAAi4/-ZyIK8ndHh0/s1600-h/Screen+shot+2010-02-22+at+9.22.57+AM.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 47px;" src="http://3.bp.blogspot.com/_ttfD8SnSpdk/S4KTkpmcWQI/AAAAAAAAAi4/-ZyIK8ndHh0/s400/Screen+shot+2010-02-22+at+9.22.57+AM.png" alt="" id="BLOGGER_PHOTO_ID_5441073557668649218" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4226983096865674338?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4226983096865674338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/02/great-tweet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4226983096865674338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4226983096865674338'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/02/great-tweet.html' title='Great Tweet!'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ttfD8SnSpdk/S4KTkpmcWQI/AAAAAAAAAi4/-ZyIK8ndHh0/s72-c/Screen+shot+2010-02-22+at+9.22.57+AM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4127519779453858789</id><published>2010-01-14T21:17:00.001-05:00</published><updated>2010-01-14T21:20:31.253-05:00</updated><title type='text'>Hardware &amp; Architecture</title><content type='html'>Nikhil had tweeted the following earlier today.  I saw it this evening and liked it:&lt;br /&gt;&lt;span class="status-body"&gt;&lt;span id="msgtxt7768181813" class="msgtxt en"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="status-body"&gt;&lt;span id="msgtxt7768181813" class="msgtxt en"&gt;Hardware designers who avoid considering architectures are like software designers who avoid considering algorithms.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4127519779453858789?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4127519779453858789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/01/hardware-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4127519779453858789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4127519779453858789'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/01/hardware-architecture.html' title='Hardware &amp; Architecture'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-9157225847428107643</id><published>2010-01-08T22:48:00.003-05:00</published><updated>2010-01-08T22:58:30.716-05:00</updated><title type='text'>TechBites</title><content type='html'>I've been enjoying Max Maxfield and Brian Bailey's posts on &lt;a href="http://www.techbites.com"&gt;TechBites&lt;/a&gt;, a new kind of site for the system design and EDA communities.  I really like what they're going for -- a blend of editorial content and social community.&lt;br /&gt;&lt;br /&gt;My last company was in the storage networking space, which had a strong presence by an online website called www.byteandswitch.com.  One of the things I liked about Byte and Switch was the tight integration of commentary with articles, which was fairly unique at the time.&lt;br /&gt;&lt;br /&gt;TechBites has the ingredients to build a community in our space.  I'm watching closely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-9157225847428107643?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/9157225847428107643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2010/01/techbites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/9157225847428107643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/9157225847428107643'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2010/01/techbites.html' title='TechBites'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4521245424363856505</id><published>2009-12-09T16:32:00.004-05:00</published><updated>2009-12-09T21:17:12.953-05:00</updated><title type='text'>Nice note today</title><content type='html'>Because of our university program (very flexible and easy to apply to), our tools are in over 50 universities now -- in countries like U.S., Canada, Australia, New Zealand, India, Japan, Korea, Taiwan, China, U.K., Finland, Romania and Brazil.  A professor at one of the universities relatively new to our program called right before Thanksgiving to get some thoughts about lab exercises for a class he was teaching.  We threw out some ideas and then asked when he was going to be covering Bluespec -- it was funny as he said he'd already given the first few lectures (we try to keep the application process dirt simple and the program experience painless for the universities, so often we don't know what they're up to).&lt;br /&gt;&lt;br /&gt;Today, Nikhil and I received this very nice note from the Professor:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;I wanted to write and thank you for your help with&lt;br /&gt;getting going with BSV.  We are nearing the end of&lt;br /&gt;the semester and the students are turning in their&lt;br /&gt;cache projects today.   The student were in agreement&lt;br /&gt;today in our discussion that the BSV unit was a&lt;br /&gt;strong success.&lt;br /&gt;&lt;br /&gt;I thought I would drop you a note to describe what&lt;br /&gt;we did and how it worked.&lt;br /&gt;&lt;br /&gt;I spent about 5-6 lectures on BSV and they also&lt;br /&gt;watched 4 of the demos on demand lectures.  They&lt;br /&gt;did 3 assignments.  To get started with the tools&lt;br /&gt;they did the Hello tutorial as well as a Pipelining&lt;br /&gt;tutorial.  Their second assignment was to work&lt;br /&gt;through the 4 different multiplier tutorials.  Their&lt;br /&gt;third assignment was the cache project you helped&lt;br /&gt;me pull together.&lt;br /&gt;&lt;br /&gt;There were 7 parts to the cache project.  The first&lt;br /&gt;part was to create a null cache - I actually&lt;br /&gt;removed the null cache code lines from what&lt;br /&gt;Nikhil sent me.  Rather, I made the students dig&lt;br /&gt;the information on how to do the client/server&lt;br /&gt;interconnections out of the Lecture 09 slides&lt;br /&gt;from your website - that forced them to&lt;br /&gt;understand a lot more about interfaces than&lt;br /&gt;they otherwise would have.&lt;br /&gt;&lt;br /&gt;Parts 2-7 of the assignment were things&lt;br /&gt;like to create a direct mapped cache (one&lt;br /&gt;word per cache line), enlarge the cache line&lt;br /&gt;to be multiple words wide, do multi-way set&lt;br /&gt;associativity, do write-back instead of&lt;br /&gt;write-through, have the cache return the&lt;br /&gt;requested word as soon as returned from&lt;br /&gt;memory rather than waiting for the entire&lt;br /&gt;line to arrive from memory, add concurrency&lt;br /&gt;(allow multiple outstanding cache requests&lt;br /&gt;be in flight at once).&lt;br /&gt;&lt;br /&gt;The students all had to do the null and direct&lt;br /&gt;mapped cache parts.  They were allowed to&lt;br /&gt;do more beyond that for extra credit, many of&lt;br /&gt;them did many of the additional parts.  They&lt;br /&gt;had nothing but praise for the experience as&lt;br /&gt;they turned in their final assignment.  They felt&lt;br /&gt;that they were 4-5x more productive in the&lt;br /&gt;assignment than they would have been using&lt;br /&gt;Verilog.  I am hoping that one or more of them&lt;br /&gt;will figure out how to work it into their&lt;br /&gt;graduate research projects in the future.&lt;br /&gt;&lt;br /&gt;So, thanks again for all your help.  You were&lt;br /&gt;very kind to take time with me on the phone&lt;br /&gt;before Thanksgiving, and that made all the&lt;br /&gt;difference in the BSV unit in our class.&lt;br /&gt;&lt;/blockquote&gt;If you're at a university, you can find out more about &lt;a href="http://www.bluespec.com/partnerships/UniversityProg.htm"&gt;our university program here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4521245424363856505?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4521245424363856505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/12/nice-note-today-from-university.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4521245424363856505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4521245424363856505'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/12/nice-note-today-from-university.html' title='Nice note today'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7405398570169282942</id><published>2009-12-03T18:53:00.005-05:00</published><updated>2009-12-03T19:40:20.492-05:00</updated><title type='text'>I'm sure I'm missing something...</title><content type='html'>Here's my summary of some interesting data points from a Synfora user experience which is summarized in one of the latest posts on Deepchip (entitled "&lt;a href="http://www.deepchip.com/items/0483-04.html"&gt;A User's 5 week block design using Synfora PICO C synthesis&lt;/a&gt;"):&lt;pre&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Started with:&lt;/span&gt; ~400 lines of C code&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Design consulting firm "re-wrote" C-code to target&lt;br /&gt;Synfora's tool resulting in:&lt;/span&gt; ~1600 lines of code&lt;br /&gt;(Interesting quote: "How you write your C-code&lt;br /&gt;influences the block-level architecture that will&lt;br /&gt;be generated by PICO in the final RTL")&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tool generated:&lt;/span&gt; 131,000 lines of RTL across 120&lt;br /&gt;Verilog files&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Time relative to a manual C-to-RTL flow:&lt;/span&gt; same or a&lt;br /&gt;little less (no big win on this block, but this was a&lt;br /&gt;&lt;span style="font-style: italic;"&gt;smaller&lt;/span&gt; (my word) design)&lt;/blockquote&gt;&lt;/pre&gt; Okay...  I'm missing a couple things.  First, exactly where in this process was a manual re-write avoided?  Second, I thought that C synthesis was all about algorithm and not about architecture.  If so, then why the massive re-write?  And, why: "how you write your code influences" the architecture generated by the tool?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7405398570169282942?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7405398570169282942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/12/im-sure-im-missing-something.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7405398570169282942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7405398570169282942'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/12/im-sure-im-missing-something.html' title='I&apos;m sure I&apos;m missing something...'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5607100076743579279</id><published>2009-11-06T10:02:00.005-05:00</published><updated>2009-11-06T10:09:35.259-05:00</updated><title type='text'>Heard today on a social network...</title><content type='html'>The following was apparently posted today on a social network by an end user (I edited out a line to ensure that the person remains anonymous but it compared something to eating at a raw food restaurant):&lt;br /&gt;&lt;blockquote&gt;"Verilog is like eating at McDonalds. VHDL is like dining at a nice bistro. Bluespec is like eating at a Michelin starred restaurant. .... C to gates synthesis is like chewing on the bark of a tree hoping that somehow your teeth can reassemble the wood fibers into a filet mignon steak."&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5607100076743579279?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5607100076743579279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/11/heard-today-on-social-network.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5607100076743579279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5607100076743579279'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/11/heard-today-on-social-network.html' title='Heard today on a social network...'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-659542005331625744</id><published>2009-11-02T11:29:00.003-05:00</published><updated>2009-11-02T11:41:20.484-05:00</updated><title type='text'>Synthesizable test benches</title><content type='html'>If people are going to leverage FPGAs/emulation before RTL is ready, to bring up the verification environment or to do modeling and architectural exploration, they need to be able to write a lot of verification IP (such as models, transactors and test benches) quickly and without all the bugs involved typically with writing RTL.&lt;br /&gt;&lt;br /&gt;My last company built storage network silicon.  Since the standards we built to were based more on vendor implementations than standards documents, we needed to do FPGA prototyping to test our protocol implementations against other vendors' equipment before tapeout.  This was difficult to do because we couldn't do much before a LOT of verification was done on the RTL -- this meant that the prototyping work was an 11th hour effort.  It'd be great to start testing things out in the 3rd hour, with early models and test infrastructure.&lt;br /&gt;&lt;br /&gt;A while ago, one of our engineers built a high-level synthesizable test bench, based on an example SystemVerilog VMM one.  The neat thing was that, while it was about 40% fewer lines of code for comparable functionality, the BSV test bench was synthesizable -- so it could be run in FPGAs and emulation.  We've finally gotten it written up as a &lt;a href="http://www.bluespec.com/synthesizable-test-bench.htm"&gt;white paper&lt;/a&gt;, which is now on our website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-659542005331625744?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/659542005331625744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/11/synthesizable-test-benches.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/659542005331625744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/659542005331625744'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/11/synthesizable-test-benches.html' title='Synthesizable test benches'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5973396182246914133</id><published>2009-09-23T22:06:00.006-04:00</published><updated>2009-09-23T23:05:44.919-04:00</updated><title type='text'>Everyone needs a Laptop Burka....  not!</title><content type='html'>Time for a quick aside.  I'm a real sucker for two things: cool gadgets and great design (products, graphic design, advertisements, architecture, ...).  I thought I'd share my favorite sites for those with similar interests:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.engadget.com/"&gt;http://www.engadget.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.likecool.com/"&gt;http://www.likecool.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dailyyoghurt.blogspot.com/"&gt;http://dailyyoghurt.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wired.com/gadgetlab/"&gt;http://www.wired.com/gadgetlab/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.macrumors.com/iphone/"&gt;http://www.macrumors.com/iphone/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.boygeniusreport.com/"&gt;http://www.boygeniusreport.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gizmodo.com/"&gt;http://gizmodo.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.techcrunch.com/"&gt;http://www.techcrunch.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As with everything, there's a lot of junk to filter through.  Today there was on article on Wired's Gadget Lab site about a pretty ridiculous product called &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://www.wired.com/gadgetlab/2009/09/laptop-burka-tasteless-useless-glare-less/"&gt;the Laptop Burka&lt;/a&gt;.  As noted by Wired, the name's a bit offensive -- as is the idea in general.  It'd be great to have a way to use the laptop in the sun -- but doesn't the Laptop Burka miss the point?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5973396182246914133?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5973396182246914133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/09/everyone-needs-laptop-burka-not.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5973396182246914133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5973396182246914133'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/09/everyone-needs-laptop-burka-not.html' title='Everyone needs a Laptop Burka....  not!'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5117036008414079405</id><published>2009-09-05T21:49:00.006-04:00</published><updated>2010-07-30T17:46:55.604-04:00</updated><title type='text'>IEEE Design &amp; Test Magazine's Special Issue on High-Level Synthesis</title><content type='html'>The &lt;a href="http://www2.computer.org/portal/web/csdl/abs/mags/dt/2009/04/mdt200904toc.htm"&gt;July/August 2009 issue&lt;/a&gt; of IEEE Design &amp;amp; Test Magazine is a special issue on High-Level Synthesis.  I've barely scratched the surface reading this issue, but I'm looking forward to spending more time reading it.  While most of the articles are written by vendors or university researchers, there's one article that's been written by end-users:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold; font-style: italic;"&gt;Lessons and Experiences with High-Level Synthesis&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;by Soujanna Sarkar&lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" target="_blank" href="http://search3.computer.org/search/results?action=authorsearch&amp;amp;resultsPerPage=50&amp;amp;queryOption1=DC_CREATOR&amp;amp;sortOrder=descending&amp;amp;queryText1=Soujanna%20Sarkar"&gt;&lt;span weight="bold"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, Texas Instruments, Shashank Dabral&lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" target="_blank" href="http://search3.computer.org/search/results?action=authorsearch&amp;amp;resultsPerPage=50&amp;amp;queryOption1=DC_CREATOR&amp;amp;sortOrder=descending&amp;amp;queryText1=Shashank%20Dabral"&gt;&lt;span weight="bold"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, Texas Instruments, Praveen K. Tiwari&lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" target="_blank" href="http://search3.computer.org/search/results?action=authorsearch&amp;amp;resultsPerPage=50&amp;amp;queryOption1=DC_CREATOR&amp;amp;sortOrder=descending&amp;amp;queryText1=Praveen%20K.%20Tiwari"&gt;&lt;span weight="bold"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, Interra Systems, and Raj S. Mitra&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, Texas Instruments&lt;/span&gt;&lt;/blockquote&gt;This article is a must read for those considering behavioral synthesis (C/C++-based synthesis).  There's been a lot of hype about behavioral synthesis and expectations have been set (too) high.  And, despite all the talk about openness and standards, there's very little data out there.  This article is a step in the right direction -- let's hope there's much more.  As well, there needs to be objectively comparable benchmark data.&lt;br /&gt;&lt;br /&gt;In the coming weeks, I'm going to cover some of the more interesting lessons from this article.  Stay tuned...&lt;br /&gt;&lt;div id="toc-authors"&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5117036008414079405?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5117036008414079405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/09/ieee-design-test-magazines-special.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5117036008414079405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5117036008414079405'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/09/ieee-design-test-magazines-special.html' title='IEEE Design &amp; Test Magazine&apos;s Special Issue on High-Level Synthesis'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-233183951432281343</id><published>2009-07-14T07:58:00.006-04:00</published><updated>2009-08-11T21:03:36.735-04:00</updated><title type='text'>Guest Blog by Leon Stok (IBM) for DAC: From Design Platforms to Design Flows</title><content type='html'>I'm pretty excited about DAC this year, despite the economy.  It's back in San Francisco, which is where my heart often is.  I spent almost ten years in the Bay Area after going to school there.  I've been back in Boston since 1991, but love every trip to the Bay Area.&lt;br /&gt;&lt;br /&gt;DAC's doing a lot to get users more involved.  This year, there's a user track, which looks very interesting -- and it's the subject of this guest blog from one of the officials from DAC.  When I first attended DAC in 2004, I was struck by how "inside baseball" many of the technical presentations were.  There are definitely end users keenly interested in this type of presentation -- but there are a lot of design automation issues that are more relevant and useful to the typical end user.  Of course, the exhibits target the typical end user, but the new user track is one of the DAC's technical track initiatives targeting the typical end user.&lt;br /&gt;&lt;br /&gt;Leon Stok, who works at IBM, is the chair of New Initiatives for the 46th DAC.  Here's his post on the user track, entitled From Design Platforms to Design Flows:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Increasingly, the progress in the EDA industry needs to come from better design flows.  In the PBC era, for example, point tool inventions like routing, placement and logic synthesis greatly improved productivity.  Designers could put a simple linear design flow together where one point tool could rely on reasonable accurate predictions of the downstream design process.&lt;br /&gt;&lt;br /&gt;When predictability disappeared from the design process due to submicron effects, a simple linear design flow of point tools stopped working and very complex integrated tools were created to iteratively solve design problems.  Timing analysis and synthesis got combined first, followed by integration of placement, routing, clocking and power and signal integrity analysis.&lt;br /&gt;&lt;br /&gt;In the last few years, large CAD vendors spend most of their development dollars on integration efforts and have built complex tool platforms.  Most startups have not been able to keep pace with investment required to build tool platforms and, in many tool areas, their relevance is disappearing from the EDA scene.&lt;br /&gt;&lt;br /&gt;Despite these tool platforms being very powerful, to harness their power questions abound to confound even the most seasoned designer:&lt;br /&gt;•    How does one harness the power of these integrated tool platforms?&lt;br /&gt;•    How does one ensure that the proper and correct technology definitions are fed to these tools in a consistent manner?&lt;br /&gt;•    How do you put a design flow together that understands the proper low-power concepts from system-level design to final physical implementation?&lt;br /&gt;•    How do we ensure we end up with a testable design?&lt;br /&gt;•    How do we measure the overall productivity of the design teams using these integrated flows?&lt;br /&gt;&lt;br /&gt;Where does one get an answer to these types of questions?  The three-day User Track at the upcoming 46th Design Automation Conference will focus on how one actually puts design flows together that address these problems.  At this forum, 40 presentations from design teams hailing from many companies will share their experiences on how they put robust design flows together.&lt;br /&gt;&lt;br /&gt;An Ice Cream Social Wednesday from 1:30-3 p.m. with 42 posters will offer an opportunity for you to mingle with other EDA tool users.&lt;br /&gt;&lt;br /&gt;The User Track is included with the full-conference registration.  Or, register separately for the User Track and attend the keynotes.  For more details, visit:  www.dac.com.  I look forward to seeing you in San Francisco.&lt;br /&gt;&lt;br /&gt;###&lt;br /&gt;&lt;br /&gt;Note:  This year’s DAC will be held July 26-31 at the Moscone Center in San Francisco.  Register today at:  www.dac.com.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-233183951432281343?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/233183951432281343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/07/guest-blog-by-leon-stok-ibm-for-dac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/233183951432281343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/233183951432281343'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/07/guest-blog-by-leon-stok-ibm-for-dac.html' title='Guest Blog by Leon Stok (IBM) for DAC: From Design Platforms to Design Flows'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3044090814120748081</id><published>2009-07-07T07:16:00.003-04:00</published><updated>2009-07-07T07:24:29.234-04:00</updated><title type='text'>Free Monday's back on at DAC</title><content type='html'>According to an email blast by John Cooley this morning, Free Monday is back on at DAC.  EDAC is sponsoring it -- which is great news.  Here's the letter that Cooley sent out this morning in case you're not on Deepchip's email list:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Hi, John,&lt;br /&gt;&lt;br /&gt;Please inform your readers that EDAC has decided to sponsor the return of "Free Monday" to DAC this year.  If they want to take advantage of this "Free Monday" registration, your readers must go to:&lt;br /&gt;&lt;br /&gt;              &lt;a href="http://www.deepchip.com/FreeMonday.html" target="_blank"&gt;https://reg.mpassociates.com/reglive/register.aspx?confid=95&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and complete all four pages of the registration.  On the THIRD page they'll find a newly added "Free Monday Exhibits" option -- they MUST check this box to get this special registration.&lt;br /&gt;&lt;br /&gt;On the forth page they should see a web receipt with their unique bar code confirmation on it.  They must print this entire page.&lt;br /&gt;&lt;br /&gt;To enter the DAC Exhibit Hall on Monday, July 27th, the engineer must present a paper copy of his/her entire bar code page to the Advance Registration desk located in the North Lobby of Moscone Center.&lt;br /&gt;&lt;br /&gt;See you at DAC, John!&lt;br /&gt;&lt;br /&gt;   - Bob Gardner&lt;br /&gt;     EDAC                                       San Jose, CA&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3044090814120748081?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3044090814120748081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/07/free-mondays-back-on-at-dac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3044090814120748081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3044090814120748081'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/07/free-mondays-back-on-at-dac.html' title='Free Monday&apos;s back on at DAC'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-77765597649409559</id><published>2009-05-09T20:07:00.031-04:00</published><updated>2009-05-11T11:25:49.316-04:00</updated><title type='text'>Setting good expectations about C/C++/SystemC synthesis</title><content type='html'>I was pleasantly surprised the other day to come across a blog entry on Cadence's website entitled: &lt;a href="http://www.cadence.com/Community/blogs/sd/archive/2009/04/03/c-to-silicon-compiler-is-a-high-level-and-a-low-level-synthesis-tools.aspx"&gt;C-to-Silicon Compiler: A High Level and a Low Level Tool&lt;/a&gt;.  Although it didn't get into a lot of detail or make many claims about where Cadence's SystemC synthesis tool is "high-level", it did acknowledge some of the areas where SystemC is "low-level" (for synthesis specifically).  I found the entry honest and forthright, not to mention pretty consistent with how we've characterized SystemC.&lt;br /&gt;&lt;br /&gt;As I noted in previous writings, most recently in &lt;a href="http://chipsandbs.blogspot.com/2009/02/abstraction-and-control-dominated.html"&gt;February in this blog post&lt;/a&gt;, I've never claimed that SystemC isn't general purpose.  What I've asserted is the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SystemC (for synthesis) adds value in the same areas where C/C++ adds value: for doing algorithmic blocks that can be expressed at a high-level and efficiently synthesized.  We believe the scope of solutions that you can efficiently develop at a high level and efficiently synthesize is limited primarily to block level, simpler algorithms -- but there's no doubt you can develop RTL quickly for datapath centric designs, irrespective of quality of results.&lt;/li&gt;&lt;li&gt;For control logic, interfaces, and system interconnect, SystemC is very RTL-like.  You can describe anything, but SystemC as a language does not add significant value over RTL for these types of designs (and, in fact, may be worse than RTL as the level of abstraction is the same, but it's one step further removed from the hardware, complicating debug).  Fundamentally, SystemC's synthesizable model of concurrency and communications is very much that of RTL.&lt;br /&gt;&lt;br /&gt;That's not to say that this doesn't add value over C/C++ -- of course, it does.  It gives you finer grain control (and a way to express it) when you need it -- but this is done at the RTL level.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Of course, C++ classes offer the ability to develop and substitute pre-built libraries for operators and interfaces.  Forte provides an example of this in the article I referenced in my February post -- and, in this post, you can reference my criticisms of what Forte illustrated in their example.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; Cadence's blog entry is very consistent with this.  It acknowledges that "&lt;span id="anormal_12" class="Cadence_CS_BlogDetail_BlogText"&gt;complete systems cannot be described and synthesized if one stays in the 'High Level Only' design paradigm".  But, rightly so, they do claim to be able to handle complete systems -- like RTL, SystemC can describe designs of any complexity and type.  According to the blog entry, here are some of the items that might need to be expressed at a low level:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Complex I/O protocols (in fact, it says: "&lt;span id="anormal_12" class="Cadence_CS_BlogDetail_BlogText"&gt;Trying to specify complex protocols at a High Level was the failure of the early High Level Synthesis tools")&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="anormal_12" class="Cadence_CS_BlogDetail_BlogText"&gt;Multiple processes (and "various instances of the same hardware running concurrently")&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;"Low level" communication between multiple of these concurrent processes (I presume he's alluding to managing access to shared resources)&lt;/li&gt;&lt;/ul&gt;I'll reiterate &lt;a href="http://www.deepchip.com/wiretap/060927.html"&gt;a statement I made in the past on Deepchip&lt;/a&gt;:&lt;pre&gt;&lt;blockquote&gt;But while they may be good for DSP filters, FFTs,&lt;br /&gt;and audio processors, these algorithmic synthesis&lt;br /&gt;tools &lt;b&gt;don't&lt;/b&gt; offer a significant advantage over&lt;br /&gt;&lt;b&gt;Verilog&lt;/b&gt; or &lt;b&gt;VHDL&lt;/b&gt; for the bulk of gates that are&lt;br /&gt;shipped today, including microcontrollers, DMA&lt;br /&gt;controllers, cache and memory controllers,&lt;br /&gt;bus/switch interconnects, bus interfaces,&lt;br /&gt;network/link layer controllers,&lt;br /&gt;sorting/queuing engines, finite state machines,&lt;br /&gt;processors (whether CISC/RISC/DSP/graphics), etc.&lt;/blockquote&gt;&lt;/pre&gt;There is plenty of room and need for a solution to deliver hardware from C/C++/SystemC -- especially if you don't need the quality of hand-coded RTL (in terms of latency, area, timing).  (Particularly because Cadence allows one to replicate any aspect of a hand-coded RTL design, there's no doubt in my mind that one could replicate the QoR of a hand-coded design with their tool.  The only question is how much productivity advantage you get when meeting the QoR of hand-coded design -- this will be entirely dependent on the type of design and how difficult it is to operate at a low-level of abstraction.  Of course, with C/C++ solutions, you don't have the fine grained control of Cadence's solution.)  And, it's refreshing to see a solution that, at least in this example, isn't claiming that it is more than it is.&lt;br /&gt;&lt;br /&gt;But, this all leaves an open question: what about concurrency, complex control, interfaces, and system interconnect?  Why do we have to be stuck with RTL for all of that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-77765597649409559?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/77765597649409559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/05/setting-good-expectations-about.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/77765597649409559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/77765597649409559'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/05/setting-good-expectations-about.html' title='Setting good expectations about C/C++/SystemC synthesis'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4256674067300471547</id><published>2009-05-01T20:02:00.003-04:00</published><updated>2009-05-01T20:08:00.050-04:00</updated><title type='text'>Hackers delight -- A history of MIT pranks</title><content type='html'>Boston.com (the online presence of the Boston Globe) has a neat &lt;a href="http://www.boston.com/news/local/massachusetts/gallery/100308_mit_hacks/"&gt;photo history of "pranks" at MIT&lt;/a&gt; on its website.  I loved the 1982 prank where a large balloon came out of the ground near the 50 yard line in the middle of the annual Harvard-Yale football game (picture #9).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4256674067300471547?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4256674067300471547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/05/hackers-delight-history-of-mit-pranks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4256674067300471547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4256674067300471547'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/05/hackers-delight-history-of-mit-pranks.html' title='Hackers delight -- A history of MIT pranks'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-557383473588009812</id><published>2009-04-11T17:23:00.020-04:00</published><updated>2009-04-13T16:50:35.817-04:00</updated><title type='text'>The Magical Number Seven, Plus or Minus Two</title><content type='html'>In 1956, George Miller of Princeton University did a famous study entitled: &lt;b&gt;"The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information"&lt;/b&gt;.   The conclusion of the study was that people's short term memory can keep track of about seven things plus or minus two.&lt;br /&gt;&lt;br /&gt;This may explain why people prefer to think and write sequential software instead of parallel software.  Although our brains are constructed with a parallel architecture like hardware -- they seem to prefer to think about a few things at a time.  Sequential programming languages enable engineers to build a design one step at a time, enabling them to limit the number of items that need to be coordinated and managed at any one time.&lt;br /&gt;&lt;br /&gt;Hardware is different -- it's inherently parallel, like the brain.  Developing hardware forces engineers to coordinate many parallel activities -- especially where they intersect.  A lot of time is spent managing shared access to resources -- and developing complex FSMs to ensure each resource is accessed by only one operation at a time.  This makes hardware much more complex and harder to design.&lt;br /&gt;&lt;br /&gt;It's only natural to want to move hardware abstractions to sequential languages like C/C++.  These languages have large numbers of users -- and, because they're sequential, they are perceived to be easier to write.  But there are some issues:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Behavioral synthesis tools are good in the small (operating on smaller, simpler blocks) but not so good in the large (where there is hierarchy/modularity/data dependencies/...).  So, a simple algorithm can be efficiently synthesized -- but more complex algorithms cannot compete with optimal, hand-coded implementations.&lt;/li&gt;&lt;li&gt;Behavioral synthesis tools need to auto-parallelize the sequential code -- this technology has been around for years and has very clear, well understood limits.  It's not good at system interconnect/composition -- and it's not good at complex control logic.  From results we've seen, it's also often not very good at handling many algorithms.&lt;/li&gt;&lt;/ul&gt;Since C/C++ can't handle concurrency except where auto-parallelization tools can effectively discern it, SystemC was introduced.  While SystemC adds concurrency so anything can be expressed, it adds little over SystemVerilog for the abstraction of control logic and system interconnect.  As an abstraction, it's basically RTL -- except for the same places where C/C++ provide abstractions --&gt; for algorithms that can be described with tightly nested FOR loops.  Sure, you can write in a sequential software style, but you can't synthesize efficient hardware from this style -- and writing complex hardware like memory/DMA/... controllers is just as hard as with RTL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Enter Atomic Transactions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In order to get efficient hardware, you need to design hardware using a parallel programming language, as with Verilog, VHDL, or SystemC.  But, the abstraction levels for these languages aren't allowing us to keep up with design complexity.  These languages are sort of like writing software in assembly language.  We need a better abstraction for concurrency in order to design hardware faster and with fewer bugs.&lt;br /&gt;&lt;br /&gt;Here's where atomic transactions come in.  They offer a much higher level of abstraction for concurrency -- while enabling explicit control over parallelism.   Because they enable explicit parallel hardware design, engineers can consistently achieve efficient hardware implementations.&lt;br /&gt;&lt;br /&gt;But, atomic transactions allow engineers to think about one operation at a time -- without having to manage all the complexities of coordinating accesses to shared resources.  The concurrency abstraction of atomic transactions is essentially "one-problem-at-a-time".&lt;br /&gt;&lt;br /&gt;Sure it would be great to move to a sequential programming language -- to keep the problem scope for the engineer to a limited number (let's say: 7 +/- 2).  But, it's of little use if you can't efficiently generate efficient hardware from it.&lt;br /&gt;&lt;br /&gt;Like sequential languages, atomic transactions keep the problem scope down to one-problem-at-a-time (staying easily within the 7 +/- 2 zone that the human mind is good and comfortable with) -- but enable the efficient implementation of hardware by staying explicitly parallel.  Atomic transactions provide all the flavor, but without the calories -- that is, they provide abstraction for hardware design (by keeping the problems to one-at-a-time) while enabling efficient hardware implementation (no compromises in QoR).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-557383473588009812?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two' title='The Magical Number Seven, Plus or Minus Two'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/557383473588009812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/magical-number-seven-plus-or-minus-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/557383473588009812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/557383473588009812'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/magical-number-seven-plus-or-minus-two.html' title='The Magical Number Seven, Plus or Minus Two'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2966069063413561639</id><published>2009-04-02T12:29:00.003-04:00</published><updated>2009-04-02T12:31:44.052-04:00</updated><title type='text'>Coverage of our April 1rst "product announcement" in Chip Design Magazine</title><content type='html'>Max &lt;a href="http://www.chipdesignmag.com/display.php?articleId=3187"&gt;wrote up/posted our announcement yesterday on Chip Design Magazine's website&lt;/a&gt;.  It's great that Max recognizes a really big L.I.E. when he sees one.&lt;br /&gt;&lt;br /&gt;What's a "chappesses"?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2966069063413561639?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2966069063413561639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/coverage-of-our-april-1rst-product.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2966069063413561639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2966069063413561639'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/coverage-of-our-april-1rst-product.html' title='Coverage of our April 1rst &quot;product announcement&quot; in Chip Design Magazine'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3836024209165575826</id><published>2009-04-02T11:15:00.002-04:00</published><updated>2009-04-02T11:32:33.296-04:00</updated><title type='text'>Atomic Rules reacts to Deepchip posting</title><content type='html'>Shep Siegel &lt;a href="http://atomicrules.blogspot.com/2009/04/words-matter.html"&gt;wrote a post last night&lt;/a&gt; after seeing his letter posted on Deepchip.  He felt that his original letter had been diluted by editorial license -- and wanted to provide his original letter as full reference.&lt;br /&gt;&lt;br /&gt;(My previous letters have been edited as well -- I believe this is standard editorial policy.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3836024209165575826?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3836024209165575826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/atomic-rules-reacts-to-deepchip-posting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3836024209165575826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3836024209165575826'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/atomic-rules-reacts-to-deepchip-posting.html' title='Atomic Rules reacts to Deepchip posting'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-601031859746483171</id><published>2009-04-01T17:10:00.003-04:00</published><updated>2009-04-01T17:14:04.494-04:00</updated><title type='text'>(No fools!  Unlike previous post)  Bluespec users react on Deepchip</title><content type='html'>This was a long time coming -- Deepchip just posted &lt;a href="http://www.deepchip.com/items/0480-10.html"&gt;user reactions&lt;/a&gt; to a previous post from last fall.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-601031859746483171?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/601031859746483171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/no-fools-unlike-previous-post-bluespec.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/601031859746483171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/601031859746483171'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/04/no-fools-unlike-previous-post-bluespec.html' title='(No fools!  Unlike previous post)  Bluespec users react on Deepchip'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4925144530602368394</id><published>2009-04-01T01:00:00.001-04:00</published><updated>2009-03-31T23:57:27.488-04:00</updated><title type='text'>45 Billion ASIC Gates in a Box -- Whole-System Emulation</title><content type='html'>I don't know why anyone didn't think of it before -- why not just build an emulation platform that can easily fit the biggest chips, or even a complete system?  Bluespec is introducing a game-changer today -- &lt;a href="http://www.bluespec.com/news/April-Fools-2009.htm"&gt;please check out the press release&lt;/a&gt;.  :&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4925144530602368394?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4925144530602368394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/03/45-billion-asic-gates-in-box-whole.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4925144530602368394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4925144530602368394'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/03/45-billion-asic-gates-in-box-whole.html' title='45 Billion ASIC Gates in a Box -- Whole-System Emulation'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-695269148726032260</id><published>2009-03-06T14:32:00.009-05:00</published><updated>2009-03-19T16:34:19.399-04:00</updated><title type='text'>C-Synthesis Benchmarks revisited -- and a proposed design for the benchmark suite</title><content type='html'>A few posts ago, I &lt;a href="http://chipsandbs.blogspot.com/2009/02/benchmark-suite-for-c-based-synthesis.html"&gt;talked about a new benchmark suite being proposed for C-synthesis&lt;/a&gt;.  I've had a chance to look at one of the benchmarks, specifically the MIPS design.  Based on this benchmark, I think it's worth taking a deeper look at some of the other benchmarks.&lt;br /&gt;&lt;br /&gt;The MIPS design is basically a small piece of C code that executes a subset of MIPS processor-like instructions -- it's basically an instruction set simulator built mostly as a large case statement on the ops code of the instruction.  I'm curious what the synthesis results for this design would mean -- there is no pipeline, no microprocessor architecture, nor would one expect that a C synthesis tool would generate one from this code.  Additionally, it's not a particularly complicated design.  As a control based example, I'm not sure it would tell you much.&lt;br /&gt;&lt;br /&gt;If we are going to have a benchmark suite, it needs to reflect the complexity and functionality of real designs that people would do -- and ideally be of a size that allows design teams to understand differences.  A good example of a complex design suitable to benchmarking is Reed-Solomon, which has:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Complexity&lt;/li&gt;&lt;li&gt;Decent size&lt;/li&gt;&lt;li&gt;Practical use -- it's a design that someone might really need to implement&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;On OpenCores, there are publicly available sources available to Reed-Solomon for both C and Bluespec.  And, as the C version was designed with synthesis in mind, it would be the perfect candidate for assessing C synthesis tools (and can be used to compare against what's achievable with a Bluespec design). The entire project and code sets are located at &lt;a href="http://www.opencores.org"&gt;OpenCores&lt;/a&gt; (with the C reference code available in the sw-reedsolomon directory of the SVN repository for the project).  You must be logged in to OpenCores to see SVN.  The project is called bluespec-reedsolomon.�&lt;br /&gt;&lt;br /&gt;Hopefully, CHStone might consider Reed-Solomon in its mix.  If I were looking at C synthesis, I'd take a look at this design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-695269148726032260?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/695269148726032260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/03/c-synthesis-benchmarks-revisited-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/695269148726032260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/695269148726032260'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/03/c-synthesis-benchmarks-revisited-and.html' title='C-Synthesis Benchmarks revisited -- and a proposed design for the benchmark suite'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7720951063937825683</id><published>2009-03-02T10:33:00.003-05:00</published><updated>2009-03-02T10:35:07.585-05:00</updated><title type='text'>The game is afoot</title><content type='html'>This year's &lt;a href="http://www.ece.cmu.edu/%7Ejhoe/wiki/index.php/2009_Memocode_Co-Design_Contest"&gt;Memocode design contest&lt;/a&gt; just kicked off yesterday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7720951063937825683?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7720951063937825683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/03/game-is-afoot.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7720951063937825683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7720951063937825683'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/03/game-is-afoot.html' title='The game is afoot'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5477139235591315804</id><published>2009-02-11T22:12:00.037-05:00</published><updated>2009-02-13T20:04:20.957-05:00</updated><title type='text'>Abstraction and Control-Dominated Hardware Designs</title><content type='html'>I've been saying for awhile that SystemC is not a significantly improved solution for control-oriented designs, at least when it comes to designs targeted for synthesis into RTL (I'm not addressing other uses of SystemC in this post, like simulation-based testbenches, for example).  I did a quick look and found this &lt;a href="http://www.deepchip.com/items/0457-04.html"&gt;letter I had written to Deepchip&lt;/a&gt; covering this subject -- I'm sure I could find many more.  And to be clear, as it's been intimated otherwise, I've never claimed that SystemC could not be used for control logic.  Anything that you can code in RTL, you should be able to code in SystemC.&lt;br /&gt;&lt;br /&gt;My point has been consistent and straightforward: SystemC offers little benefit over Verilog/VHDL/SystemVerilog for the expression of control logic (and, probably, is even a step backward for complex control designs; with SystemC, the description will necessarily be just as low-level and manual, but it will add an additional translation step away from RTL).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eetimes.com/showArticle.jhtml;jsessionid=JXXVM5TGLZMT2QSNDLPSKHSCJUNN2JVN?articleID=213201621"&gt;But, in this week's EETimes, Gabe Moretti quotes Gary Smith&lt;/a&gt; as saying that "Now we have ESL synthesizers from Forte Design Systems and Cadence that target both the Algorithmic and Control logic domains. Because of that we are moving away from the three domains (algorithmic, processor/memory, and control logic) view of ESL to a more traditional look at the methodology. The ESL methodology is indeed maturing."&lt;br /&gt;&lt;br /&gt;I'd love to understand how things have matured in the control area -- as I'm not sure that much has beyond the messaging.  Another piece this week might provide some clues:&lt;br /&gt;&lt;br /&gt;John Sanguinetti of Forte has a contributed article for EDADesignLine called &lt;a href="http://www.edadesignline.com/howto/213300425;jsessionid=XO2QOTAOTHJAEQSNDLPCKH0CJUNN2JVN"&gt;Abstraction and Control-Dominated Hardware Designs&lt;/a&gt;.  Anyone considering SystemC for control logic should take a critical look at the example provided, particularly as it's the only example supporting the thesis.  A cursory look at the example would indicate that there's a good code savings with the SystemC implementation -- a closer look highlights that this is a very special example, and one that doesn't particularly support the notion that SystemC provides unique abstraction for control logic.  Here are some things I noticed:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The code illustrated is a basic sequential set of steps, with no flow control, no conflicts with shared resources, no conflicts with other FSMs in the system -- sure, it's "control" code, but it's hardly representative of what makes control complex.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The article mentions that this is illustrating a cooperating FSM (because it "cooperates" with a memory, I guess).  Well, this is a pretty special (not to mention convenient) case of a "cooperating" FSM: the interactions are deterministic and stepwise and mirror images of each other.  This is hardly an illustration of cooperating FSMs that have any usefully interesting interactions.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Isn't this showing abstraction?  It definitely is -- and, in general, it's powerful to be able to hide code in a library and reuse it. It's especially elegant to overload operators as illustrated in this example.  In SystemVerilog RTL, you wouldn't be able to do this type of overloading (I don't believe) and have it synthesize.  &lt;span style="font-style: italic;"&gt;That said, I believe you could do almost the exact same thing -- and provide almost the identical succinctness -- by using SystemVerilog tasks (I'm not an expert at SystemVerilog RTL -- so I'm not sure I'm using the right terminology).  Basically, the point is that there's nothing about RTL that precludes this type of abstraction -- and I believe you could closely mimick it.  Does that make SystemVerilog ESL?&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The code that's "eliminated" in this example has to be written elsewhere in a class library -- so, for a single use, there's no code succinctness&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What does the code in the library look like?  Is it much better than what's illustrated in the RTL in this example?  Or, is it RTL-like SystemC code put away in a library so that you write it once instead of at every instance?&lt;/li&gt;&lt;li&gt;What if the memory subsystem had different behaviors every time?  For example, it completed transactions in differing numbers of cycles.  What would that code look like?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;How flexible is this code -- and how prone to error is it for an engineer to use, especially now that it's been hidden away?  For example, in this design, it's assumed that only one process accesses the memory at any one time -- who guarantees this and how?  Is it only usable in situations where you know it's the only thing accessing memory -- or accessing it "at that time"?  What's required to use it if you need to worry about other processes potentially accessing the memory at the same time?  So, if multiple processes try to simultaneously access the memory, what would happen?  (I presume you'd get a bug, unless the library accounts for this (see the next point))&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What would the code look like in the library if it had to account for multiple processes needing to access the single memory resource at the same time?  Would the synthesis work for this particular case where the memory access is abstracted with []?&lt;/li&gt;&lt;/ul&gt;A code abstraction like this example looks good -- but isn't really illustrative of the kind of control logic that really needs to get abstracted.  Complex control designs have cooperating FSMs with shared resource contentions, flow control considerations and more.  Expressing this type of control (which is seen in most control-based design such as processors/controllers; DMA controllers; memory controllers; communications/networking IP; bus interfaces; system interconnects; etc.) is hard whether you do it in RTL or SystemC.  It would be nice to know how SystemC looks and handles these types of issues -- and how it's better than RTL.  A couple years ago, I put forth a challenge to see what SystemC looked like for these types of designs -- and &lt;a href="http://i.cmpnet.com/deepchip/downloads/bluespec.zip"&gt;published very transparent examples of how and why Bluespec dramatically improves these types of designs&lt;/a&gt;.  What does SystemC look like for these types of designs?  Why don't the behavioral synthesis vendors provide examples of these types of designs?&lt;br /&gt;&lt;br /&gt;These more complex interactions are one important area where atomic transactions offer a profoundly better abstraction than RTL, making complex concurrency dramatically simpler to express, easier to change, and much more.  Abstraction for control is about addressing and improving shared resource management, arbitration, scheduling, flow control, etc.&lt;br /&gt;&lt;br /&gt;I'm not saying that SystemC can't be used to express control logic -- and I'm not suggesting that SystemC doesn't provide benefits over C/C++.  It does -- and I'm sure there are many times where a dataflow implementation benefits from finer grained control and concurrency expressiveness.  But, these aren't the fundamental questions.&lt;br /&gt;&lt;br /&gt;The fundamental question is: what types of designs benefit from synthesizable design with SystemC versus Verilog/VHDL/SystemVerilog?  And, how do they benefit?  Abstraction buys you little if the quality of the results are not acceptable.  Abstraction also buys you little if it improves the 20%, not the 80%.  SystemC buys you little when there's little abstraction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5477139235591315804?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5477139235591315804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/02/abstraction-and-control-dominated.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5477139235591315804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5477139235591315804'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/02/abstraction-and-control-dominated.html' title='Abstraction and Control-Dominated Hardware Designs'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5346486532078844623</id><published>2009-02-05T18:02:00.004-05:00</published><updated>2009-02-05T21:52:57.787-05:00</updated><title type='text'>A benchmark suite for C-based synthesis</title><content type='html'>An interesting development in the C-based behavioral synthesis space is the development of a benchmark suite.  &lt;a href="http://www.ertl.jp/chstone/"&gt;CHStone is a proposed suite for providing a common platform of benchmarks upon which to compare high-level synthesis tools.&lt;/a&gt;  It's an interesting idea -- as it might be a way for potential customers to assess, compare and contrast different tools, without having to devote as much work.  As well, if the suite is really representative, realistic and broad enough in capability, then it will allow customers to understand how the tools might perform in different applications.&lt;br /&gt;&lt;br /&gt;At a minimum, it would be another datapoint prospective customers could use.  Wouldn't it be interesting if vendors published source code, any support files required by the tool, generated Verilog RTL, and synthesis results (for popular silicon targets, e.g. TSMC 65 nm, Xilinx, Altera, ...) for each design in the benchmark suite?&lt;br /&gt;&lt;br /&gt;People using published results should be thinking about an array of considerations:&lt;br /&gt;&lt;br /&gt;*  What's the source code like and ancillary files, if any&lt;br /&gt;&lt;br /&gt;*  How usable is the RTL (debug/ECOs/...)&lt;br /&gt;&lt;br /&gt;*  Can end-users recreate the results&lt;br /&gt;&lt;br /&gt;*  In the microprocessor space, compilers and processors were tuned to address the benchmark suites.  For example, there were compilers that recognized that the Dhyrstone source and spit out a pre-designed, hand-optimized assembly code.  Other tricks like optimizations that are narrowly tailored such that the benchmark(s) benefit but other designs almost never do.  It's likely that games will be played over time if people start using these designs -- so, end-users will have to change the sources in different dimensions to test for this (features/naming/loop structure/....).  And, this may diminish the value of this suite over time -- so new suites will need to get developed.&lt;br /&gt;&lt;br /&gt;*  I'm sure there are some others...  (I've got to run -- I'll probably add some more when I've had time to digest.)&lt;br /&gt;&lt;br /&gt;I don't have access to the IEEE paper that the developers of the CHStone suite wrote -- I'd love to read it to understand more.  I think it's an interesting idea, as long as it doesn't get gamed.  I'm curious about how good the proposed designs are at really pushing the tools -- and pushing them in different directions.  Thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5346486532078844623?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5346486532078844623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/02/benchmark-suite-for-c-based-synthesis.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5346486532078844623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5346486532078844623'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/02/benchmark-suite-for-c-based-synthesis.html' title='A benchmark suite for C-based synthesis'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2303555847006605224</id><published>2009-01-23T13:32:00.004-05:00</published><updated>2009-01-23T14:07:33.512-05:00</updated><title type='text'>Off topic, but humorous:  They didn't study</title><content type='html'>I'd seen a couple of these test answers in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Nikhil's&lt;/span&gt; office, but this has a few more.  This post is only peripherally on topic -- as it's nerd humor.  Can't remember if this requires a browser plug in:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://www.scribd.com/doc/5107/They-didnt-study"&gt;They didn't study&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2303555847006605224?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2303555847006605224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/off-topic-but-humorous-they-didnt-study.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2303555847006605224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2303555847006605224'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/off-topic-but-humorous-they-didnt-study.html' title='Off topic, but humorous:  They didn&apos;t study'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1207510551774882226</id><published>2009-01-22T20:46:00.011-05:00</published><updated>2009-01-23T12:55:29.944-05:00</updated><title type='text'>Bluespec's new website is up!</title><content type='html'>&lt;a href="http://www.bluespec.com/"&gt;It's a great relief to have it finally up&lt;/a&gt; (though it is, of course, a work-in-progress).  If anyone has ideas for better images (&lt;a href="http://www.istockphoto.com"&gt;www.istockphoto.com&lt;/a&gt; is a good resource) for the pictures on the various pages, I'm open to suggestions!&lt;br /&gt;&lt;br /&gt;(I completely forgot to thank Barbara, the designer, for getting it done: &lt;a href="http://www.wavepaint.com"&gt; &lt;/a&gt;&lt;a href="http://www.wavepaint.com"&gt;www.wavepaint.com&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1207510551774882226?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1207510551774882226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/bluespecs-new-website-is-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1207510551774882226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1207510551774882226'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/bluespecs-new-website-is-up.html' title='Bluespec&apos;s new website is up!'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-614869231608656747</id><published>2009-01-20T21:38:00.007-05:00</published><updated>2009-01-20T21:55:15.560-05:00</updated><title type='text'>2009 Memocode design contest</title><content type='html'>The third annual design contest for the Memocode conference is coming up this March.  Here's information for those wishing to participate (from one of the contest organizers):&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;MEMOCODE 2009 will again have a design contest. The contest will start March 1, 2009. The deadline for submission is March 31, 2009 and the notification of the results is on May 8, 2009. The conference will sponsor at least two prize categories, each with a $1000 cash award.  Each team that submits a complete and working entry will be invited to submit for review a 2-page abstract for the formal conference proceedings; prize winning teams will be invited to contribute a 4-page short paper.  For more information, please visit &lt;a href="http://www.ece.cmu.edu/%7Ejhoe/mc09.html" target="_blank"&gt;http://www.ece.cmu.edu/~jhoe/&lt;wbr&gt;mc09.html&lt;/a&gt;.&lt;/blockquote&gt;Last year's results are pretty interesting and available here: &lt;a href="http://memocode.irisa.fr/2008/designcontest08/everybodywins/index.html"&gt;http://memocode.irisa.fr/2008/designcontest08/everybodywins/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2007's results are available here: &lt;a href="http://memocode.irisa.fr/2007/designcontest07/"&gt;http://memocode.irisa.fr/2007/designcontest07/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Bluespec solutions are only as good as the architecture envisioned by the team using it.  Like the &lt;a href="http://www.performancechemicals.basf.com/ev-wcms-in/internet/en_GB/portal/show-content_df/content/EV/EV5/invisible_contribution/index"&gt;BASF advertisement&lt;/a&gt; ("We don't make a lot of the products you buy; we make a lot of the products you buy better!"), Bluespec doesn't make the architectures you design; it let's you express/build them faster and with many fewer bugs  -- and have time to explore them.&lt;br /&gt;&lt;br /&gt;(Bluespec provides free tools to universities for research and teaching purposes.  If you want to consider using Bluespec for the contest, we'd suggest not waiting until the last minute.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-614869231608656747?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/614869231608656747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/2009-memocode-design-contest.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/614869231608656747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/614869231608656747'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/2009-memocode-design-contest.html' title='2009 Memocode design contest'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8841351276502319945</id><published>2009-01-16T10:11:00.004-05:00</published><updated>2009-01-16T11:33:59.971-05:00</updated><title type='text'>A couple good quotes about programming languages</title><content type='html'>I like the following two quotes about programming languages.&lt;br /&gt;&lt;br /&gt;The first was referenced by user wychen in &lt;a href="http://www.bluespec.com/forum/viewtopic.php?t=144"&gt;a post on our discussion forums&lt;/a&gt; (to highlight why someone should elevate the expression level of their design. wychen's comment was: "&lt;span class="postbody"&gt;It would be much more meaningful if you can design your hardware in a bluespec way. If you want to learn from examples, the MIT WiFi/WiMax design is a better starting point than the MIT H.264 design. The H.264 one seems pretty much like RTL and doesn't make full use of these advantages provided by bluespec."&lt;/span&gt;).  wychen also included this quote in his post:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"Language that doesn't affect the way you think about programming is not worth knowing"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;by Alan Perlis&lt;br /&gt;&lt;/blockquote&gt;The second was referenced by Nikhil, our CTO, in a comment he had made on &lt;a href="http://www.edn.com/blog/1690000169/post/1230038923.html?nid=3080"&gt;Ron Wilson's recent editorial, How languages influence design, and why we should care: a tale of C, Verilog, and trouble&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span class="noindex"&gt;The quote is from a great mathematician/philosopher Alfred North Whitehead in his book "Introduction to Mathematics":&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;blockquote&gt;“By relieving the brain of all unnecessary work, a good notation     sets it free to concentrate on more advanced problems, and, in     effect, increases the mental power of the race. Before the     introduction of the Arabic notation, multiplication was difficult,     and the division even of integers called into play the highest     mathematical faculties. Probably nothing in the modern world would     have more astonished a Greek mathematician than to learn that     ... a large proportion of the population of Western Europe could     perform the operation of division for the largest numbers. This     fact would have seemed to him a sheer impossibility ... Our modern     power of easy reckoning with decimal fractions is the almost     miraculous result of the gradual discovery of a perfect     notation. [...] By the aid of symbolism, we can make transitions     in reasoning almost mechanically, by the eye, which otherwise     would call into play the higher faculties of the brain.”&lt;/blockquote&gt;&lt;/span&gt;The example of how a change to the notation of numbers drastically changed what people are capable of doing is very powerful -- and illustrative of what good languages should be capable of.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8841351276502319945?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8841351276502319945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/couple-good-quotes-about-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8841351276502319945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8841351276502319945'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/couple-good-quotes-about-programming.html' title='A couple good quotes about programming languages'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5522712841204993785</id><published>2009-01-15T10:43:00.003-05:00</published><updated>2009-01-15T11:47:56.657-05:00</updated><title type='text'>IBM PowerPC Design in Bluespec</title><content type='html'>Amazing what Google will find.  I've been really busy working on our new website.  In the process, we'd like to bring a few stale webpages up-to-date.  One of these is the technical paper reference page (which we last updated in 2005!).&lt;br /&gt;&lt;br /&gt;Anyway, in the process, Kathy came upon a recent paper on IBM's website outlining the model of an IBM PowerPC design done with Bluespec: &lt;a href="http://domino.research.ibm.com/library/CyberDig.nsf/papers/A70107DCCC6C06308525751B004C1BE5"&gt;IBM PowerPC Design in Bluespec&lt;/a&gt;.  This is part of a project to provide a processor modeling environment where many different architectural dimensions can be explored rapidly -- and assessed at high-speed on an FPGA subsystem.&lt;br /&gt;&lt;br /&gt;I'll provide an excerpt (the intro) below.  In the paper, there's a neat table showing the number of lines of BSV for the Core+Cmd interface for a single threaded design -- and the corresponding number for a design with four threads (the design is highly configurable).  The stats are pretty interesting considering the design is 100% synthesizable:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Lines of BSV for version of CPU core with one thread:  12,433&lt;/li&gt;&lt;li&gt; Lines of BSV for version of CPU core with four threads:  12,433&lt;/li&gt;&lt;/ul&gt;There are six different code excerpts in the back of the paper which illustrate the style/level of abstractness of code (keep in mind that this model is executable on an FPGA).&lt;br /&gt;&lt;br /&gt;Here's an excerpt from the paper which describes what's presented (bold added by me):&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"We describe here the structure and principal components of the design of a multi-threaded powerPC processor using Bluepsec.  &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;The focus is on the generality and flexibility of structure, using the high-level nature of Bluespec language, so that the resulting design facilitates rapid experimentation with incremental changes to the architecture.  Hence, the code is highly parameterized so that the design can be easily tailored to vary the number of threads, cores, various table sizes, etc. &lt;/span&gt;&lt;span style="font-style: italic;"&gt; The implementation presented here is of a very primitive processor that has no cache subsystem and is directly connected to a memory.  A preliminary design of an address translation mechanism is included.  We describe the structuring of some salient components and give some code fragments to illustrate the flavor of coding style.  The complete processor is synthesized successfully and is currently being ported onto an FPGA platform."&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5522712841204993785?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://domino.research.ibm.com/library/CyberDig.nsf/papers/A70107DCCC6C06308525751B004C1BE5' title='IBM PowerPC Design in Bluespec'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5522712841204993785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/ibm-powerpc-design-in-bluespec.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5522712841204993785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5522712841204993785'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/ibm-powerpc-design-in-bluespec.html' title='IBM PowerPC Design in Bluespec'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4664915256327184539</id><published>2009-01-14T09:22:00.006-05:00</published><updated>2009-01-14T11:15:13.193-05:00</updated><title type='text'>The system integration opportunity</title><content type='html'>There's &lt;a href="http://www.edn.com/blog/920000692/post/1730038973.html"&gt;an interesting guest blog by Jim Hogan&lt;/a&gt;, on EDN's website last week.  He talks about the importance of IP, and, specifically, the opportunity for block level interconnect and memory control IP:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"In my opinion, there is a substantial untapped System-Level IP opportunities in block level interconnect and memory control–the architecture through which IP is integrated and IP interoperation is achieved.&lt;span class="infuse"&gt; &lt;p&gt;"The new platform opportunity for what EDA becomes lies in the successful integration of third party blocks in a &lt;a class="infusionLink" omd="zodJump('http://widgets.zibb.com/images/_jump.gif?tag=InfusionJS&amp;amp;url=http%3A%2F%2Fwww.edn.com%2Fhot-topic%2F48834%2Fsoc.html&amp;amp;gsid=SOC&amp;amp;entitytypeid=kw&amp;amp;lid=http://www.edn.com/hot-topic/48834/soc.html&amp;amp;title=SOC&amp;amp;zodid=43')" alt="SOC" href="http://www.edn.com/hot-topic/48834/soc.html"&gt;System on Chip&lt;/a&gt; (&lt;a class="infusionLink" omd="zodJump('http://widgets.zibb.com/images/_jump.gif?tag=InfusionJS&amp;amp;url=http%3A%2F%2Fwww.edn.com%2Fhot-topic%2F48834%2Fsoc.html&amp;amp;gsid=SOC&amp;amp;entitytypeid=kw&amp;amp;lid=http://www.edn.com/hot-topic/48834/soc.html&amp;amp;title=SOC&amp;amp;zodid=43')" alt="SOC" href="http://www.edn.com/hot-topic/48834/soc.html"&gt;SOC&lt;/a&gt;) or an &lt;a class="infusionLink" omd="zodJump('http://widgets.zibb.com/images/_jump.gif?tag=InfusionJS&amp;amp;url=http%3A%2F%2Fwww.edn.com%2Fhot-topic%2F48842%2Ffpgas-and-programmable-logic.html&amp;amp;gsid=FPGAs and programmable logic&amp;amp;entitytypeid=kw&amp;amp;lid=http://www.edn.com/hot-topic/48842/fpgas-and-programmable-logic.html&amp;amp;title=FPGAs%20and%20programmable%20logic&amp;amp;zodid=43')" alt="FPGAs and programmable logic" href="http://www.edn.com/hot-topic/48842/fpgas-and-programmable-logic.html"&gt;FPGA&lt;/a&gt;."&lt;/p&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="infuse"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;While this problem has been attacked with IP -- the approaches haven't been very flexible.  In order to achieve a sophisticated level of parameterization, it's required tremendous development and maintenance of scripting and tool infrastructure.  Interconnects need to be a lot more nimble in architecture/features and protocols and more sophisticated in design -- and need to be able to quickly support the needs of both modeling and implementation.  I don't believe that RTL can easily or efficiently deliver on this.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4664915256327184539?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4664915256327184539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/system-integration-opportunity.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4664915256327184539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4664915256327184539'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/system-integration-opportunity.html' title='The system integration opportunity'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8171936365388042293</id><published>2009-01-13T16:11:00.005-05:00</published><updated>2009-01-14T19:30:36.134-05:00</updated><title type='text'>How Languages Influence Design</title><content type='html'>There's a great, thought provoking editorial by EDN's Ron Wilson entitled:  &lt;a href="http://www.edn.com/blog/1690000169/post/1230038923.html?nid=3080"&gt;How languages influence design, and why we should care: a tale of C, Verilog and Trouble&lt;/a&gt;.  It makes many of the same points that we (at Bluespec) often make -- in fact, our CTO, Rishiyur S. Nikhil, made a comment on Ron's blog.&lt;br /&gt;&lt;br /&gt;In the piece, Ron makes an analogy with APL, which is a language for expressing certain types of math algorithms.  Apparently, it's very difficult to write a good compiler for APL.  He compares that to C, which may be nice for describing things, but it's just as difficult to do a good compiler for it for multi-cores or for hardware (outside of basic datapaths). In contrast, Verilog and VHDL are easy to write compilers for, but are too low level.&lt;br /&gt;&lt;br /&gt;Unfortunately, the world of hardware is not simply datapaths -- even algorithms get complex and, many times, intermingle datapath and control.  And, their implementations often need to be tightly coupled with switch interconnects, data moving units, and memory dynamics for optimal implementations.&lt;br /&gt;&lt;br /&gt;And, what about system interconnects and other complex control related IP?&lt;br /&gt;&lt;br /&gt;Automatic parallelization is neat technology, but it's not a general solution -- instead, we need solutions that are common to system interconnects, complex control and algorithmic IP so that we can elevate all projects in a design, especially the ones that are required to develop software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8171936365388042293?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8171936365388042293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/how-languages-influence-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8171936365388042293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8171936365388042293'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2009/01/how-languages-influence-design.html' title='How Languages Influence Design'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3449586232770465571</id><published>2008-10-28T15:22:00.005-04:00</published><updated>2008-10-28T17:50:57.545-04:00</updated><title type='text'>Promising new addition to DAC next year: User Track</title><content type='html'>As a relatively new person in EDA, I was surprised at how 'inside baseball' many of the technical tracks can be at DAC.  I've been hoping that the technical tracks could become much more relevant to the average design engineer.&lt;br /&gt;&lt;br /&gt;There's a new track for next year's DAC entitled the DAC User Track.  It sounds very promising -- here's an excerpt from the &lt;a href="http://www.dac.com/46th/PDFs/46DACUserTrack_CFEA.pdf"&gt;call for extended abstracts&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;This year, DAC  is introducing a new User Track to address the issues facing designers, application engineers, and design flow developers. User Track papers describe the use of EDA tools to design a novel electronic system, or to produce a design flow or a methodology to produce such systems. A User Track paper may be problem-specific in scope (e.g., analyzing substrate coupling during floorplanning) or may address a specific application domain (e.g., designing wireless handsets), though applications to other types of designs and design flows could be inferred.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3449586232770465571?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3449586232770465571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/promising-new-addition-to-dac-next-year.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3449586232770465571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3449586232770465571'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/promising-new-addition-to-dac-next-year.html' title='Promising new addition to DAC next year: User Track'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5840201615175309996</id><published>2008-10-22T21:52:00.002-04:00</published><updated>2008-10-22T21:59:42.285-04:00</updated><title type='text'>BEE3: Putting the Buzz Back into Computer Architecture</title><content type='html'>My last post was about RAMP.  The hardware platform they'll be using for their computer architecture research is called BEE3 -- and the link above is to &lt;a href="http://research.microsoft.com/displayArticle.aspx?id=1923"&gt;an article&lt;/a&gt; on Microsoft's role in developing (with a focus on &lt;a href="http://en.wikipedia.org/wiki/Charles_P._Thacker"&gt;Chuck Thacker&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;There are some neat &lt;a href="http://research.microsoft.com/projects/BEE3/"&gt;details on the BEE3 here&lt;/a&gt;.  Each one has four Xilinx Virtex-5's (Virtex-5 LX110T, LX155T, or SX95T).  Each BEE3 has a lot of expansion.  And up to 64 BEE3's can be interconnected together.&lt;br /&gt;&lt;br /&gt;There should be some very interesting computer architecture research driven from this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5840201615175309996?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://research.microsoft.com/displayArticle.aspx?id=1923' title='BEE3: Putting the Buzz Back into Computer Architecture'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5840201615175309996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/bee3-putting-buzz-back-into-computer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5840201615175309996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5840201615175309996'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/bee3-putting-buzz-back-into-computer.html' title='BEE3: Putting the Buzz Back into Computer Architecture'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8091521452320995327</id><published>2008-10-21T22:01:00.004-04:00</published><updated>2008-10-21T23:12:29.014-04:00</updated><title type='text'>RAMP</title><content type='html'>RAMP stands for Research Accelerator for Multiple Processors.  It's a research effort that involves many universities and companies, with a home based at Berkeley.  The thrust of the effort is to build a platform to do research with 1000 CPU systems -- John Wawrzynek's &lt;a href="http://ramp.eecs.berkeley.edu/Publications/A%20Project%20Introspective%20%28Slides,%208-20-2008%29.pdf"&gt;A Project Introspective&lt;/a&gt; presentation summarizes the challenge: the many processor design trend has a problem in that compilers, OSes, and architectures are not ready for 1000s of CPUs per chip.  So, RAMP is building an FPGA-based infrastructure for doing cycle-accurate multi-core/many-core architecture emulation.&lt;br /&gt;&lt;br /&gt;Because simulation (software-based models) just won't scale -- they're moving the modeling platform to hardware.  This is a trend that I am seeing more and more where people are executing models on hardware (FPGAs) rather than in simulation -- because they perform better and scale with multi-core growth (by adding more hardware).&lt;br /&gt;&lt;br /&gt;There are a bunch of interesting areas enabled through Bluespec -- including RAMP infrastructure, James Hoe's research into multi-core simulator technologies, Derek Chiou's research into cycle-accurate architecture emulation, ...  The &lt;a href="http://ramp.eecs.berkeley.edu/index.php?publications"&gt;publications area&lt;/a&gt; has lots of very interesting presentations summarizing work and status.  I'll cherry pick a couple of the public industrial projects involving MIT (and others) -- I'll highlight others (which are just as fascinating) when I have time:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ramp.eecs.berkeley.edu/Publications/The%20IBMMIT%20PowerPC%20Project%20%28Slides,%208-20-2008%29.pdf"&gt;IBM's PowerPC project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ramp.eecs.berkeley.edu/Publications/RAMP-HAsim%20Status%20Update%20%28Slides,%201-16-2008%29.ppt"&gt;Intel's HAsim project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In order to move models into hardware, you need higher-level abstraction -- and in order to make effective use of FPGAs, you need to avoid both the bugs and brittleness inherent in RTL design.  This can only be done for processors, caches, memory models, DMA, switches, etc. with general purpose high-level synthesis languages that don't suffer quality of results issues.&lt;br /&gt;&lt;br /&gt;Why not C/C++?  There's no notion of concurrency (for synthesis, it's good with loop-unrolling, but not for other applications)&lt;br /&gt;&lt;br /&gt;Why not SystemC?  It doesn't raise the level of abstraction of concurrency for hardware design over RTL.  So there's no benefit for complex control applications.  Again, for synthesis, it's good with loop-unrolling, but not other applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8091521452320995327?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ramp.eecs.berkeley.edu/index.php?index' title='RAMP'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8091521452320995327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/ramp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8091521452320995327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8091521452320995327'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/ramp.html' title='RAMP'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5157260537500297649</id><published>2008-10-20T22:01:00.003-04:00</published><updated>2008-10-20T22:22:57.309-04:00</updated><title type='text'>ESL article on EDN</title><content type='html'>I'm so behind -- I've got some items that I've been collecting.  One is an ESL article by Ron Wilson of EDN called: &lt;a href="http://www.edn.com/index.asp?layout=article&amp;amp;articleid=CA6586221"&gt;Electronic-system-level design, is there fire beneath the smoke?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ron interviewed Grant Martin, of Tensilica, for this article.  While there's been a lot of hype from some of the C-to-RTL vendors about using C for control logic, Grant makes some good points.  Here are some highlights from the &lt;a href="http://www.edn.com/index.asp?layout=article&amp;amp;articleid=CA6586221"&gt;article&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;p&gt;Grant Martin, chief scientist at configurable-processor vendor Tensilica, has for years been working on the control-logic-synthesis problem. "For the current tools, the sweet spot for ESL synthesis is still datapath logic," he says. "If there is a clear exception, it might be in the networking space, where some design teams have been using [ESL-synthesis-tool set] BlueSpec in areas such as packet-classification engines."&lt;/p&gt;             &lt;p&gt;Martin points to several issues with C-to-RTL control-logic synthesis. One is that the strategies that have so far worked best have been less dependent on C sources and not as algorithmic in their approach as the tools for datapaths. It's not that C is a poor language for expressing control logic, Martin says. Some people are comfortable using C dialects in this way. But, in C, he points out, execution time for a control algorithm is generally not an issue. In control-logic hardware, every cycle matters.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;I'll add that Bluespec is being used in many areas outside of networking -- many of them in areas traditional behavioral synthesis could never add value, given the datapath-centric focus of those tools.  I think Grant hits on one key -- that control logic generation from C suffers tremendously in quality of results, primarily due to the limitations of automatic parallelization technology.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The other point I'd make is that the abstraction for control logic in these other approaches offers little over RTL.  Hardware is concurrent -- but these C languages don't raise the level of abstraction of concurrency or advance design in this dimension.  I think that's the ultimate issue with these approaches -- and what will impede their use for design beyond datapath centric applications.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5157260537500297649?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5157260537500297649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/esl-article-on-edn.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5157260537500297649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5157260537500297649'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/10/esl-article-on-edn.html' title='ESL article on EDN'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3250735033126821865</id><published>2008-09-11T13:47:00.004-04:00</published><updated>2008-09-11T14:01:44.925-04:00</updated><title type='text'>FIFO madness</title><content type='html'>One of the engineers sent &lt;a href="http://www.dadhacker.com/blog/?p=1052"&gt;the following blog entry&lt;/a&gt; around, which relates one embedded software engineer's frustration with FIFOs.  He claims he's never written a driver for a system that didn't have a FIFO problem in it.  He starts out with:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"I’ve never seen a FIFO that worked. Period. Every piece of hardware I’ve had to write a driver for has had a buggy FIFO."&lt;/blockquote&gt;&lt;br /&gt;It's no wonder given that RTL-level design requires every FIFO instantiation to have context-specific control logic designed for it -- every single time.  It's like Bill Murray in the Groundhog movie -- every day is the same and has to be done all over from the beginning.  Every single time you use a FIFO, you can get all sorts of things wrong with it.&lt;br /&gt;&lt;br /&gt;Atomic transactions tightly coupled with high-level interface semantics are the only things that I'm aware of that virtually eliminate this issue.  As the engineer who sent it around said, if only they'd been using Bluespec (once you verify a FIFO to be correct at the unit level, there's no special context-specific control logic you have to write for each instantiation -- the compiler gets it right without any added weight of implementation.  FIFO problems solved.).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3250735033126821865?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3250735033126821865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/09/fifo-madness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3250735033126821865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3250735033126821865'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/09/fifo-madness.html' title='FIFO madness'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7237300335927311224</id><published>2008-07-27T12:51:00.009-04:00</published><updated>2008-07-27T14:02:07.142-04:00</updated><title type='text'>Reuse - the difference between hardware and software</title><content type='html'>I wanted to share a perspective I heard while in the Bay Area last week.  We've made some of these points, but I liked the way it was wrapped.&lt;br /&gt;&lt;br /&gt;The context was in discussing issues with hardware design.  The engineer's viewpoint was that a fundamental issue was design reuse, or the adequate lack thereof in hardware design.&lt;br /&gt;&lt;br /&gt;He made a comparison to the software space, where most software applications are largely built on top of pre-existing libraries.  In the software space you stand on the shoulders of those before you.  These software libraries aren't application specific, but are general libraries of all sorts of useful building blocks and capabilities.  It wouldn't be atypical for a GUI software program to consist of only a fraction of new code, with the bulk built using libraries.  And, in the software space, as libraries grow, reuse grows commensurately.&lt;br /&gt;&lt;br /&gt;In contrast, reuse in the hardware space consists of large, application specific blocks, e.g. PCIe, processor, etc.  You just don't see a lot of general purpose libraries that can be easily used in different situations to build your designs.  And, when you do, typically they're very brittle -- it's difficult to interface to them, to change them and to leverage them for specific needs.&lt;br /&gt;&lt;br /&gt;I think there are two fundamental reasons for this:&lt;br /&gt;&lt;br /&gt;1.  There are no standard interface conventions (analogous to calling conventions in the software space) -- this means that it's very hard to use hardware IP blocks.  Each instantiation requires a custom, manually-intensive, situation-dependent implementation.&lt;br /&gt;&lt;br /&gt;2.  Shared resource conflicts must be manually handled.  Hardware is parallel -- and the biggest complication is avoiding (scheduling around) race conditions where two operations might try to access the same resource (such as a register or an interface, such as enqueue and dequeue on a FIFO).&lt;br /&gt;&lt;br /&gt;These two items prevent IP from being reused as a black box.  The semantics of RTL (I include SystemC, SystemVerilog, Verilog, VHDL) prevent this from ever happening -- just like assembly language prevents the type of libraries that you see at a higher level in languages like C/Java/...&lt;br /&gt;&lt;br /&gt;Atomic transactions address both these problems -- and enable general purpose hardware libraries, including those that look very much like what you might expect to only see in the hardware space.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7237300335927311224?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7237300335927311224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/07/reuse-difference-between-hardware-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7237300335927311224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7237300335927311224'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/07/reuse-difference-between-hardware-and.html' title='Reuse - the difference between hardware and software'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8514732232179051523</id><published>2008-07-21T10:18:00.007-04:00</published><updated>2008-07-21T14:25:15.147-04:00</updated><title type='text'>Deming and dependence on mass inspection</title><content type='html'>I got into a discussion last night with someone about the parallels between auto manufacturing (that is, U.S. auto manufacturing of the 70s) and chip design -- about how there is a focus on improving verification, without considering the impact that design has had on this.  This person mentioned a slide that he used to have with a quote by W. Edwards Deming on it -- I've used the same quotes from Deming, I am guessing:&lt;br /&gt;&lt;blockquote&gt;Inspection with the aim of finding the bad ones and throwing them out is too late, ineffective, costly.  In the first place, you can't find the bad ones, not all of them.  Second, it costs too much.  Quality comes not from inspection but from improvement of the process.&lt;br /&gt;&lt;br /&gt;The old way: Inspect bad quality out.&lt;br /&gt;&lt;br /&gt;The new way: Build good quality in.&lt;/blockquote&gt;&lt;br /&gt;People have said that design is not the long pole of the tent.  I presume that they mean that verification or software development is the long pole.  I believe we have a design problem.  We need to find ways to build good quality in -- there is nothing like avoiding bugs in the first place.  You can never find all the bugs if you depend on inspecting the bad quality out.  Low level design forces a protracted specification/architecture phase where micro-architecture details are too often planned out and prematurely committed -- and this delays verification integration/bringup.  A plethora of bugs causes too much time doing debug and not enough time writing and running tests during verification.&lt;br /&gt;&lt;br /&gt;There's no doubt that verification is killing us -- but it's important to diagnose the root cause of this.  Continuing to add more verification engineers will not stem the root cause.&lt;br /&gt;&lt;br /&gt;The U.S. auto industry thought they could inspect for quality in the 70s -- it took the Japanese to prove them wrong.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8514732232179051523?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8514732232179051523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/07/deming-and-dependence-on-mass.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8514732232179051523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8514732232179051523'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/07/deming-and-dependence-on-mass.html' title='Deming and dependence on mass inspection'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4345406378561735093</id><published>2008-07-12T15:31:00.005-04:00</published><updated>2008-07-12T15:54:50.584-04:00</updated><title type='text'>How the MEMOCODE design contests were won</title><content type='html'>Recently, there was a &lt;a href="http://lambda-the-ultimate.org/node/2881"&gt;nice plug on the programming language website Lambda the Ultimate&lt;/a&gt; for both this year and last year's MEMOCODE codesign contest winners -- which involved hardware acceleration of a cryptosorter design and a matrix multiplication, respectively.  From this Lambda the Ultimate page, you can also get links to download writeups about the designs as well as copies of the designs themselves.&lt;br /&gt;&lt;br /&gt;Both winning teams were powered by Bluespec.  The 2008 team competed against eight other designs and beat second place by 11X.  The 2007 team had only one competitor, which it beat by 5X.&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://people.csail.mit.edu/mdk/papers/memocode_2008_cryptosorter.pdf"&gt;the writeup&lt;/a&gt; describing this year's winning design to be a lot of fun.  It's a quick read describing what they accomplished in only three weeks -- truly amazing.  Aside from the complexity of the design and alternatives they explored, I found it most interesting that they skipped system simulation and went right into FPGA.&lt;br /&gt;&lt;br /&gt;FPGAs will revolutionize embedded development, modeling and verification (let alone hardware design) when the two sources of drag caused by low-level design get squashed:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Bugs - complex designs today spend far too much time in simulation while bugs get wrung out until the quality is to the point that FPGAs can be safely used&lt;/li&gt;&lt;li&gt; Changes - design changes, such as for micro-architectural exploration, feature enhancements, or even (what should be) small refinements, take much too long.  Consequently, designs must be overly carefully planned to get them right first time -- which takes a lot of time planning architectural and micro-architectural details and too often low-level details are fixed far too early in the process&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4345406378561735093?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4345406378561735093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/07/how-memocode-design-contests-were-won.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4345406378561735093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4345406378561735093'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/07/how-memocode-design-contests-were-won.html' title='How the MEMOCODE design contests were won'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6039784068505145935</id><published>2008-06-23T21:02:00.003-04:00</published><updated>2008-06-23T22:08:25.649-04:00</updated><title type='text'>New blog on scalable atomicity for reconfigurable computing</title><content type='html'>I just got a heads up from an engineer on his new blog called &lt;a href="http://atomicrules.blogspot.com/"&gt;Scalable Atomicity&lt;/a&gt;. I'm not entirely sure what he's up to (outside of leveraging atomic transactions as a competitive advantage). Reading between the lines, it looks like his focus will be around enabling a new way (that emphasizes time-to-solution, scale and correctness) to do multicore solutions and architectures in the FPGA world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6039784068505145935?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6039784068505145935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/new-blog-on-scalable-atomicity-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6039784068505145935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6039784068505145935'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/new-blog-on-scalable-atomicity-for.html' title='New blog on scalable atomicity for reconfigurable computing'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8627248404711988553</id><published>2008-06-16T16:10:00.007-04:00</published><updated>2008-06-16T17:26:32.682-04:00</updated><title type='text'>Are C to RTL solutions proprietary?</title><content type='html'>The C/C++/SystemC to RTL solutions continually emphasize to the press and analysts (as well to prospective customers) that they are based on standards.  When I saw John Cooley seeming to repeat this position in his &lt;a href="http://www.deepchip.com/gadfly/gad060608.html"&gt;Cheesy DAC&lt;/a&gt; list, I wanted to respond.  I sent &lt;a href="http://www.deepchip.com/wiretap/080606.html"&gt;an email to John outlining the 5 questions that I'd ask any one of these vendors&lt;/a&gt; before buying into this "we're a standard" position.&lt;br /&gt;&lt;br /&gt;In addition to these five questions, I've since thought of a sixth:&lt;br /&gt;&lt;br /&gt;6.  How much training and/or applications support is required to learn how to properly structure and write code for efficient synthesis results?&lt;br /&gt;&lt;br /&gt;I'm not claiming that we are more "standard" than these solutions are -- but I am claiming that, with only one exception, there is no fundamental difference in how proprietary these solutions are.&lt;br /&gt;&lt;br /&gt;There are a lot of potential terrific benefits to going with a standard, e.g.:&lt;br /&gt;*  Training&lt;br /&gt;*  Portability and reusability of designs&lt;br /&gt;&lt;br /&gt;I don't think these apply to the C/C++/SystemC synthesis solutions.  I think there's only one  real "standards"-related benefit to the C/C++/SystemC to RTL technologies: you can functionally simulate the designs with standard compilers and, in the case of SystemC, free simulators.  But this has nothing to do with the tools nor with the "hardware" aspects of a design: cycle-accurate simulation and synthesis.  None of these solutions have a level of standardization that will significantly reduce tool-specific training or deliver design portability across vendors -- which I believe are the main reason you go with standards.  Without this, then these solutions are proprietary.&lt;br /&gt;&lt;br /&gt;And, once you get past this smoke screen, the interesting questions are around the benefits, applicability and quality of results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8627248404711988553?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8627248404711988553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/are-c-to-rtl-solutions-proprietary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8627248404711988553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8627248404711988553'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/are-c-to-rtl-solutions-proprietary.html' title='Are C to RTL solutions proprietary?'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7369849123016825969</id><published>2008-06-12T13:05:00.002-04:00</published><updated>2008-06-12T13:34:35.422-04:00</updated><title type='text'>Will "behavioral synthesis" ever be successful?</title><content type='html'>A colleague just showed me an &lt;a href="http://www.scdsource.com/experts.php?id=201"&gt;interview by SCDSource with Louise Trevillyan, research staff member in the design automation department at IBM's T.J. Watson research center&lt;/a&gt;.  Louise was this year's winner of the Marie R. Pistilli Women in EDA Achievement Award.&lt;br /&gt;&lt;br /&gt;Here's &lt;a href="http://www.scdsource.com/experts.php?id=201&amp;amp;page=1"&gt;the money quote&lt;/a&gt; in response to the question as to whether behavioral synthesis will ever be successful in the future:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;br /&gt;I would never say never, but I don't foresee it happening. There's always been a prediction that we'll have so much real estate we can use, and technology will move so fast, and time to market will get so important, that you might be able to accept suboptimal solutions in the name of getting a design out the door. If that ever happens, behavioral synthesis will become more acceptable. But remember, that day was predicted 20 years ago and it hasn't come yet.&lt;/blockquote&gt;Automatic parallelization is all but impossible for general purpose applications -- and only effective for those sub-blocks that can be described with tightly nested for-loops.  The software space has abandoned automatic parallelization for parallel software design -- in favor of explicit parallel designs.  That's not to say that they don't still have a huge challenge, but at least there's an acknowledgment that it isn't a panacea.&lt;br /&gt;&lt;br /&gt;The EDA industry hasn't yet come to the same conclusion.  I think it's just a matter of time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7369849123016825969?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7369849123016825969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/will-behavioral-synthesis-ever-be.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7369849123016825969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7369849123016825969'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/will-behavioral-synthesis-ever-be.html' title='Will &quot;behavioral synthesis&quot; ever be successful?'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3331847628037648051</id><published>2008-06-06T14:01:00.009-04:00</published><updated>2008-12-12T02:14:24.247-05:00</updated><title type='text'>Our 2008 DAC Giveaway - I want one!</title><content type='html'>We're giving two things away at our booth this year.  For free, we're giving away an electronic Sudoku game -- some of you may have gotten this from us before.  But the one I'm excited about is free, but we have to draw names.  We've got something like eight of them -- and, I'd love to get one but don't think it would be quite right if I drew my own name.&lt;br /&gt;&lt;br /&gt;Every year, we try to pick something that's unique, useful for more than a few minutes, and, hopefully, desirable.  In the past we've given away R/C cars, light-up super balls, fans with LEDs on them that display a Bluespec saying, and electronic Sudoku.  I've wanted to do this for a couple of years: give away what may be the lightest indoor R/C airplane on the market -- it weighs just 3.6 grams.  And, because it is somewhat fragile, it comes in its own carrying case (which is pretty cool) -- it looks like a padded camera or rifle case.  Here are some pictures which link to the website for videos and more information.   Some day I'll get one of these puppies for myself -- next week over a handful of you will get one. Stop by the booth and drop your business card in our box (or fill out an entry).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.microflight.com/Online-Catalog/Ready-to-Fly-Airplanes/Carbon-Butterfly-Livingroom-Flyer"&gt;&lt;img style="cursor: pointer; width: 240px; height: 160px;" src="http://www.microflight.com/core/media/media.nl?id=359&amp;amp;c=638206&amp;amp;h=2d3302a2fa5258497e55" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.microflight.com/Online-Catalog/Ready-to-Fly-Airplanes/Carbon-Butterfly-Livingroom-Flyer"&gt;&lt;img style="cursor: pointer; width: 210px; height: 141px;" src="http://www.microflight.com/core/media/media.nl?id=361&amp;amp;c=638206&amp;amp;h=744a07035518a69ed3cb" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.microflight.com/Online-Catalog/Ready-to-Fly-Airplanes/Carbon-Butterfly-Livingroom-Flyer"&gt;&lt;img style="cursor: pointer; width: 215px; height: 143px;" src="http://www.microflight.com/core/media/media.nl?id=360&amp;amp;c=638206&amp;amp;h=ee6056f112ad25658e86" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.microflight.com/Online-Catalog/Ready-to-Fly-Airplanes/Carbon-Butterfly-Livingroom-Flyer"&gt;&lt;img style="cursor: pointer; width: 227px; height: 152px;" src="http://1.bp.blogspot.com/_ttfD8SnSpdk/SEl9XkzbqiI/AAAAAAAAAUQ/Ef7akahPlmA/s320/CarbonButterfly.jpg" alt="" id="BLOGGER_PHOTO_ID_5208832288000551458" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3331847628037648051?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3331847628037648051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/our-2008-dac-giveaway-i-want-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3331847628037648051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3331847628037648051'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/our-2008-dac-giveaway-i-want-one.html' title='Our 2008 DAC Giveaway - I want one!'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ttfD8SnSpdk/SEl9XkzbqiI/AAAAAAAAAUQ/Ef7akahPlmA/s72-c/CarbonButterfly.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4790154684388387224</id><published>2008-06-06T13:47:00.003-04:00</published><updated>2008-06-06T14:01:50.990-04:00</updated><title type='text'>DAC: Bloggers Meeting Wed Night at DAC</title><content type='html'>I'll be at DAC next week -- and I am planning to attend the Birds-of-a-Feather session on blogging in our industry next Wed night at 6P in room 201B at the Anaheim Convention Center.  I've gotten to know John from John's Semi Blog a bit through blogging -- which has been fun.  Turns out we share alma mater's and degrees, though not identical years.  I'm looking forward to meeting some of the others that I've run into -- most of whom are far more diligent than I am.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4790154684388387224?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4790154684388387224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/dac-bloggers-meeting-wed-night-at-dac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4790154684388387224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4790154684388387224'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/06/dac-bloggers-meeting-wed-night-at-dac.html' title='DAC: Bloggers Meeting Wed Night at DAC'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1281589279607578169</id><published>2008-04-23T09:25:00.003-04:00</published><updated>2008-04-23T10:42:19.220-04:00</updated><title type='text'>EDP Conference in Monterey</title><content type='html'>I didn't attend &lt;a href="http://www.eda.org/edps/"&gt;Electronic Design Process 2008&lt;/a&gt; (EDP) in Monterey recently.  The keynote was entitled &lt;a href="http://www.eda.org/edps/slides/par-prog-doing-it-right-epc-hardcopy.pdf"&gt;Parallel Computing: Can We PLEASE Do It Right This Time?&lt;/a&gt; by&lt;strong&gt; &lt;span style="font-weight: normal;font-family:arial;" &gt;Timothy G. Mattson of Intel&lt;/span&gt;&lt;/strong&gt;.  The focus of the talk was about software languages for multi-core hardware platforms.&lt;br /&gt;&lt;br /&gt;I think there is a key point made in his presentation that people in the hardware design and EDA communities will find interesting.  And, this is coming from someone talking about software development -- a community particularly interested in using traditional, sequential C/C++ software.  Timothy's conclusions are not a surprise to anyone looking at how automatic parallelization tools have historically performed -- in a long history starting in the parallel computing market (Cray/Thinking Machines/KSR/...).  He concludes:&lt;br /&gt;&lt;br /&gt;*  Automatic parallelization will not solve the software community's problems (that is, be a solution for developing parallel software for multi-cores)&lt;br /&gt;&lt;br /&gt;*  And, so: &lt;span style="font-weight: bold; font-style: italic;"&gt;"Our only hope is to get programmers to write parallel &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;software 'by hand'."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I completely agree with this viewpoint -- and I think it equally applies to hardware design (actually, MUCH more so).   We've seen a lot of "high-level" hardware design tools focused around automatically parallelizing C/C++/SystemC.  And, there's no doubt that a certain class of smaller IP blocks (loop-and-array style code) can be effectively and efficiently synthesized automatically from these languages.  But, these tools require a lot of tailoring to make efficient hardware -- and can't effectively address the bigger problems:&lt;br /&gt;&lt;br /&gt;*  Software development -- these tools do nothing for software -- isn't that the biggest chip design challenge?  Don't we need models and implementations earlier and that run faster for software?  It seems to me that behavioral synthesis tools are like trees in the forest for addressing this fundamental problem.  Aside from there being many vendors hyping algorithms, since when did they become the long pole in the tent?&lt;br /&gt;*  Algorithmic subsystem performance -- Just staying specific to the "algorithm" subsystem, these tools can't easily comprehend, express or tailor memory and switch subsystem performance, which can often be the dominating architectural consideration for power, performance, area, ...  And, impedance matching these blocks to memory and switch subsystems or impedance matching multiple of these smaller blocks can be a bear.&lt;br /&gt;*  Loop-and-array algorithms are a small part of designs.  Looking at a system, these tools do nothing for the rest of the system: DMA controllers, memory controllers, processors, controllers, communications IP, etc.&lt;br /&gt;&lt;br /&gt;Hardware designers need to develop the parallel aspects of their design by hand.  That doesn't mean it needs to be at the RTL level.  Simplifying concurrency is the only way to improve this process -- automatic parallelization just isn't a general solution (so C/C++/SystemC is not a path).  This is where atomic transactions come in.  (I know a lot less about how atomic transactions will and can work in the software space.  That said, I have some thoughts about what Timothy says about the value of transactional memory in this keynote.  I am in CA and my day is starting so I have to run).&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1281589279607578169?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1281589279607578169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/edp-conference-in-monterey.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1281589279607578169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1281589279607578169'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/edp-conference-in-monterey.html' title='EDP Conference in Monterey'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1326064072218032676</id><published>2008-04-14T15:36:00.006-04:00</published><updated>2008-04-14T15:49:25.916-04:00</updated><title type='text'>Macbeth and RTL</title><content type='html'>I was speaking with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Nikhil&lt;/span&gt;, our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;CTO&lt;/span&gt;, about the issue people often run into with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;RTL&lt;/span&gt; where one gets committed inexorably to a particular direction.  When it becomes clear that there might have been a better approach, you don't have the flexibility to switch directions.  You are too mired in your current approach -- and no longer have time to approach it freshly.  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Nikhil&lt;/span&gt; immediately thought of the following quote from Shakespeare's Macbeth, in Act III, Scene IV, which provides a terrific description of this situation:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"I am in blood&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Stepp'd&lt;/span&gt; in so far, that, should I wade no more,&lt;br /&gt;Returning were as tedious as go o'er."&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;Macbeth is in too deep -- he's already committed murder.  To go back is just as tedious as just to trudge forward.&lt;br /&gt;&lt;br /&gt;When you get to this point with RTL, the only choice is typically just to continue.  You get one shot -- it better be aimed in the right direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1326064072218032676?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1326064072218032676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/macbeth-and-rtl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1326064072218032676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1326064072218032676'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/macbeth-and-rtl.html' title='Macbeth and RTL'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7650806230486324946</id><published>2008-04-12T20:18:00.014-04:00</published><updated>2008-04-16T11:17:58.412-04:00</updated><title type='text'>Algorithmic Myopia</title><content type='html'>I was reading the &lt;a href="http://www.ece.cmu.edu/%7Ejhoe/distribution/mc07contest/MEMOCode2007DesignContest_Final.ppt"&gt;summary presentation&lt;/a&gt; from last year's &lt;a href="http://www.ece.cmu.edu/%7Ejhoe/distribution/mc07contest/"&gt;(2007's) MemoCODE codesign contest&lt;/a&gt; winners and thought it highlighted an important point about algorithmic design.  (Last year, the winning team beat second place by 5X.  This year, &lt;a href="http://chipsandbs.blogspot.com/2008/04/unfair-advantage.html"&gt;&lt;span style="text-decoration: underline;"&gt;which was recently announced, &lt;/span&gt;&lt;/a&gt;the winning team beat second place by 11X).&lt;br /&gt;&lt;br /&gt;The problem last year was a Blocked Matrix-Matrix Multiplication.  It was designed to have both a software and a hardware portion.  The core of the hardware piece is a classic "algorithmic" design.  Tightly nested for-loops -- the type of solution that one *might* target with traditional behavioral synthesis (algorithmic synthesis) technology:&lt;br /&gt;&lt;br /&gt;void mmmBlocked(Number* A, Number* B,&lt;br /&gt;Number *C, int N, int NB) f&lt;br /&gt;int j, i, k;&lt;br /&gt;for (j = 0; j &lt; N; j += NB)&lt;br /&gt;for (i = 0; i &lt; N; i += NB)&lt;br /&gt;  for (k = 0; k &lt; N; k += NB)&lt;br /&gt;      mmmKernel(&amp;amp;(A[i*N+k]),&lt;br /&gt;                              &amp;amp;(B[k*N+j]),&lt;br /&gt;                              &amp;amp;(C[i*N+j]), N, NB);&lt;br /&gt;&lt;br /&gt;As is not atypical for these types of problems, however, the real magic lies in the system considerations -- not the core loop-and-array architecture.  If you just focused on the portion that algorithm synthesis solutions can address, you would have missed the key architectural consideration -- which was memory bandwidth.&lt;br /&gt;&lt;br /&gt;The challenge was not only to recognize that this was the core architectural consideration, but focus the innovation and exploration around the memory subsystem -- AND ensure that the algorithmic piece was tightly coupled and scheduled to work with this subsystem.  The first place team delivered 5X the performance of the second place team because they could rapidly explore tradeoffs in this area -- and their environment encompassed not just the "algorithm" but the system as well.  (I put quotes around "algorithm" because this term is often mis-used -- and I'm mis-using it a bit here.  An algorithm is not just the functional description of the problem (as it might be expressed in C), but also the cost-model for how that function is solved.  A C function is not "the algorithm", but one "algorithm" for solving a problem -- it never expresses a particular hardware algorithm for solving the problem.)&lt;br /&gt;&lt;br /&gt;Algorithmic synthesis solutions may be able to automatically produce different pipeline micro-architectures for loop-and-array hardware pieces, but the total algorithm isn't just this piece -- it's the entire system.  This is a problem that has been repeatedly learned in history -- a good example is IBM's computer systems, which didn't always have the fastest processor, but didn't have to.  Their architects focused on the entire system -- including the memory and disk subsystem -- which delivered mainframes that outperformed their competition.&lt;br /&gt;&lt;br /&gt;Algorithmic design that focuses solely on the loop-and-array areas fails to take into account inter-loop-and-array-block interactions -- and interactions with the rest of the system.  You need both the ying and the yang -- and they should be tightly intertwined so that you can easily optimize and match both.  System, memory and inter-block interactions are often more important than pipeline choices in sub-blocks.  They are not separate -- to treat them so is to be short-sighted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7650806230486324946?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7650806230486324946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/algorithmic-myopia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7650806230486324946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7650806230486324946'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/algorithmic-myopia.html' title='Algorithmic Myopia'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-2976049684782195764</id><published>2008-04-09T23:37:00.005-04:00</published><updated>2008-04-09T23:51:10.658-04:00</updated><title type='text'>Unfair advantage</title><content type='html'>The results of the &lt;a href="http://rijndael.ece.vt.edu/memocontest08/everybodywins/"&gt;2008 MemoCODE Codesign contest&lt;/a&gt; were just released (yesterday, I believe).  There were 8 teams with a total of 9 entries -- only one team and entry used Bluespec.  No doubt a very strong team -- but the results are stunning.  This is the difference between thinking and fluidly expressing architecture &lt;span style="font-weight: bold; font-style: italic;"&gt;and&lt;/span&gt; doing RTL.  In the hands of a very strong team, you get an especially powerful, mutually-reinforcing combination.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" border="1" cellpadding="5" cellspacing="0"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th scope="col"&gt;Team ID&lt;/th&gt;  &lt;th scope="col"&gt;Normalized&lt;br /&gt;Speedup&lt;/th&gt;  &lt;th scope="col"&gt;Platform&lt;/th&gt;  &lt;th scope="col"&gt;Design Languages&lt;/th&gt;  &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team kermin      &lt;/td&gt;  &lt;td align="right"&gt; 1102.4   &lt;/td&gt;  &lt;td&gt; XUP      &lt;/td&gt;  &lt;td&gt; Bluespec &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team brian &lt;/td&gt;  &lt;td align="right"&gt; 100.2 &lt;/td&gt;  &lt;td&gt; XUP   &lt;/td&gt;  &lt;td&gt; C     &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team marco  &lt;/td&gt;  &lt;td align="right"&gt; 85.4    &lt;/td&gt;  &lt;td&gt; XUP     &lt;/td&gt;  &lt;td&gt; C + HDL &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team uljana  &lt;/td&gt;  &lt;td align="right"&gt; 49.8    &lt;/td&gt;  &lt;td&gt; XUP     &lt;/td&gt;  &lt;td&gt; C + HDL &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team sunita (1) &lt;/td&gt;  &lt;td align="right"&gt; 41.1    &lt;/td&gt;  &lt;td&gt; XUP     &lt;/td&gt;  &lt;td&gt; C + HDL &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team vijay      &lt;/td&gt;  &lt;td align="right"&gt; 33.0     &lt;/td&gt;  &lt;td&gt; XUP      &lt;/td&gt;  &lt;td&gt; C + HDL  &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team rob      &lt;/td&gt;  &lt;td align="right"&gt; 23.5     &lt;/td&gt;  &lt;td&gt; XUP      &lt;/td&gt;  &lt;td&gt; C + HDL  &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team eric &lt;/td&gt;  &lt;td align="right"&gt; 12.8     &lt;/td&gt;  &lt;td&gt; XC2VP100 Amirix &lt;/td&gt;  &lt;td&gt; C + HDL  &lt;/td&gt;  &lt;/tr&gt;   &lt;tr align="left"&gt;  &lt;td&gt; team sunita (2) &lt;/td&gt;  &lt;td align="right"&gt; 11.0       &lt;/td&gt;  &lt;td&gt; XUP      &lt;/td&gt;  &lt;td&gt; C + Impulse C  &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-2976049684782195764?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/2976049684782195764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/unfair-advantage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2976049684782195764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/2976049684782195764'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/unfair-advantage.html' title='Unfair advantage'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5330538888386951311</id><published>2008-04-01T00:01:00.003-04:00</published><updated>2008-04-01T00:00:54.386-04:00</updated><title type='text'>Bluespec Acknowledges DOE and IAEA Probes into its Atomic Transactions</title><content type='html'>Apparently when you innovate, people take notice.  Unfortunately, this time, it's both the Feds and U.N. showing a bit too much interest in our technology.  We're expecting to clear up their misunderstandings quickly, but until then, Bluespec felt compelled to explain the situation and our perspective in a press release today.  &lt;a href="http://www.bluespec.com/news/Feds-Investigate-Atomic-Transactions.htm"&gt;Please read the complete press release here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5330538888386951311?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.bluespec.com/news/Feds-Investigate-Atomic-Transactions.htm' title='Bluespec Acknowledges DOE and IAEA Probes into its Atomic Transactions'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5330538888386951311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/bluespec-acknowledges-doe-and-iaea.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5330538888386951311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5330538888386951311'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/04/bluespec-acknowledges-doe-and-iaea.html' title='Bluespec Acknowledges DOE and IAEA Probes into its Atomic Transactions'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7089781926299185860</id><published>2008-03-11T22:12:00.003-04:00</published><updated>2008-03-11T22:25:58.858-04:00</updated><title type='text'>Atomic Transactions in Processors</title><content type='html'>Sun's announced their &lt;a href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=206100676"&gt;new processor called the Rock&lt;/a&gt;. It's the first multi-core processor that uses atomic transactions (the first of many I anticipate) -- specifically, it implements support for transactional memory that is used to support the implementation of atomic transactions.&lt;br /&gt;&lt;br /&gt;Atomic transactions are the highest way to specify complex concurrent behavior. Atomic transactions attack the root issue behind what makes hardware and concurrent software so:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Error-prone&lt;/li&gt;&lt;li&gt;Brittle&lt;/li&gt;&lt;li&gt;Complex&lt;/li&gt;&lt;li&gt;Costly to develop and verify&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;That core issue is managing concurrent accesses to shared resources. This is THE issue in programming multi-core processors -- how do you manage shared memory in a coordinated way? Atomic transactions make it tractable.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7089781926299185860?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7089781926299185860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/03/atomic-transactions-in-processors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7089781926299185860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7089781926299185860'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/03/atomic-transactions-in-processors.html' title='Atomic Transactions in Processors'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1345831848486777816</id><published>2008-02-13T12:51:00.002-05:00</published><updated>2008-02-13T12:59:48.281-05:00</updated><title type='text'>MIT Open Source Hardware Designs (OSHD) and Slashdot</title><content type='html'>MIT recently launched &lt;a href="http://csg.csail.mit.edu/oshd/index.html"&gt;their website &lt;/a&gt;providing some pretty sophisticated, free, open source hardware designs.  At this point, they've got three items, though one is a superset of one of the others:&lt;br /&gt;&lt;br /&gt;1.  HD-quality H.264 video decoder - there are a couple interesting things about this design aside from meeting the performance, quality of HD-quality H.264:&lt;br /&gt;    a)  The design is about 10,000 lines of code.  The C/C++ UNSYNTHESIZABLE reference code for this function is 20K+ lines of code -- this shows how succinct and elegant Bluespec is for datapath intensive designs&lt;br /&gt;    b)  This design illustrates how you can use Bluespec to parameterize on structure.  A single design can generate lots of different micro-architectures -- and all the control logic adapts to the new micro-architecture&lt;br /&gt;&lt;br /&gt;2.  OFDM transceiver - this one's very cool because it supports both WiFi and WiMax from a single design (and, MIT's working on support WUSB from the same source as well) -- here, it highlights the power of Bluespec to parameterize on differences in functionality&lt;br /&gt;&lt;br /&gt;This Sunday, someone &lt;a href="http://hardware.slashdot.org/article.pl?sid=08/02/10/194218"&gt;posted a link to this site on Slashdot&lt;/a&gt;.  Fortunately (unfortunately?  :&gt;) ), this was indirect to Bluespec so our website didn't get Slashdotted (brought down with the traffic load).&lt;br /&gt;&lt;br /&gt;Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1345831848486777816?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://csg.csail.mit.edu/oshd/index.html' title='MIT Open Source Hardware Designs (OSHD) and Slashdot'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1345831848486777816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/02/mit-open-source-hardware-designs-oshd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1345831848486777816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1345831848486777816'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/02/mit-open-source-hardware-designs-oshd.html' title='MIT Open Source Hardware Designs (OSHD) and Slashdot'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6214537775194570594</id><published>2008-01-11T16:54:00.000-05:00</published><updated>2008-01-11T16:56:16.050-05:00</updated><title type='text'>IIT Bombay course taught this week by Arvind</title><content type='html'>Prof Arvind is teaching &lt;a href="http://www.iitb.ac.in/~cep/brochures/2008/shojaei-bro-08.pdf"&gt;a short course on Bluespec at IIT Bombay&lt;/a&gt; this week. Hopefully when he gets back, MIT will start rolling out their open source hardware designs...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6214537775194570594?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.iitb.ac.in/~cep/brochures/2008/shojaei-bro-08.pdf' title='IIT Bombay course taught this week by Arvind'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6214537775194570594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2008/01/iit-bombay-course-taught-this-week-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6214537775194570594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6214537775194570594'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2008/01/iit-bombay-course-taught-this-week-by.html' title='IIT Bombay course taught this week by Arvind'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7467966991625704967</id><published>2007-12-18T10:41:00.000-05:00</published><updated>2007-12-18T11:00:45.655-05:00</updated><title type='text'>HW State of the Art....   Bluespec!</title><content type='html'>Mikko Terho is VP and Nokia Fellow at Nokia. According to his bio:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Mikko Terho heads Nokia's Intelligent Connectivity Group which focuses on the development of the innovations and prototypes for pervasive communication devices with novel internet services. He also advices as Nokia fellow other Nokia R&amp;amp;D Groups in the area of system design, software architecture and component selection.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;He recently presented at edaForum 07 in Munich. Unfortunately, I don't have access to his slides, which go in detail about results using Bluespec for hardware/software architecture tradeoffs. The title of this presentation was &lt;a href="http://www.edacentrum.de/edaforum/edaforum07/vortragende/terho.html"&gt;"Are EDA tools for Systems Architecture, ASIC Design or Agile Software Development"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But, I did find a shorter, but recent, slide (mostly sub-) set &lt;a href="http://www.cs.tut.fi/tapahtumat/mobiili07/terho_materiaali.ppt"&gt;here.&lt;/a&gt; He first shows the current virtual HW/SW world in &lt;a href="http://www.cs.tut.fi/tapahtumat/mobiili07/terho_materiaali.ppt#310,15,Slide"&gt;slide fifteen&lt;/a&gt;. In this slide, he shows that RTL/SystemC generation from algorithms and C is "still flaky". Then he goes to the slide I'm quite fond of, &lt;a href="http://www.cs.tut.fi/tapahtumat/mobiili07/terho_materiaali.ppt#312,20,HW"&gt;slide twenty&lt;/a&gt;. This slide is called "HW state of the art". Using Bluespec, the "concept/algorithm" is fully synthesizable into SystemC models for software development and HW for chip implementation.&lt;br /&gt;&lt;br /&gt;The funny thing is we just discovered these presentations. Nice surprise!&lt;br /&gt;&lt;br /&gt;(On a side, but related, note, MIT/Nokia Research will soon be open sourcing some of the beautiful designs they've done with Bluespec. Currently it looks like H.264 and OFDM for WiFi/WiMax/... will be included in the mix... Stay tuned!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7467966991625704967?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cs.tut.fi/tapahtumat/mobiili07/terho_materiaali.ppt' title='HW State of the Art....   Bluespec!'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7467966991625704967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/hw-state-of-art-bluespec.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7467966991625704967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7467966991625704967'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/hw-state-of-art-bluespec.html' title='HW State of the Art....   Bluespec!'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6783647401319426216</id><published>2007-12-17T16:21:00.000-05:00</published><updated>2007-12-17T16:39:21.992-05:00</updated><title type='text'>Faster Chips Are Leaving Programmers in Their Dust</title><content type='html'>The NYTimes has this article today about the industry, and Microsoft in particular, needing to develop new languages for parallel architectures. It notes that one of the issues is that there are tasks that cannot be split across processors. This problem is analogous to the one we see in the hardware domain where many hardware designs cannot be automatically parallelized -- this disconnect has made traditional behavioral synthesis a disappointment for many that have tried it.  Okay for simple, nested for-loops -- it quickly breaks down for more complex designs, especially ones with control logic intertwined.&lt;br /&gt;&lt;br /&gt;In the software domain, they're moving to more explicitly parallel languages -- we advocate the same in the hardware domain. The challenge is picking something that significantly raises the level of abstraction and is still synthesizable with high quality results -- it is just this need that makes SystemC pretty good for modeling, but not great for hardware design.&lt;br /&gt;&lt;br /&gt;Another interesting observation by Microsoft's Craig Mundie is that hardware designs are less likely to be homogenous matrices of identical processing elements than hetergeneous, optimized-per-task hardware processing elements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6783647401319426216?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.nytimes.com/2007/12/17/technology/17chip.html' title='Faster Chips Are Leaving Programmers in Their Dust'/><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6783647401319426216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/faster-chips-are-leaving-programmers-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6783647401319426216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6783647401319426216'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/faster-chips-are-leaving-programmers-in.html' title='Faster Chips Are Leaving Programmers in Their Dust'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8231919212798298616</id><published>2007-12-17T12:59:00.000-05:00</published><updated>2007-12-17T13:10:16.663-05:00</updated><title type='text'>Microsoft's F# promoting functional languages</title><content type='html'>There was an &lt;a href="http://www.eweek.com/article2/0,1759,2212215,00.asp"&gt;article on Microsoft's F# language in eWeek&lt;/a&gt; last month.  Microsoft is apparantly going to target those that care about writing software for concurrency and those in scientific/financial/academic/technical areas.  It's a functional programming language -- and the money quote (from my standpoint) is:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"It's clear that a bunch of the things in programming that will be becoming more&lt;br /&gt;important over time benefit from a more functional style of programming, like&lt;br /&gt;concurrency, distributed programming and so forth," Torgersen said.&lt;/blockquote&gt;&lt;br /&gt;At Bluespec, we not only develop our tool using a functional programming language (Haskell), but we've embodied many functional programming language capabilities for our users to use as well.  We're a strong believer in these capabilities -- and have integrated them with atomic transactions for a completely new approach on the hardware side.  As I posted before, Microsoft research has been doing some really interesting things with functional languages and atomic transactions -- nice to see us sharing the same technologies with our brethren on the software side.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8231919212798298616?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8231919212798298616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/microsofts-f-promoting-functional.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8231919212798298616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8231919212798298616'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/microsofts-f-promoting-functional.html' title='Microsoft&apos;s F# promoting functional languages'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6684647028375044352</id><published>2007-12-14T12:47:00.000-05:00</published><updated>2007-12-14T13:01:55.319-05:00</updated><title type='text'>Alberto Sangiovanni-Vincentelli: The Theoretic Center of Computer Science</title><content type='html'>Nikhil came upon this "academic" paper, which seeks to identify the center of computer science from a conference and researcher standpoint. It's written in the form of a serious paper, but doesn't take itself very seriously. It's written by Michael Kuhn and Roger Wattenhofer of ETH Zurich -- it starts on page number 54 of the following link: &lt;a href="http://people.csail.mit.edu/idish/sigactNews/DC-col28-Dec07.pdf" name="column 28"&gt;Column 28, SIGACT News Volume 38, Number 4, (Whole Number 145), December 2007&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In order to find the central 'actor' in computer science, they used an approach similar to that in the mathematics field with the &lt;a href="http://www.oakland.edu/enp/"&gt;Erdos Number project&lt;/a&gt;, by looking at author/co-authorship/references.&lt;br /&gt;&lt;br /&gt;And, who do they conclude is at the center of computer science? EDA's own &lt;a href="http://www.eecs.berkeley.edu/~alberto/"&gt;Alberto Sangiovanni-Vincentelli&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6684647028375044352?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6684647028375044352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/alberto-sangiovanni-vincentelli.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6684647028375044352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6684647028375044352'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/alberto-sangiovanni-vincentelli.html' title='Alberto Sangiovanni-Vincentelli: The Theoretic Center of Computer Science'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-189368314149930632</id><published>2007-12-12T13:43:00.000-05:00</published><updated>2007-12-12T14:03:25.588-05:00</updated><title type='text'>Age Determines Technology's Value</title><content type='html'>I have been a very delinquent blogger. I recently discovered (a little late to the game) "&lt;a href="http://fakesteve.blogspot.com/"&gt;The Secret Diary of Steve Jobs&lt;/a&gt;" (which I find hilarious BTW) -- and, while I know that blog is more a job than a side effort, its multiple entries per day have thoroughly shamed me to get back on the horse.&lt;br /&gt;&lt;br /&gt;I've saved up a bunch of items that I obviously haven't gotten to... For some reason I ran across the following article entitled &lt;a href="http://www.cioinsight.com/article2/0,1540,2222167,00.asp"&gt;Age Determines Technology's Value&lt;/a&gt;. It talks about how people in the workforce communicate completely differently from the latest generation graduating -- and how we need to be more open minded.&lt;br /&gt;&lt;br /&gt;I saw parallels to our challenges getting engineers, who are fairly set in existing approaches, to take a fresh, serious look at a new, completely different approach to modeling, verification and implementation of hardware. The problem is different -- but the challenges are similar. Change is hard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-189368314149930632?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/189368314149930632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/age-determines-technologys-value.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/189368314149930632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/189368314149930632'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/12/age-determines-technologys-value.html' title='Age Determines Technology&apos;s Value'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7264137786690292252</id><published>2007-09-12T10:41:00.000-04:00</published><updated>2007-09-12T10:51:30.365-04:00</updated><title type='text'>The full series of articles on sequential to parallel programming</title><content type='html'>A series of articles is now up by Prof Arvind and Rishiyur Nikhil, our CTO, based on their book on "Implicit Parallel Programming in pH". I had referenced the first of this article series in my last post -- this first article is a great explanation of why it's hard to take a sequential description (a la C/C++) and make it (efficiently) parallel for most hardware and software designs. Here are the links to all the parts on embedded.com:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.embedded.com/showArticle.jhtml?articleID=201500267"&gt;Part 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.embedded.com/showArticle.jhtml?articleID=201801070"&gt;Part 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.embedded.com/showArticle.jhtml?articleID=201802337"&gt;Part 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.embedded.com/showArticle.jhtml?articleID=201803783"&gt;Part 4&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.embedded.com/showArticle.jhtml?articleID=201804960"&gt;Part 5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7264137786690292252?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7264137786690292252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/09/full-series-of-articles-on-sequential.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7264137786690292252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7264137786690292252'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/09/full-series-of-articles-on-sequential.html' title='The full series of articles on sequential to parallel programming'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6808024221331586498</id><published>2007-08-18T08:13:00.000-04:00</published><updated>2007-08-18T08:26:47.055-04:00</updated><title type='text'>Article outlining issues with parallelizing sequential programs</title><content type='html'>&lt;a href="http://www.embedded.com/design/multicore/201500267"&gt;This article on embedded.com&lt;/a&gt; is a great introduction as to why sequential programs are not typically a good beginning if the intent is to parallelize it either as a software program (let's say on multiple cores) or into hardware.  This article was written a few years ago as part of a book on parallel programming by &lt;a href="http://www.bluespec.com/"&gt;Bluespec&lt;/a&gt;'s CTO Rishiyur S. Nikhil and one of our founders Arvind of MIT.&lt;br /&gt;&lt;br /&gt;A lot of people wish that C/C++, given its wide use, could be a specification language for parallel programs or even hardware.  A nice thought  -- unfortunately, the challenge of automatically identifying concurrency in a sequential software function is intractable for all but a small class of applications (and even with these, algorithms must often be written a particular way for the tools to sift out the concurrency).&lt;br /&gt;&lt;br /&gt;This article is a great primer to understand why this is the case.  I understand that embedded.com will be publishing more excerpts of this book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6808024221331586498?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6808024221331586498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/08/article-outlining-issues-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6808024221331586498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6808024221331586498'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/08/article-outlining-issues-with.html' title='Article outlining issues with parallelizing sequential programs'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-5679828197651737096</id><published>2007-08-16T20:28:00.000-04:00</published><updated>2007-08-16T20:42:34.659-04:00</updated><title type='text'>Simon Peyton-Jones's talks at OSCON 2007</title><content type='html'>Simon Peyton-Jones gave a few talks that I'm dying to watch when I get a little time. A few of my co-workers (who know him) have suggested he is among the best lecturers they have seen. He gave three talks. There were two that were recorded and available for internet viewing. One provides an overview of Haskell and the other provides an overview of transactional memory for concurrent (parallel) programming. From the Real World Haskell website comes &lt;a href="http://www.realworldhaskell.org/blog/2007/08/07/wow-oscon-video-viewing-statistics/"&gt;the following summary &lt;/a&gt;of the viewership of his lectures now available on the web:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Simon’s Haskell language talks are the most popular of the OSCON videos, and have been viewed over 50% more times than the next ten most popular videos combined.&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;It looks like my co-workers are probably right. Here's a &lt;a href="http://www.realworldhaskell.org/blog/2007/08/03/a-brief-haskell-at-oscon-trip-report/"&gt;page with a link to his talks on Haskell and transactional memory for concurrent programming&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-5679828197651737096?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/5679828197651737096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/08/simon-peyton-joness-talks-at-oscon-2007.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5679828197651737096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/5679828197651737096'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/08/simon-peyton-joness-talks-at-oscon-2007.html' title='Simon Peyton-Jones&apos;s talks at OSCON 2007'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8845041696119272075</id><published>2007-07-25T19:29:00.000-04:00</published><updated>2007-07-26T11:00:08.623-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software transactional memory'/><category scheme='http://www.blogger.com/atom/ns#' term='parallel programming'/><category scheme='http://www.blogger.com/atom/ns#' term='STM'/><title type='text'>Software Transactional Memory - a couple references</title><content type='html'>&lt;a href="http://chipsandbs.blogspot.com/2007/07/microsoft-future-of-parallel.html"&gt;My last post&lt;/a&gt; talked about the emphasis on atomic transactions and functional programming for next generation programming languages for multi-core, parallel architectures. Here is an interesting paper talking about software transactional memory (STM) from Simon Peyton-Jones of Microsoft's &lt;a href="http://research.microsoft.com/Users/simonpj/"&gt;webpage&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.microsoft.com/Users/simonpj/papers/stm/stm.pdf"&gt;Composable Memory Transactions&lt;/a&gt; (about Software Transactional Memory (STM))&lt;br /&gt;&lt;br /&gt;There are some additional papers on transactional memory programming on Simon's webpage &lt;a href="http://research.microsoft.com/~simonpj/papers/stm/index.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Wikipedia has a summary, plus some links &lt;a href="http://en.wikipedia.org/wiki/Software_transactional_memory"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8845041696119272075?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8845041696119272075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/07/software-transactional-memory-couple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8845041696119272075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8845041696119272075'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/07/software-transactional-memory-couple.html' title='Software Transactional Memory - a couple references'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-4891385366063359484</id><published>2007-07-23T19:59:00.000-04:00</published><updated>2007-07-26T11:01:51.702-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software transactional memory'/><category scheme='http://www.blogger.com/atom/ns#' term='parallel programming'/><category scheme='http://www.blogger.com/atom/ns#' term='threads'/><category scheme='http://www.blogger.com/atom/ns#' term='STM'/><category scheme='http://www.blogger.com/atom/ns#' term='atomic transactions'/><title type='text'>Microsoft: the Future of Parallel Programming Languages</title><content type='html'>There's a great article on the Embedded Systems &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Design's&lt;/span&gt; website, &lt;a href="http://www.embedded.com/"&gt;Embedded.com&lt;/a&gt;, entitled &lt;a href="http://www.embedded.com/showArticle.jhtml;jsessionid=AJHXL2QO0Q4MAQSNDLOSKHSCJUNN2JVN?articleID=201200461"&gt;"&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;M'soft&lt;/span&gt;: Parallel Programming Model 10 Years Off"&lt;/a&gt;. It provides insights into where software languages are going in the future to manage complex concurrency for parallel architectures.&lt;br /&gt;&lt;br /&gt;It's personally relevant to me as the two fundamental approaches mentioned in the article are the two foundations for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Bluespec&lt;/span&gt; (which is for hardware modelers/designers and those building models for embedded software designers and verification).&lt;br /&gt;&lt;br /&gt;Citing the views of Microsoft experts in this field, the article is about the need in software development for parallel languages to support future parallel architectures and multi-core designs.&lt;br /&gt;&lt;br /&gt;According to the article, there are two main thrusts on defining the future programming language for such software development:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Current thinking about parallel languages falls broadly into two schools. One camp emphasizes functional programming, a style that focuses on mathematical functions and avoids use of system state and variables.&lt;br /&gt;&lt;br /&gt;Another approach is emerging around so-called atomic memory transactions, which group many reads and writes into blocks that are executed at one time in shared memory without using traditional locking techniques that can stall other processes.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;A high-level hardware modeling and design environment, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Bluespec&lt;/span&gt; is built fundamentally on the same two things:&lt;br /&gt;&lt;br /&gt;* Atomic transactions (for managing complex concurrency)&lt;br /&gt;* Functional programming (for automatically generating and managing structures -- and for extreme reuse)&lt;br /&gt;&lt;br /&gt;In fact, in terms of commercially available EDA tools, Bluespec is the only solution that has either of these capabilities in them, let alone both. And, you don't have to wait 10 years for them either!&lt;br /&gt;&lt;br /&gt;Cool stuff. It's nice to see further validation of our approach. I like it even better because some of the press/analysts in this space reflexively assume that C/C++ is high level and everything else isn't. What they miss is that while sequential languages are fine for certain math/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DSP&lt;/span&gt; algorithms -- it's a bad fit and acceptable synthesis is intractable for most other designs. What the Microsoft people are talking about in this article is extremely high-level: functional programming and atomic transactions.&lt;br /&gt;&lt;br /&gt;Perhaps seeing software people moving up this way will rub off on journalists/analysts/pundits in the hardware space -- maybe they'll get it better than they have.&lt;br /&gt;&lt;br /&gt;There is not much discussion in this article about threads and events as the fundamental basis for next generation parallel programming languages -- why? Threads and events require too much low level coordination to express concurrency. I've had a few previous postings on this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://chipsandbs.blogspot.com/2006/03/problem-with-threads.html"&gt;The Problem with Threads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://chipsandbs.blogspot.com/2006/05/ousterhout-why-threads-are-bad-idea.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Ousterhout&lt;/span&gt;: Why threads are a bad idea&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://chipsandbs.blogspot.com/2006/03/auto-parallelization-of-c-code-is-not.html"&gt;Auto-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Parallelization&lt;/span&gt; of C++ is Not a Serious Notion&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://chipsandbs.blogspot.com/2006/02/next-generation-programming-languages.html"&gt;Next Generation Programming Languages - a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Gamer's&lt;/span&gt; Perspective&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2377&amp;amp;p=3"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-4891385366063359484?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/4891385366063359484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/07/microsoft-future-of-parallel.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4891385366063359484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/4891385366063359484'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/07/microsoft-future-of-parallel.html' title='Microsoft: the Future of Parallel Programming Languages'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6696052083612347955</id><published>2007-06-04T08:27:00.000-04:00</published><updated>2007-06-04T08:52:41.955-04:00</updated><title type='text'>BluDACu - A Bluespec solver and generator for Sudoku</title><content type='html'>While our other DAC demos include AXI, AES, transactors, synthesizable testbenches and H.264, and all are running on hardware (both EVE emulation and FPGA), we've got one design that is mostly just for fun. It's a hardware implementation of Sudoku, which we call BluDACu.&lt;br /&gt;&lt;br /&gt;The hardware implementation includes both a generator and a solver. The solver isn't a trivial implementation -- the brute force solution would be to guess and backtrack, like a recursive solve. Of course, this type of solution would use a lot more state storage and a lot more power. Instead, the solver is designed to apply tactics like a human -- and, doesn't allow backtracking.&lt;br /&gt;&lt;br /&gt;This solution also runs, in both high-speed simulation or on the EVE ZeBu platform (at both our booth and EVE's), together with a software GUI to exercise it and play with it.&lt;br /&gt;&lt;br /&gt;It's a very cool implementation -- and a very impressive feat. From our &lt;a href="http://www.bluespec.com/products/BluDACu.htm"&gt;writeup on this design&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;So, you might be asking, “Why would anyone create a hardware implementation of Sudoku?” Or even, “What does this have to do with me and what I do?” The simple answer is that we wanted a fun, thoughtprovoking demo for DAC – and, it fit well with an electronic Sudoku giveaway. The more serious answer starts with “we could, and easily, with Bluespec SystemVerilog”, but we’ll get into that a bit later. Most importantly, while this Sudoku implementation is a novelty of sorts, though a very complex one, it nicely illustrates how Bluespec’s ESL Synthesis technology effectively tackles key, contemporary System-on-Chip (SoC) development issues:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;How to test software early with accurate hardware representations&lt;br /&gt;&lt;/li&gt;&lt;li&gt;How to create intellectual property (IP) blocks that enable extreme reuse because they are highly parameterized and flexible to change&lt;br /&gt;&lt;/li&gt;&lt;li&gt;How to quickly implement designs that contain both extremely complex algorithms and complex concurrency, especially those with convoluted control logic and numerous shared resource hazards (it is often assumed that dealing with high complexity is only feasible in software)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;If you want to read the source code or the overview of the design, it's all available &lt;a href="http://www.bluespec.com/products/BluDACu.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Nikhil, our CTO, wrote a little song about this design (&lt;a href="http://chipsandbs.blogspot.com/2005/12/company-history-bluespec-saga-blues.html"&gt;he's written others in the past&lt;/a&gt;). Here it is:&lt;br /&gt;&lt;br /&gt;"BluDACu"&lt;br /&gt;(sung to the tune of "Suzie Q", Creedence Clearwater Revival)&lt;br /&gt;&lt;br /&gt;Oh BluDACu&lt;br /&gt;Oh BluDACu&lt;br /&gt;Oh BluDACu Baby I love you&lt;br /&gt;BluDACu&lt;br /&gt;&lt;br /&gt;I like the way you row&lt;br /&gt;I like the way you col&lt;br /&gt;I like the way you box, I like the way you col&lt;br /&gt;BluDACu&lt;br /&gt;&lt;br /&gt;(Guitar solo)&lt;br /&gt;&lt;br /&gt;Oh say you´ll parametrize&lt;br /&gt;Oh say you´ll parametrize&lt;br /&gt;Oh say you´ll parametrize to n power two&lt;br /&gt;BluDACu&lt;br /&gt;&lt;br /&gt;Oh say you´ll tactic too&lt;br /&gt;Oh say you´ll tactic too&lt;br /&gt;Oh say you´ll tactic too, more than Tic Tac Toe&lt;br /&gt;BluDACu&lt;br /&gt;&lt;br /&gt;(Guitar solo)&lt;br /&gt;Oh, BluDACu&lt;br /&gt;Oh, BluDACu&lt;br /&gt;Oh, BluDACu, Baby, I love you&lt;br /&gt;BluDACu&lt;br /&gt;&lt;br /&gt;I like the way you row&lt;br /&gt;I like the way you col&lt;br /&gt;I like the way you box, I like the way you col&lt;br /&gt;BluDACu&lt;br /&gt;&lt;br /&gt;Oh, BluDACu&lt;br /&gt;Oh, BluDACu&lt;br /&gt;Oh, BluDACu, Baby, I love you&lt;br /&gt;BluDACu&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6696052083612347955?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6696052083612347955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/06/bludacu-bluespec-solver-and-generator.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6696052083612347955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6696052083612347955'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/06/bludacu-bluespec-solver-and-generator.html' title='BluDACu - A Bluespec solver and generator for Sudoku'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-8850679802568945058</id><published>2007-05-20T20:40:00.000-04:00</published><updated>2007-05-20T20:56:35.715-04:00</updated><title type='text'>DAC's new program: Wild and Crazy Ideas</title><content type='html'>&lt;a href="http://www.dac.com"&gt;DAC&lt;/a&gt; has a &lt;a href="http://www2.dac.com/data2/44th/44AcceptedPapers.nsf/websessions/15"&gt;new session this year called WACI &lt;/a&gt;(pronounced WACKY). I think it's a really interesting session and I'm hoping to get in to see a bit of it amidst my other duties. As I have some inside insight on the genesis of this new session, I asked Steve Levitan, who is the DAC General Chair this year to provide the background:&lt;br /&gt;&lt;blockquote&gt;Credit creative thinking by Bluespec’s Chief Technology Officer Rishiyur Nikhil for Design Automation Conference’s new Wild and Crazy Ideas (WACI) session.&lt;br /&gt;&lt;br /&gt;Nikhil proposed this idea to serve as a forum for promising and thought-provoking ideas that are not quite fully formed and I’m delighted to report that it’s come together quite nicely this year.&lt;br /&gt;&lt;br /&gt;Surprisingly enough, for a first-time offering, we received 56 papers for WACI and were able to select eight papers. Topics include: “Chip Multi-Processor Generator”; “The Case for the Precision Timed (PRET) Machine”; Quantum-Like Effects in Network-on-Chip Buffers Behavior”; “CAD-based Security, Cryptography, and Digital Rights Management”; “You Can Get There From Here: Connectivity of Random Graphs on Grids”; Line End Shortening is not Always a Failure”; “High Performance and Low Power Electronics on Flexible Substrate”; and “Novel CNTFET-based Reconfigurable Logic Gate Design.”&lt;br /&gt;&lt;br /&gt;Innovation is the name of the game at companies that exhibit at DAC. It’s for that reason that DAC is offering a day-long seminar featuring Geoffrey Moore, author of “Crossing the Chasm” and an expert on innovation management. He will join Raul Camposano, chief executive officer (CEO) of Xoomsys Inc., and Jim Smith of Mohr Davidow Ventures, to discuss three phases of innovation at this event meant for global management teams. Topics cover various aspects of innovation, from innovation fundamentals and innovation in the Semiconductor and Electronic Design Automation Markets to investing for innovation. Registration includes entry to Tuesday’s keynotes and the exhibit floor, a copy of Geoffrey Moore’s last book, “Dealing with Darwin,” coffee breaks and the Productivity Impact Luncheon produced by EDA Consortium and Fabless Semiconductor Association (FSA).&lt;br /&gt;&lt;br /&gt;Bluespec joins a dynamic Exhibition and Suite floor with close to 250 of the leading and emerging EDA, silicon and IP providers. Don’t miss the opportunity to meet the Bluespec team in Booth #6963.&lt;br /&gt;&lt;br /&gt;Please join us in San Diego June 4-8. The WACI Session will be held Tuesday from 4:30-6:30 p.m. The Management Seminar runs Tuesday from 10:30 a.m.-6:45 p.m. Exhibits will be open Tuesday through Thursday.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-8850679802568945058?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/8850679802568945058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/05/dacs-new-program-wild-and-crazy-ideas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8850679802568945058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/8850679802568945058'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/05/dacs-new-program-wild-and-crazy-ideas.html' title='DAC&apos;s new program: Wild and Crazy Ideas'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-994543703565033399</id><published>2007-05-20T20:14:00.000-04:00</published><updated>2007-05-20T20:58:25.989-04:00</updated><title type='text'>European versus American openness to change</title><content type='html'>I recently started a new book, and it had some interesting observations on the differences between British and American workers. Based on reports, one British industrialist said the following: American "workmen hail with satisfaction all mechanical improvements, the importance and value of which, as releasing them from the drudgery of unskilled labour, they are enabled by education to understand and appreciate."&lt;br /&gt;&lt;br /&gt;And this additional observation by another, "Educated up to a far higher standard than those of a much superior social grade in the Old World...every [American] workman seems to be continually devising some new thing to assist him in his work, and there is a strong desire...to be 'posted up' in every new improvement."&lt;br /&gt;&lt;br /&gt;These observations may sound a bit dated, and they are. They come from pre Civil War (1861-1865) comments made about America by British observers. At that time, British manufacturing was being held back due to institutional and cultural forces -- many of their systems and approaches were ingrained and institutionalized, and this limited change.&lt;br /&gt;&lt;br /&gt;I wonder what regions of the world today are open and closed to change. On balance, we're finding the most aggressive change innovators in India, where managers and engineers understand that they have to move up the value change -- and continue to innovate -- in order to stay ahead and, have much less momentum in existing processes and institutions.&lt;br /&gt;&lt;br /&gt;(The above quotes are from "Battle Cry of Freedom: The Civil War Era" by James M. McPherson)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-994543703565033399?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/994543703565033399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/05/european-versus-american-openness-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/994543703565033399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/994543703565033399'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/05/european-versus-american-openness-to.html' title='European versus American openness to change'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-6683963170031231794</id><published>2007-04-01T14:29:00.000-04:00</published><updated>2007-06-11T15:04:32.656-04:00</updated><title type='text'>Bluespec Rewrites the Rules for Formal Equivalency Checkers</title><content type='html'>Calypto, Jasper, Cadence and Synopsys should be quaking in their boots... &lt;a href="http://www.bluespec.com/news/AprilFools2007.htm"&gt;Please read the release here&lt;/a&gt;. :&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-6683963170031231794?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/6683963170031231794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/04/bluespec-rewrites-rules-for-formal.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6683963170031231794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/6683963170031231794'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/04/bluespec-rewrites-rules-for-formal.html' title='Bluespec Rewrites the Rules for Formal Equivalency Checkers'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-3373756079014906077</id><published>2007-02-26T22:25:00.000-05:00</published><updated>2007-02-27T17:37:00.488-05:00</updated><title type='text'>"Coding up RTL is not the long pole in the tent"</title><content type='html'>I just read this comment made by Chiltin of Synopsys at Cooley's DVCon Troublemakers panel last Thursday in &lt;a href="http://www.eetimes.com/news/design/showArticle.jhtml?articleID=197008441&amp;amp;pgno=2"&gt;EETimes today&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the sense it seems to be intended, that "design" really isn't that big a deal, I couldn't disagree with the comment more. If RTL coding isn't a significant issue, then why:&lt;br /&gt;&lt;br /&gt;* Is it so hard to make changes to RTL once implemented? (When was the last time a spec, feature list, or micro-architecture was frozen solid before RTL coding started?)&lt;br /&gt;* Is it so hard to deliver a quality piece of IP -- AFTER verification has been completed? Is the suggestion that the bugs that were missed were inserted by the verification process?&lt;br /&gt;* Is it so hard to interface to IP blocks? It can't be that control logic is hard to get right -- or, figuring out all the proper conditions under which you interface to a block is easy, is it?&lt;br /&gt;&lt;br /&gt;Of course you have to verify every piece to hardware as well as you can. But, if you could code much faster and with many fewer errors, you could improve the ability to:&lt;br /&gt;&lt;br /&gt;* Explore micro-architectures faster&lt;br /&gt;* Incorporate changes rapidly and without error&lt;br /&gt;* Interface correctly&lt;br /&gt;* Experience fewer bugs&lt;br /&gt;&lt;br /&gt;I've designed chips and overseen chip developments -- almost everything leading up to the RTL coding phase is detailed planning to try to get that phase right, and everything after it is cleaning up the mess. Sure, the "coding" part (at least the initial "coding" part) is relatively quick, but it defines EVERYTHING else.&lt;br /&gt;&lt;br /&gt;I've compared &lt;a href="http://chipsandbs.blogspot.com/2006/03/lessons-from-auto-industry.html"&gt;current chip design thinking to automotive manufacturing in the 70s&lt;/a&gt; -- "coding up RTL is not the long pole in the tent" is similarly suspect thinking... What makes hardware design any different from automotive manufacturing, software development, ...? Quality must be built in -- and with both hardware and software design that's through higher levels of abstraction.&lt;br /&gt;&lt;br /&gt;The wrinkle is finding an effective way to do this -- it's straightforward with software (aside from opinions about just which way), but, oh so hard with hardware. The industry, unfortunately, has had too many failed attempts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-3373756079014906077?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/3373756079014906077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/02/coding-up-rtl-is-not-long-pole-in-tent.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3373756079014906077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/3373756079014906077'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/02/coding-up-rtl-is-not-long-pole-in-tent.html' title='&quot;Coding up RTL is not the long pole in the tent&quot;'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-7728018179886990093</id><published>2007-02-15T12:10:00.000-05:00</published><updated>2007-02-15T12:15:30.299-05:00</updated><title type='text'>Bluespec-Forte on Deepchip</title><content type='html'>For anyone following the interchange between Brett Cline and me on Deepchip, &lt;a href="http://www.deepchip.com/wiretap/070214.html"&gt;John Cooley just posted our design solutions for the "challenge" on his website&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-7728018179886990093?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/7728018179886990093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/02/bluespec-forte-on-deepchip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7728018179886990093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/7728018179886990093'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/02/bluespec-forte-on-deepchip.html' title='Bluespec-Forte on Deepchip'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-1077384868930718502</id><published>2007-02-08T14:46:00.000-05:00</published><updated>2007-02-08T14:49:58.815-05:00</updated><title type='text'>CebaTech's CTO concedes ESL is synonymous with Bluespec</title><content type='html'>Was just skimming an &lt;a href="http://www.eetimes.com/showArticle.jhtml;jsessionid=DGWNFFU222URAQSNDLPSKH0CJUNN2JVN?articleID=197003023"&gt;editorial &lt;/a&gt;by the CTO of CebaTech... He said "... the acronym 'ESL' being synonymous with the acronym 'BS'."&lt;br /&gt;&lt;br /&gt;Wow -- nice to get the nod...   :&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-1077384868930718502?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/1077384868930718502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/02/cebatechs-cto-concedes-esl-is.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1077384868930718502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/1077384868930718502'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/02/cebatechs-cto-concedes-esl-is.html' title='CebaTech&apos;s CTO concedes ESL is synonymous with Bluespec'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-116917760780487880</id><published>2007-01-18T22:13:00.000-05:00</published><updated>2007-01-18T22:36:48.713-05:00</updated><title type='text'>Tradesman versus thinkers</title><content type='html'>There is a really interesting item on Slashdot debating whether engineers should be tradesman or thinkers -- what should schools be emphasizing? Here's a &lt;a href="http://ask.slashdot.org/askslashdot/07/01/18/2313232.shtml"&gt;link &lt;/a&gt;to the piece.&lt;br /&gt;&lt;br /&gt;I weigh in on the "thinker" side -- technology never stays still. People should learn how to approach problems and understand the underlying concepts and science. If training is too vocational, then learning can easily become outdated -- and, what happens as needs shift within organizations, even when they are not outdated?&lt;br /&gt;&lt;br /&gt;One of my favorite professors was Professor Da Rosa who taught the core circuit series of classes in my EE requirements. He summed up the philosophy behind the value of a graduate from my university this way:&lt;br /&gt;&lt;br /&gt;* Many engineering grads, those from programs that emphasize vocational/trade style teaching, will start out with some small, albeit positive, net value to the organization -- and this should grow at some ramp rate over time&lt;br /&gt;* Graduates from my school, when they were hired, would be pretty useless. In fact, they'd start initially with a larger negative net value. Why? Because they didn't necessarily know the specifics at the start. But, over time, their value would grow at a high ramp rate and would soon overtake the others. Why? Because you are taught to learn over time -- and have a stronger understanding of the foundations across more disciplines.&lt;br /&gt;&lt;br /&gt;Was he right? I don't know, but I always used his speech to justify how useless I was when I started my first engineering job.&lt;br /&gt;&lt;br /&gt;This debate is very relevant to Bluespec. I do believe that electrical engineering is less "theoretical" than computer science. EE is closer to pure engineering -- and computer science is more academic/theoretical. But, if you look at what Arvind's doing at MIT with Bluespec, there really is an opportunity to make architecture/hardware design more of a science a la computer science.&lt;br /&gt;&lt;br /&gt;There was a time computer architecture was taught more as a history lesson -- then, with Hennessey/Patterson, it was taught with a methodology for analyzing architectures with hard data. What's next? Building and teaching semantics for expressing, exploring and comparing architectures, whether they be processor or otherwise. But to do so, you need a new semantic model that's both high-level and expressive at the same time.  Arvind's courses and research focuses on just this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-116917760780487880?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/116917760780487880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2007/01/tradesman-versus-thinkers.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116917760780487880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116917760780487880'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2007/01/tradesman-versus-thinkers.html' title='Tradesman versus thinkers'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-116415694462387291</id><published>2006-11-21T19:42:00.000-05:00</published><updated>2006-11-21T19:55:44.663-05:00</updated><title type='text'>Moms</title><content type='html'>We just recently announced a new addition to our exec team, Charlie Hauck, as VP of engineering.   As you might see from the bottom of the &lt;a href="http://biz.yahoo.com/bw/061116/20061116005765.html?.v=1"&gt;press release&lt;/a&gt;, there's a mention that a digital photo is available of Charlie upon request.  Press will sometimes request a photo for an article -- in fact, for personnel type announcements, local coverage will often include a photo, if available.  Hence the motivation for the mention in the bottom of the press release.&lt;br /&gt;&lt;br /&gt;The day after the announcement, Charlie laughed and said that his mother saw the press release and immediately contacted Nanette to get a copy of the picture.&lt;br /&gt;&lt;br /&gt;Now we just hope his mother doesn't Google... :&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-116415694462387291?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/116415694462387291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/moms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116415694462387291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116415694462387291'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/moms.html' title='Moms'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-116407547315493914</id><published>2006-11-20T21:01:00.000-05:00</published><updated>2006-11-21T08:11:06.160-05:00</updated><title type='text'>Are the gloves off?</title><content type='html'>In &lt;a href="http://www.deepchip.com/items/0458-02.html"&gt;Friday's Deepchip posting&lt;/a&gt;, Forte's Brett Cline responded to &lt;a href="http://www.deepchip.com/items/0457-04.html"&gt;my previous post &lt;/a&gt;on Deepchip. He contends in his post that, with Forte, traditional SystemC can be expressed at just a high a level as Bluespec and be synthesizable.  I won't quibble with this contention for "algorithms" (more specifically known as DSP/math algorithms), but I'm just a bit incredulous when it comes to control-based designs, whether that is pure control or datapaths that are complex control-based (such as DMA controllers, processors, memory controllers, ...). We're the only ones that have found a way to both elevate and simplify the expression of control and complex datapaths -- and without removing designers from controlling the micro-architectures so that they can control the quality of results.&lt;br /&gt;&lt;br /&gt;Although I expect most people agree with me about traditional SystemC offering an RTL level design environment when it comes to control/complex concurrency, I'm looking forward to responding.&lt;br /&gt;&lt;br /&gt;(I was a bit surprised that Brett disagreed with &lt;a href="http://www.deepchip.com/items/0457-04.html"&gt;my previous Deepchip posting &lt;/a&gt;given his own characterization in an &lt;a href="http://www10.edacafe.com/nbc/articles/view_weekly.php?articleid=290663&amp;amp;page_no=4"&gt;EDACafe interview&lt;/a&gt; around DAC timeframe:&lt;br /&gt;&lt;blockquote&gt;Brett Cline (Forte): "When you start writing a design that is 90% control based, where you are writing 'if-then-else', the code you are writing looks a lot like Verilog code. For those customers advancing immediately to a SystemC based design flow or a C based design flow may not provide the same ROI level as the customer who has a mostly algorithmic description.")&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-116407547315493914?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/116407547315493914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/are-gloves-off.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116407547315493914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116407547315493914'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/are-gloves-off.html' title='Are the gloves off?'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-116316160117481956</id><published>2006-11-10T07:19:00.000-05:00</published><updated>2006-11-10T07:26:50.626-05:00</updated><title type='text'>Gary's back..</title><content type='html'>After the disheartening news of Gary Smith's team at Gartner being shut down, it is great to see that he's started his own research firm.  &lt;a href="http://www.eetimes.com/news/design/showArticle.jhtml?articleID=193600351"&gt;EETimes reported the news this week&lt;/a&gt;.  Gary's website is &lt;a href="http://www.garysmitheda.com/"&gt;www.garysmitheda.com&lt;/a&gt;.  Except for Daya, I'm not familiar with the rest of the team.  It's good to have them back.  EDA is whole again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-116316160117481956?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/116316160117481956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/garys-back.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116316160117481956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116316160117481956'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/garys-back.html' title='Gary&apos;s back..'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-116295410321615552</id><published>2006-11-07T21:16:00.000-05:00</published><updated>2006-11-07T21:48:26.116-05:00</updated><title type='text'>Rajeev on cheaper chip design &amp; higher levels of abstraction</title><content type='html'>&lt;a href="http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=193600311"&gt;Rajeev Madhavan spoke in India &lt;/a&gt;about the need to change the cost model for developing chips, as it's gotten untenable to justify many chips today.  He was quoted about the need to go up to higher levels of abstraction -- a topic very close to my heart at Bluespec.  I agree that RTL's worn its welcome -- chips are too hard to verify and make changes to because we're designing at too low a level.  And, I agree that the industry's done little to do this effectively.  I don't think it's for lack of trying -- I think it's just so hard to strike the perfect balance.&lt;br /&gt;&lt;br /&gt;I've written before about the &lt;a href="http://chipsandbs.blogspot.com/2005/10/so-why-long-plateau.html"&gt;key aspects that need to be addressed&lt;/a&gt;.  As a chip designer in 1990, we tossed out the automated datapath compiler developed by our internal CAD group because it couldn't handle the complexity of our datapath.  Sure, it was fully automated taking only minutes to run -- but it also couldn't handle adders/barrel shifters/multipliers/...  Sounded great on paper!  I ended up spec'ing a tool that required a little more guidance by the designer, but delivered perfect results in a day's worth of work for us versus three months of hand layout in our previous project.  Sometimes you have to understand what tools can do and what they cannot do.  My current company has found the right recipe -- the challenge is overcoming pre-existing prejudices as to what high-level design means and implies so that they'll just take a look at a fresh approach that works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-116295410321615552?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/116295410321615552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/rajeev-on-cheaper-chip-design-higher.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116295410321615552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116295410321615552'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/11/rajeev-on-cheaper-chip-design-higher.html' title='Rajeev on cheaper chip design &amp; higher levels of abstraction'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-116017692773287595</id><published>2006-10-06T19:03:00.000-04:00</published><updated>2006-10-06T22:38:25.540-04:00</updated><title type='text'>Deepchip, Cher and me</title><content type='html'>For some odd reason I've achieved the distinction of very few, including my company's founder Arvind and rock and popstars Madonna, Prince and Cher. In John Cooley's Deepchip &lt;a href="http://www.deepchip.com/posts/0457.html"&gt;ESNUG post today&lt;/a&gt;, the lead summary that links to my email says "George explains his claim that Bluespec is ESL while Forte is RTL". I read that this morning and thought "George? George who?" -- so I can only imagine what other people were thinking. I'll have to check and see how many connections separate Madonna and me on Linked In.&lt;br /&gt;&lt;br /&gt;This particular tidbit was the technical part of an email I had sent John earlier that started with a &lt;a href="http://www.deepchip.com/wiretap/060927.html"&gt;more general point about Cooley's comparison between Gary Smith and his DAC lists&lt;/a&gt;. In this technical piece, I was trying to outline why languages don't necessarily equate to abstraction levels. In traditional SystemC (prior to the ESL Extensions that Bluespec's added), the abstraction level you get is based directly on what can be synthesized -- at least when you are trying to implement, and not model, hardware.&lt;br /&gt;&lt;br /&gt;For SystemC, you can write tightly nested FOR loops and get decent synthesis results -- but the control related semantics aren't significantly different from RTL. This means that complexity in control description tends to be as hard in SystemC as with Verilog, VHDL or SystemVerilog.&lt;br /&gt;&lt;br /&gt;The magic is finding a way to elevate the abstraction level of hardware design that has broader impact than just with algorithms. With SystemC, you get the elevation in algorithms but not much else -- but that doesn't mean you can't do control oriented or complex datapath designs, it's just that you may as well be using Verilog or VHDL.&lt;br /&gt;&lt;br /&gt;Hardware complexity is all about complex concurrency and managing shared resources -- nothing simplifies this type of design except rules and interface methods, which allow complexity to scale linearly rather than exponentially with design size.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-116017692773287595?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/116017692773287595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/10/deepchip-cher-and-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116017692773287595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/116017692773287595'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/10/deepchip-cher-and-me.html' title='Deepchip, Cher and me'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-115975221824073127</id><published>2006-10-01T21:08:00.000-04:00</published><updated>2006-10-03T09:08:29.433-04:00</updated><title type='text'>Panaceas</title><content type='html'>There are a few problem areas in EDA where some people expect solutions as though it's just a minor matter of getting the development done. Maybe this is really the case. But I tend to think that people waiting for solutions in these areas are going to be waiting a long time -- and are likely to be unsatisfied with promises made in the mean time. Perhaps it's just that people haven't given a lot of thought to what it'll take to really get these done. I just don't know. Here's a couple that quickly come to mind:&lt;br /&gt;&lt;br /&gt;* Fine-grained parallelization of any software implementation&lt;br /&gt;&lt;br /&gt;* Ability to take actual hardware implementations (RTL or netlist) and simulate them significantly faster than an RTL simulator can&lt;br /&gt;&lt;br /&gt;I'll explore these shortly -- as well as others that later come to mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-115975221824073127?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/115975221824073127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/10/panaceas.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115975221824073127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115975221824073127'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/10/panaceas.html' title='Panaceas'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-115628038909718370</id><published>2006-08-22T16:14:00.000-04:00</published><updated>2006-08-22T17:07:38.940-04:00</updated><title type='text'>Deconstructing a press release and article</title><content type='html'>Whenever I do interviews for an announcement, I anxiously await the articles to see what was captured by the interviewer. This is not the fault necessarily of either the interviewer or the interviewee.  Of course, it's our responsibility to get them to clearly understand the message and significance of an announcement -- and, sometimes that's easier than others.&lt;br /&gt;&lt;br /&gt;In an earlier blog entry entitled &lt;a href="http://chipsandbs.blogspot.com/2006/07/systemc-ip-interoperability-finally-to.html"&gt;SystemC Interoperability Finally to be Fixed&lt;/a&gt;, I had commented on a Summit press release and its associated article from EETimes. In addition to expressing my envy at pulling off what Summit pulled off in terms of coverage and positioning (which has now only increased!), I also poked a little fun at what had been written about, as the article seemed to imply that SystemC IP interoperability would all be solved through the efforts and tools of Summit.&lt;br /&gt;&lt;br /&gt;I received the following response by one of the Summit employees. His response clarifies the reality of what was really behind the article and press release putting it into much better perspective. It looks like they've gotten some nice support by people to use OCP-IP interconnect as a rallying point for interworking IP -- though the scope of what they've done is not as broad as portrayed in the EETimes article. (Of course, as I said, my respect (read: envy) only has increased for their EETimes coverage.) Here's Vincent's (of Summit) explanation. It's interesting to read this and then re-read the article and PR:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Well, maybe this comment would have deserved deeper documentation. Of course, the marketing flavor of press releases may not help understanding the real picture behind. Though, let me correct a little bit some of the assumptions and bring my own perspective on this, as a Summit employee, purely technical.&lt;br /&gt;&lt;br /&gt;The IPs are integrated in the Summit environment based on the OCP-IP socket library. This is an industry standard used by some big companies. So far, this is the only commonly used standard for IP interoperability. That's why nobody has to 'follow' Summit on this: this is Summit following techniques already in use and based on standards.&lt;br /&gt;&lt;br /&gt;The OCP-IP socket library has its limits, they're well known thanks to the experience. But that's, by far, the only open way that is used by more than one ompany in the ESL space to plug different IPs together. Summit is also an active member of the TLM Working Group: this group has for a first objective to address interoperability. When ready, this will be more generic than the OCP-IP library, this standard will help a larger base in the ESL arena. It will not have the limits. When ready, this will be the next good move.&lt;br /&gt;&lt;br /&gt;At DAC, Summit just demonstrated a platform with IPs and elements from MIPS, Sonics, Forte, Tensilica, Actis. Since DAC, IBM is added to the list. On the Summit booth (Actis, Sonics) and on their own booth (like Forte), these vendors were confortable presenting this common platform. So this is like this idea of a common interest in following industry (or true) standards has already pleased many actors. Best regards. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;- Vincent Viteau, ESL specialist at Summit Design, Inc.&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-115628038909718370?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/115628038909718370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/08/deconstructing-press-release-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115628038909718370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115628038909718370'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/08/deconstructing-press-release-and.html' title='Deconstructing a press release and article'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-115445500098829856</id><published>2006-08-01T13:56:00.000-04:00</published><updated>2006-08-02T14:18:33.676-04:00</updated><title type='text'>Wish I had gotten this up for DAC...</title><content type='html'>Resembling a chicken post-butcher at DAC, I was a bit too busy to put this Q&amp;A online during DAC. I spend a lot of time working with semiconductor companies to clarify offerings in the ESL space -- in particular, as there are a lot of players doing "algorithmic" designs, and no one besides my company doing complex control logic, much of my focus is trying to get my lone voice heard amidst the crowded set of vendors doing algorithmic design. This involves a couple challenges:&lt;br /&gt;&lt;br /&gt;* Clarifying what types of problems these solutions attack and why&lt;br /&gt;* Differentiating my company's solution from these vendors, as we are both very different and very complementary&lt;br /&gt;&lt;br /&gt;As frustrating as that job is with so many contrary voices, I can imagine it being even more frustrating to differentiate your product as an algorithm vendor. &lt;a href="http://www.catalytic-inc.com"&gt;Catalytic&lt;/a&gt; is one of the interesting players in this space -- and I thought this Q&amp;amp;A with Larry Melling, their VP of Marketing, was very useful both to educate me, illustrate the types of things algorithmic solutions do, and clarify where they fit. Given the delay in getting this up, I'll give them top billing for a bit:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What's an algorithm?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Let’s start with the definition of algorithm from eeglossary.com: An algorithm is a formula or set of steps for solving a particular problem. Algorithms can be expressed in any language, from natural languages like English or French to programming languages like FORTRAN. Signal processing cover a broad range; things like data compression, encoding, decoding, signal filtering, and image scaling, are some examples. An overwhelming majority of these algorithms are written using MATLAB® by The Mathworks.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What are some typical examples of types of designs your customers would do with your tool?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;As you can see from the definition above, DSP algorithms are used in virtually every type of SoC. For &lt;a href="http://www.catalytic-inc.com"&gt;Catalytic&lt;/a&gt; the segment that seems to be most active in new algorithm development is video and imaging. The push to add multimedia support to portable devices and the expansion of home electronics with HDTV and Digital TV is fueling the need for integrated devices. These devices aren’t just requiring algorithms for image processing, they also require integration of communications algorithms to receive and transmit the images. Because many of these algorithms make use of approximations, the most critical task in the development process is verification of the algorithm and this is usually accomplished by running large datasets through the algorithm to verify the output is acceptable. Because MATLAB interprets M (their language) and is geared toward rapid software prototyping of algorithms, its performance on processing large datasets for verification is typically a problem for customers. Catalytic’s RMS (Rapid MATLAB Simulator) offers a solution that keeps the team working in the powerful MATLAB environment, but gives them faster execution for the critical verification task. The process of quantization is another critical step in preparing an algorithm for implementation that Catalytic improves. Quantization is the conversion of floating-point to fixed-point data types typically needed for implementation. RMS offers a profiler that helps our customers more rapidly assess what type of fixed-point accuracy will be needed for the algorithm. To illustrate the importance of this process the figure below shows the variation of 8, 12, 16 and 24 bit quantization on a FIR filter. This figure is from the article “Coefficient Quantisation and Round Off in FIR and IIR Filters” written by the DSPStore Staff and available on the web at &lt;a href="http://www.dspstore.com/$Newsletter/e-newsletters/July2006/Quantisation_Errors.htm"&gt;http://www.dspstore.com/$Newsletter/e-newsletters/July2006/Quantisation_Errors.htm&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4303/802/1600/clip_image001.0.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/4303/802/320/clip_image001.0.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where do you sit in the design flow? &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Algorithm design and development is almost always done very early in the design cycle up to a point. That point is implementation. Because algorithms are often developed and validated without concern for how they will be implemented (hardware or software), it is common for companies to use algorithm teams to develop this IP and then transfer the algorithm to the implementation team for the SoC and it will be their job to convert the algorithm to hardware (RTL) or software (C-code) to meet the requirements of the SoC. Catalytic products are used in both parts of the flow: for algorithm development and verification, and for algorithm implementation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Who's your typical user?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Our users fall in two categories: the signal processing scientists and engineers that develop and verify algorithms and the engineers that implement the algorithms.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How do you differentiate your solution from others in this space?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Our differentiation is our technology for processing MATLAB. Catalytic compiles MATLAB giving customers the ability to run MATLAB faster, quantize their algorithm faster and by outputting targeted C code for hardware or software implementation. &lt;a href="http://www.catalytic-inc.com"&gt;Catalytic&lt;/a&gt; products raise the level of abstraction of the customer’s signal processing design flow from C or RTL to MATLAB.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-115445500098829856?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/115445500098829856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/08/wish-i-had-gotten-this-up-for-dac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115445500098829856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115445500098829856'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/08/wish-i-had-gotten-this-up-for-dac.html' title='Wish I had gotten this up for DAC...'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17864065.post-115444851637256758</id><published>2006-08-01T11:53:00.000-04:00</published><updated>2006-08-01T15:52:11.386-04:00</updated><title type='text'>An even better tradeshow giveaway...</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4303/802/1600/img009.0.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/4303/802/320/img009.0.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4303/802/1600/img009.jpg"&gt;&lt;/a&gt;&lt;br /&gt;I liked our giveaway at DAC this year. Unfortunately, we ran out mid-day Wednesday. I had happened upon it while searching for something completely different. It was a blue hand-held fan with an LED strip of seven segments built into the propeller. As the propeller spun around, it flashed slogans. The lines it flashed in succession, before repeating, were:&lt;br /&gt;&lt;br /&gt;RTL FLOPS&lt;br /&gt;BLUESPEC&lt;br /&gt;RULES&lt;br /&gt;&lt;br /&gt;(Note: we could only do three lines of up to 9 characters, A-Z only, each)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;An even better giveway: just like the fan, but much, much better...&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;While this one was quite popular (and as it turned out we got an unexpected boost due to the unusually warm weather in San Francisco), Steve Allen, one of our senior consulting engineers, found something even cooler (though far too expensive to give away), the PimpStar wheels. These are replacement wheels for your decked out SUV of choice. Just like the fan, the wheels have strips of colored LEDs. However, the PimpStar wheels are much higher resolution and include the full color set using RGB LEDs for fancy pictures. There's a very humorous &lt;a href="http://www.youtube.com/watch?v=jCiRbEGdXr0&amp;amp;search=pimpstar"&gt;promotional video on youtube.com&lt;/a&gt; showing off the wheels -- I need to get them for my Mini.&lt;br /&gt;&lt;br /&gt;Perhaps next year, we'll have to give away a Cadillac Escalade with PimpStar wheels...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17864065-115444851637256758?l=chipsandbs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chipsandbs.blogspot.com/feeds/115444851637256758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chipsandbs.blogspot.com/2006/08/even-better-tradeshow-giveaway.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115444851637256758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17864065/posts/default/115444851637256758'/><link rel='alternate' type='text/html' href='http://chipsandbs.blogspot.com/2006/08/even-better-tradeshow-giveaway.html' title='An even better tradeshow giveaway...'/><author><name>George Harper</name><uri>http://www.blogger.com/profile/12782319843580094075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>
