AutoESL与Xilinx那些人和事
大年三十,看到Xilinx收购AutoESL的新闻, 顿时觉得今年特别喜庆,于是,连春晚也懒得骂了。 本想立即写一篇博文八卦一番, 怎奈亲朋好友饭局不断,一直拖到今天才动笔。
与一年前Xilinx宣布与ARM联姻一样, 这次Xilinx收购AutoESL,堪称影响深远的大事,而这件大事的背后,华人,确切的说,来自中国大陆的精英,是这件大事的绝对主角。他的名字叫丛京生,英文名字 Jason Cong. 如果你年龄足够大,应该知道80年代,小平阅兵那次,北大学子打出横幅, ”小平你好“,据说,Jason就是打横幅的学子之一。
上照片:


你如果看Jason的简历,会发现这么一个title, 叫Chancellor's Professor, 翻译成中文,是“校长讲席教授”,或者叫 “校长特聘教授”,能在加州大学洛杉矶分校(UCLA)得到这个职位,绝对是大牛。 同时他也是 IEEE,和 ACM的fellow.
丛教授80年代毕业于北大。 在美国主要搞EDA的研究,90年代将研究成果商品化,开了一个公司,随后将公司卖给了Magma, 大概在2000年,丛教授开始在UCLA研究当时EDA中最热门的题目之一, “系统级设计工具”(ESL), 搞了一个叫xpilot的高层次综合工具(HLS). 研究一作,就是5年多,直到2005年。
2005年,做这项研究的几个博士生,有不少来自于北大。要毕业了,经过对比,发现xpilot的效果比当时一些已经商业化了的ESL工具好很多。一合计,干脆,搞个公司吧,起名AutoESL。
应该说, 丛教授研究ESL中的HLS工具, 起步并不算特别早, 因此,他开始研究的时候,不少丛90年代中期就起步的研究成果,在2000年前后,纷纷商品化,出现了不少公司,SystemC等系统级语言,也开始成熟。不少ESL工具如雨后春笋般地开发出来, 比较著名的公司有 Atrenta,Calypto、Celoxica、ChipVision、CoWare、Forte等, 当然,EDA的三大巨头Cadence, Mentor Graphics Synopsys也有各自的解决方案。
在ESL的先驱中,Coware公司必须浓墨重彩地提一下,原因一,是2004年,我,Kevin,在上海参加过他们一个产品宣讲会, 临走拿了他们一大堆资料,印刷质量很好,就是纸太硬,不舒服...........原因二,当然是最重要的原因, Xilinx现任CTO, 我的老板的老板, 不会磕瓜子的Ivo Bolsens是Coware的创始人之一。事实上, Coware 公司, 是位于比利时的IMEC(欧洲微电子中心)孵化出来的公司之一,当时 Ivo任欧洲微电子中心的集成电路设计副总裁。
上照片:

Coware的成立起源于1992年开始的一个Ivo领导的 IMEC的内部研发项目, 目的是提供系统级的设计手段,从而使大规模集成电路设计更有效率。 项目逐渐有了 成果,于是,商品化,搞公司。Ivo开始担任Coware公司的高管。 2010年,Synopsys收购了Coware。
2000年前后, Xilinx的CEO,Ivo的比利时同乡Wim找到Ivo当CTO的时候, Ivo一头雾水,说:我又不懂FPGA, 你为啥找我嗫? Wim说, Xilinx已经有上百个FPGA专家了,找你来,就是让不懂FPGA的人可以立即使用FPGA.
Wim的一句话, 让Ivo孜孜不倦地在Xilinx一干,就是10年。Ivo领导的Xilinx Research Lab, 也从来没有停止过实现“就是让不懂FPGA的人可以立即使用FPGA.”这个梦想的各种尝试和研究。
因此,当2005年左右,UCLA的丛京生教授找到Ivo的时候,Ivo在这个领域,已经耕耘了多年,老江湖了。当丛京生教授说AutoESL可以直接把C语言转化为硬件描述语言 ,并且质量不仅比现有的所有ESL的工具要至少高2倍, 比人工写的代码,也要好很多的时候, Ivo的第一反应,是:“遇到大骗子了” 。
接下来是严格的测试。 先给一段C代码让丛教授的团队转化,结果很快就出来了,效果很好。 为了防止作假,拿到xilinx实验室去测。 xilinx实验室正好完成了一个项目,由几个高手人工精心开发的视频算法FPGA实现,耗费了数个月,算法有一稿参考C语言模型,俗称黄金模型(Golden)正好可以让丛教授的团队转换。 没多久,转换完毕,效果一比较,乖乖,比手工开发的各项指标,只好不差。
Ivo 立即作出了决定,对丛教授的公司投资,2006年,Xilinx公司成为了AutoESL公司的股东。 Ivo代表xilinx,进入了董事会。
2010年,AutoESL 的性能经过BDTI的中立评估, 评估结果再次超出了所有人的想象。
为方便大家,把BDTI文档贴在这里:
当然,任何事情都不是魔术,在BDTI的报中,也提到了,普通的C程序,也需要实现进行一些优化和修改,这些优化和修改,需要人工进行。 就像标准的C语言程序,用到DSP上,也需要进行手工循环展开等优化一样。
AutoESL公司的主要研发团队分为两块,一块在硅谷,一块在北京,核心人马来自于丛教授的母校,北大。
Xilinx收购AutoESL,意味着Xilinx的从事核心研发的团队,终于落户北京。 以此为核心,是否xilinx也会在北京成立研究院之类的机构,是一个饶有兴趣的话题。
丛教授,也接收了北大的邀请,在北大建立了研究室。 2010年12月,丛教授不改学者本色,又向新的目标发起了冲锋, 在北京大学成立了高能效计算与应用中心。(请注意是高效能而不是高性能)。
2009年,第二届开源硬件与嵌入式大赛,OpenHW09的开幕式上, AutoESL公司向 教育部“北工大-Xilinx软件工程(嵌入式方向)应用人才联合培养模式创新实验区” 捐赠了AutoPilot软件, 北京工业大学成为目前唯一被AutoESL捐赠的学校。
2010年,Kevin在“北工大-Xilinx软件工程(嵌入式方向)应用人才联合培养模式创新实验区”讲授共建课程 “软硬件协调设计导论”,AutoESL公司现场演示了讲授了工具的使用方法。
事实上,收购AutoESL,对Xilinx推出的ARM+FPGA芯片,也意义重大。 你可以想象,一个完全不懂FPGA的软件工程师,可以毫无困难地先在ARM上跑C语言,然后,抓出其中的关键代码,用AutoESL转化一下,变成专用硬件协处理器, 根本不需要碰硬件设计.
Kevin每次做演讲,总要提到爱因斯坦的e=mc2的软硬件转换公式,不少听众还是云里雾里,不明白。不久的将来,Kevin终于可以用ARM+FPGA+AutoESL的例子完美阐述这个转换。那时就可以理直气壮地说:用Xilinx做嵌入式, 很给力, 你懂的!
from:http://www.eefocus.com/Kevin/blog/11-02/203697_4df37.html
AutoESL与Xilinx那些人和事的更多相关文章
- [转帖]GNU/Linux与开源文化的那些人和事
GNU/Linux与开源文化的那些人和事 时间:2015-09-24 作者:admin 分类:新手入门 阅读:167次 http://embeddedlinux.org.cn/emb-linux/ ...
- GNU/Linux与开源文化的那些人和事
一.计算机的发明 世上本无路,走的人多了,就有了路.世上本无计算机,琢磨的人多了--没有计算机,一切无从谈起. 三个人对计算机的发明功不可没,居功至伟.阿兰·图灵(Alan Mathison Tur ...
- 高层次综合(HLS)-简介
本文是我近段时间的学习总结,主要参考了Xilinx的技术文档以及部分网上其他资料.文档主要包括ug998<Introduction to FPGA Design Using High-Level ...
- 玩转JavaScript OOP[2]——类的实现
概述 当我们在谈论面向对象编程时,我们在谈论什么?我们首先谈论的是一些概念:对象.类.封装.继承.多态.对象和类是面向对象的基础,封装.继承和多态是面向对象编程的三大特性. JavaScript提供了 ...
- Go语言实战 - 创业进行时之创业伊始
在工作了10年之后,我于32岁的年纪在两个月前辞职创业了. 简单介绍一下之前的整个职业生涯,挺典型的,工程师 –> 资深工程师 –> 架构师 –> 项目经理 –> 部门经理,可 ...
- 软件开发学习笔记 <一> UML
UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...
- 高效能人士必知铁律--note
偶然看到了<高效能人士 必知铁律>这本书,我比较少看成功学,但是这本书把很多著名的成功学书籍整理出来,有时会让你耳目一新,有些观点尽管是常识,但是却加深了你对它们的理解,比如: 只要在积极 ...
- Dapper小型ORM的使用(随便吐槽下公司)
近来公司又有新项目要做,之前做项目用过蛮多ORM,包括ef,NetTiers,ServiceStack.OrmLite等ROM,每种ORM都有一定的坑(或者说是使用者的问题吧~~).用来用去都觉的有一 ...
- <后会无期>经典影评
先说明是转载,任何不同意见请对原作者表达,楼主不作任何回应,楼主影商极低,楼主觉得这二十几年来看的最好的电影是<一代宗师>,楼主只是觉得这篇影评精彩才发布上来让更多的人看到.原作者意见和楼 ...
随机推荐
- js中call(),apply(),以及prototype的含义
最近段时间主要学习前端去了,然而所遇到的一些问题我觉得有必要去深究一下 prototype: 1 js中有三种表达方法 类方法,属性方法,原型方法 function People(name) { th ...
- 【Linux学习笔记】Linux C中内联汇编的语法格式及使用方法(Inline Assembly in Linux C)
http://blog.csdn.net/slvher/article/details/8864996 https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm. ...
- p2 入门
心里一片空白,要弄个p2的demo出来... 先了解下p2的概念吧 P2只是一个算法库,以刚体为对象模型,模拟并输出物理碰撞.运动结果.这个过程通过持续调用world中的step()方法来实现 p2的 ...
- HDU4054_Hexadecimal View
水题.直接八位八位地枚举即可. 注意控制输出,注意读数的时候要把s中的全部元素置零. #include <iostream> #include <cstdio> #includ ...
- SPOJ3713——Primitive Root
终于有一个SPOJ题目是我自己独立做出来的,ORZ,太感动了. 题目意思是给你一个素数,问你一个数r是否满足,r,r^2,r^3,……,r^p-1,全不相同. 以前做过这种类型的题目额.是这样的. 根 ...
- Intel WIDI (Wireless Display) 相关技术知识分析
一. WIFI 1.如何查找WIFI设备 非p2p设备 Beacons 包(同步,SSID) 速率 1M/s 2.4G HZ 13个信道,1,6,11三个信道不重叠 2.P2P 认证 客户端在每个通道 ...
- BZOJ2733 永无乡 【splay启发式合并】
2733: [HNOI2012]永无乡 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 4190 Solved: 2226 [Submit][Sta ...
- HDU.2149 Public Sale (博弈论 巴什博弈)
HDU.2149 Public Sale (博弈论 巴什博弈) 题意分析 巴什博奕裸题 博弈论快速入门 代码总览 #include <bits/stdc++.h> using namesp ...
- 「CodePlus 2017 12 月赛」可做题2(矩阵快速幂+exgcd+二分)
昨天这题死活调不出来结果是一个地方没取模,凉凉. 首先有个一眼就能看出来的规律... 斐波那契数列满足$a_1, a_2, a_1+a_2, a_1+2a_2, 2a_1+3a_2, 3a_1+5a_ ...
- bzoj3173: [Tjoi2013]最长上升子序列(fhqtreap)
这题用fhqtreap可以在线. fhqtreap上维护以i结尾的最长上升子序列,数字按从小到大加入, 因为前面的数与新加入的数无关, 后面的数比新加入的数小, 所以新加入的数对原序列其他数的值没有影 ...