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都有一定的坑(或者说是使用者的问题吧~~).用来用去都觉的有一 ...
- <后会无期>经典影评
先说明是转载,任何不同意见请对原作者表达,楼主不作任何回应,楼主影商极低,楼主觉得这二十几年来看的最好的电影是<一代宗师>,楼主只是觉得这篇影评精彩才发布上来让更多的人看到.原作者意见和楼 ...
随机推荐
- MySQL 备份和恢复 理论知识
为什么要备份 数据无价 制定备份策略的注意点 1:可容忍丢失多少数据 2:恢复需要在多长时间内完成 3:备份的对象 数据.二进制日志和InnoDB的事务日志.SQL代码(存储过 ...
- 【Leetcode】322. Coin Change
You are given coins of different denominations and a total amount of money amount. Write a function ...
- 将oracle数据库表使用命令的形式导入到excle文件中 亲测可用!
main.sql 中的代码 set markup html on entmap ON spool on preformat off spool D:\新建文件夹\mick\tables.xls @ge ...
- 理解promise 02
1:promise是什么? 就是(链式)包装的回调函数. 2:语法 new Promise( function(resolve, reject) {...} /* executor */ ); exe ...
- 第131天:移动web页面的排版与布局
一.总之一句话, 尽量用mm 毫米作为标准单位. 采用新的相对单位 rem 首先设置html的 font-size 为根大小. html{ font-size:1mm; } .titleheight{ ...
- 第113天:Ajax跨域请求解决方法
一.原生JS实现ajax 第一步获得XMLHttpRequest对象 第二步:设置状态监听函数 第三步:open一个连接,true是异步请求 第四部:send一个请求,可以发送一个对象和字符串,不需要 ...
- Spring Boot 初步小结
Spring Boot 是一种开发模式,不涉及任何新的技术 1.了解自动配置的原理 2.常用application.yml文件的配置项 3.Spring Boot 及 第三方提供的各种 starter ...
- PHP 中数组获取不到元素
早上看到 SO 上一个有关 PHP 的问题,提问者描述有一个数组,使用 print_r 可以看到索引 key 和相对应的 value 都是存在的,但是访问该元素,不管是使用 array[key] 还是 ...
- 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告
P3539 [POI2012]ROZ-Fibonacci Representation 题意:给一个数,问最少可以用几个斐波那契数加加减减凑出来 多组数据10 数据范围1e17 第一次瞬间yy出做法, ...
- [学习笔记]Min-25筛
%%yyb %%zsy 一. 基本操作:筛1~N中的素数个数.n=1e9 设F(M,j)表示,2~M的所有数中,满足以下条件之一的数的个数:①x是质数②x最小质因子大于(注意是大于没有等号)$P_j$ ...