在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2930|回复: 2

从FPGA到单片机

[复制链接]
发表于 2006-10-18 10:40:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
  我大学毕业后在北京一家研究所做了三年的FPGA,主要是做加密算法的实现。两年多时间里,做了DES,3DES,AES,RSA等算法的verilog实现。其中,DES和AES是下的原码自己改正后用;RSA没合适的原码,是自己先写的C实现,后做的VERILOG实现。芯片用的是ALTERA的cyclone12和XILINX的spartan2-400。由于银子给得太少,合同期没满就走人了,但为此支付了两万元的违约金。没办法,要上保险就得转档案,那就得交钱。老美每年都抨击中国没人权,这是有道理的。但还是要走,一是因为给的钱少,二是因为在所里已没有发展了。
  出来后到一个搞安全的公司里做固件(就是汇编语言)开发,从FPGA转到了单片机。之所以没有继续做FPGA,一是没找到合适的职位,二是想干点别的,拓展一下自己的能力。在这里做了一年多的固件开发后,感觉自己的学到了很多东西,不只是在汇编的编程上,还有程序的架构能力的提高。用汇编写出来的东西,的确是简洁高效,有很多技巧在里面。我正在设计的一个固件,MCU程序空间是8K,写完后只剩了几十个字节,其中的实现的功能有:
    1.usb通讯。
    2.两级文件系统支持(支持7种文件类型和多种文件相关的属性控制)。
    3.AES算法。
    4.HMAC-MD5算法。
    5.PIO口实现的I2C以存取EEPROM。
    6.一个虚拟机(由我公司另一个同事做的编译器和实现)。
  这些东西要用C写,绝对放下下。这就是用汇编写的原因。程序空间和运行时间就是硬道理,越小越快,你的产品就越有竞争力。要成为一个高手,不仅要有做系统观念,也要注意细节的实现,也就是说,既要有广度,也要有深度。

        初来乍到,写了一点心得,请大家多指正。
发表于 2006-10-18 10:46:23 | 显示全部楼层
看了,有个小问题想问一下,FPGA里面的CPU也是用C写吗?没写过,想问一下
 楼主| 发表于 2006-10-18 13:13:30 | 显示全部楼层

回复 #1 huangjianjun 的帖子

FPGA里的CPU分两种,软核的和硬核的。软核的如ALTERA的NIOS,XILINX的PICOBLAZE,或通用的51核;硬核的如ALTERA的ARM,XLINX的PPC。软核的CPU一般用VHDL或Verilog写的,用C的不多见。C做原型可以,说到用C做实现,现在从C到VHDL,Verilog,或RTL的编译、综合工具还不成熟。另外就是用C写的实现应该没有用VHDL或Verilog写的那么高效。就如同C与汇编的区别一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-8 17:46 , Processed in 0.044948 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表