快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.0\7.2\9.1 各版本編譯后數據有一定差異。