打印

什么时候可以用C语言做FPGA设计?

[复制链接]
楼主: Windmill_CN
手机看帖
扫描二维码
随时随地手机跟帖
21
Ruy_Xie| | 2012-3-29 09:51 | 只看该作者 回帖奖励 |倒序浏览
我也想学习啊,求帮忙和建议

使用特权

评论回复
22
SmartEnergy| | 2012-3-29 10:40 | 只看该作者
Verilog不就是C语言风格了吗?

使用特权

评论回复
23
sleepybear| | 2012-3-29 10:52 | 只看该作者
本帖最后由 sleepybear 于 2012-3-29 10:57 编辑

Verilog和C只是语法近似而已,内涵差别很大。
即使用高级语言,你还是要对底层硬件有一定了解的。工具软件生成的HDL代码,其效率和资源以及可移植性上要达到人工的HDL代码的水准,恐怕还是有一些时间吧?这个与高级语言和汇编还不一样:高级语言和汇编毕竟是在一个固定的处理器构架和指令集下的,编译器还是相对比较容易提升的。HDL可是比汇编还要底层的东西。
而且,工具生成的代码,往往其接口上会有一定的规范性,如果你想在其基础上做一些修改(比如添加一些信号),很可能要面临很大的工作量;而直接在高级语言下改的话,在初期很可能无法支持的那么好。即,初始时,工具可能只能支持一些有限制的语法子集以及功能,而在实际中某些功能还是要自己手动去改(类似于处理器设计中对某些关键代码嵌入汇编)。
当然,前途是光明的,我相信未来一定会有好用的高级语言设计工具出现。但是,这些工具很可能还是主要给那些做过底层的工程师用的(自下而上),而不是给随便一个高级语言的使用者用的(自上而下的,对底层缺乏了解,不太可能做出好的设计)。
要用,你们先用,我不当小白鼠。;P

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
Windmill_CN + 1 有道理
24
轩辕剑cxw| | 2012-3-29 11:17 | 只看该作者
怎么会……
编写C语言时想的是怎么顺序执行
编写Verilog时考虑的什么时候触发,两码子事情,根本不沾边

使用特权

评论回复
25
GoldSunMonkey| | 2012-3-29 13:09 | 只看该作者
没有看到、听到过成熟的、完整的这样的软件在卖。
nongfuxu 发表于 2012-3-29 09:47
那我只能说农夫不行了,out了

使用特权

评论回复
26
GoldSunMonkey| | 2012-3-29 13:10 | 只看该作者
怎么会……
编写C语言时想的是怎么顺序执行
编写Verilog时考虑的什么时候触发,两码子事情,根本不沾边
轩辕剑cxw 发表于 2012-3-29 11:17
哈哈,已经出来了。
XILINX的软件名称叫AutoESL

使用特权

评论回复
27
pengdandan123| | 2012-3-29 13:26 | 只看该作者
早就可以了啊,Quartus II中的SOPC Nios II软核嵌入式系统,开发环境IDE里用的不就是C语言吗? 1# Windmill_CN

使用特权

评论回复
28
GoldSunMonkey| | 2012-3-29 13:33 | 只看该作者
:L不是这个的

使用特权

评论回复
29
Windmill_CN|  楼主 | 2012-3-29 15:38 | 只看该作者
早就可以了啊,Quartus II中的SOPC Nios II软核嵌入式系统,开发环境IDE里用的不就是C语言吗? 1# Windmill_CN
pengdandan123 发表于 2012-3-29 13:26


Nios II 开发的产品量产的多吗?稳定性,可靠性如何?

使用特权

评论回复
30
Windmill_CN|  楼主 | 2012-3-29 15:49 | 只看该作者
原来还有比汇编还低级的语言, Verilog HDL。
越底层感觉赚大钱的机会越少啊!

使用特权

评论回复
31
dnvwp| | 2012-3-29 15:56 | 只看该作者
可以支持C语言的FPGA开发环境叫什么呀?

使用特权

评论回复
32
xmar| | 2012-3-29 16:26 | 只看该作者
HDL语言与CPU语言有根本的区别。不可同日而语。

使用特权

评论回复
33
kangwuwei| | 2012-3-29 17:04 | 只看该作者
怎么会……
编写C语言时想的是怎么顺序执行
编写Verilog时考虑的什么时候触发,两码子事情,根本不沾边
holle 发表于 2012-3-28 23:04

同意这种观点

使用特权

评论回复
34
nongfuxu| | 2012-3-29 18:40 | 只看该作者
那我只能说农夫不行了,out了

看来是跟不上了.
(转)
大年三十,看到Xilinx收购AutoESL的新闻, 顿时觉得今年特别喜庆,于是,连春晚也懒得骂了。 本想立即写一篇博文八卦一番, 怎奈亲朋好友饭局不断,一直拖到今天才动笔。
与一年前Xilinx宣布与ARM联姻一样, 这次Xilinx收购AutoESL,堪称影响深远的大事,而这件大事的背后,华人,确切的说,来自中国大陆的精英,是这件大事的绝对主角。他的名字叫丛京生,英文名字 Jason Cong.

使用特权

评论回复
35
nongfuxu| | 2012-3-29 18:41 | 只看该作者
你如果看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也有各自的解决方案。

使用特权

评论回复
36
nongfuxu| | 2012-3-29 18:43 | 只看该作者

在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的中立评估, 评估结果再次超出了所有人的想象。

使用特权

评论回复
37
nongfuxu| | 2012-3-29 18:45 | 只看该作者
当然,任何事情都不是魔术,在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做嵌入式, 很给力, 你懂的!

使用特权

评论回复
38
nongfuxu| | 2012-3-29 18:49 | 只看该作者
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的第一反应,是:“遇到大骗子了”

BDTI的中立评估报告
ibt.pdf (647.93 KB)

使用特权

评论回复
39
nongfuxu| | 2012-3-29 18:51 | 只看该作者
当然,任何事情都不是魔术,在BDTI的报中,也提到了,普通的C程序,也需要实现进行一些优化和修改,这些优化和修改,需要人工进行。 就像标准的C语言程序,用到DSP上,也需要进行手工循环展开等优化一样。
AutoESL公司的主要研发团队分为两块,一块在硅谷,一块在北京,核心人马来自于丛教授的母校,北大。
Xilinx收购AutoESL,意味着Xilinx的从事核心研发的团队,终于落户北京。 以此为核心,是否xilinx也会在北京成立研究院之类的机构,是一个饶有兴趣的话题。

使用特权

评论回复
40
nongfuxu| | 2012-3-29 18:55 | 只看该作者
任何事情都不是魔术,在BDTI的报中,也提到了,普通的C程序,也需要实现进行一些优化和修改,这些优化和修改,需要人工进行。 就像标准的C语言程序,用到DSP上,也需要进行手工循环展开等优化一样。

AutoESL能实现比一般人工编程只好不差,已经非常优秀了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则