快2年没怎么碰FPGA了,最近更新了quartusII 11.0sp1,就把以前的几个8051软核重新跑了一下,由于quartusII 10.0以后不再对旧版本的一些宏模块提供支持,所有的存储器都重新配置了一下。
mc8051 18.03MHz
i8051 23.25MHz
dw8051 39.39MHz
mcu8951 275.03MHz
evatronix c8051 76.51MHz
oc8051(opencores) 30.52MHz 前面一直把original 8051当作是oc8051,后来才发现那个还是mc8051!
e8051 45.42MHz,使用EP1C12报错,用EP2C15AF484C8跑的。
硬件是altera的EP1C12Q240C8,所有项目都是原始状态,未作任何优化。还有一些其他的8051核处于收藏状态,未激活。
mc8051 来自Oregano Systems,版本为1.5,2002年;
i8051 来自Intel,版本为2.8,1977年;
dw8051 来自synopsys,版本为3.7,2004年;
mcu8951 来自Mentor Graphics,传说是为altera OEM的,后来康芯在该核基础上做了一些改进;
evatronix c8051 来自Evatronix,版本为3.01,2001年;
oc8051 来自opencores,版本为0.2,2002年。
e8051 来自England,版本为4.4,2006年。
进一步比较了一下资源使用情况,
mc8051 占用 4033个LEs,
i8051 占用 6466个LEs,
dw8051 占用 2674个LEs,
mcu8951 占用 1741个LEs,
evatronix c8051 占用 2526个LEs,
oc8051 占用 2519个LEs。
e8051 占用 5230个LEs。
最古老的i8051占用资源较多,需要大容量的FPGA才能跑的顺;mc8051能找到的资料从09年以后就比较多了,但是对于只有4608个LEs的EP2C5来说也太大了,只能在连接了外围的竞赛板上跑;dw8051据说是可以直接流片的,但是没怎么看datasheet,现在连顶层是什么样的都还想不出来;M8951看来是一段时间内研究的重点了。
PS:传说中性能最好的是Actel的core8051,达到宇航级的极品,目前能免费下载到的无片上调试功能、无跟踪寄存器、无硬件触发器……
以上数据仅供参考。quartusII 6.07.29.1 各版本编译后数据有一定差异。 |