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都有一定的坑(或者说是使用者的问题吧~~).用来用去都觉的有一 ...
- <后会无期>经典影评
先说明是转载,任何不同意见请对原作者表达,楼主不作任何回应,楼主影商极低,楼主觉得这二十几年来看的最好的电影是<一代宗师>,楼主只是觉得这篇影评精彩才发布上来让更多的人看到.原作者意见和楼 ...
随机推荐
- Python数据挖掘学习路程--起步
一.首先第一步我去了解了Python开发环境:Python(程序运行基础的解释器)+第三方类库(功能扩展)+编辑器(提高代码编辑效率) 编辑器有:Pycharm.Spyder.jupyter note ...
- 使用java中的注解@see
缘起 在写java时,有时需要写注释,而为了更好的描述,需要引用和参考其他代码.为了让阅读者更好的体验,javadoc中支持链接跳转,这就需要用到注解@see. @see用法 注解@see可以在注释中 ...
- "Scrum站立会议"浅析
目录 Scrum Scrum Meeting功能及要点 Scrum Meeting点评 Scrum 定义:是一种软件开发流程.它并不是一项技术,这种开发方式的主要驱动核心是人,它采用的是迭代式开发. ...
- javascript之彻底理解this
彻底理解this,需要彻底理解函数 函数是复杂类型,存储在堆中. 函数是独立的, 对象中的方法只是对象中有个函数的引用 函数被调用时,调用者会像被调用者提供个上下文环境, 这个环境就是this 构造 ...
- Nginx LVS HAProxy 对比
一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用D ...
- 【Python】极简单的方式序列化sqlalchemy结果集为JSON
继承 json.JSONEncoder 实现一个针对sqlalchemy返回类型的处理方式. sqlalchemy的返回类型有大都有两种,一种是Model对象,一种是Query集合(只查询部分字段). ...
- js简易随机打乱数组方法
打乱随机数算法很多,不过看这个还挺简便的,记录下来. function shuffle(a) { var len = a.length; for(var i=0;i<len;i++){ var ...
- 学Python Django学得很迷茫,怎么办?-转自知乎
本人学生,零编程基础,在学习python的过程中越学越迷茫,感觉像无头苍蝇一样,来知乎取经,下面进入正题吧: 我是先看了中谷的python教学视频,然后跟着慕课网上的python教程把题 ...
- hbase 基本的JavaApi 数据操作及数据过滤(filter)
本文主要是hbase的表操作.数据操作.数据查询过滤等,如果对JDBC或ADO有了解,容易理解HBASE API. hbase版本是2.0. 1.为了方便先贴helper的部分代码(文末git上有完整 ...
- 【刷题】BZOJ 1211 [HNOI2004]树的计数
Description 一个有n个结点的树,设它的结点分别为v1, v2, -, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵.给定n,d1, d2, -, dn,编程需要 ...