|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2010-7-13 08:37:51
|
显示全部楼层
看来还是有不少哥们对这个51内核感兴趣,下面我简单介绍一下51内核的开发过程。
目前网上公开发布的几个比较典型的805l IP核,如DW8051核.OpenCore组织的0C8051核及T51核,MC805l核等。这些IP核都是采用HDL语言描述的软MCU内核,其与工艺无关,能够在多种FPGA上进行逻辑综合及实现。
我使用的是Oregano公司开发的1.5版本免费的MC8051 IP核,它具有如下特点:1)完全同步的设计;2)指令集与标准的8051 MCU完全兼容;3)采用优化的内核结构,指令周期较原MCS-51系列大幅提高,每一个指令仅占用1~4个时钟周期;4)256字节内部的RAM,最大可提供64KB的ROM和64KB的RAM资源。
在FPGA中嵌入的8051内核,具有与51单片机类似的存储器结构,这些存储器的设计均使用FPGA芯片中的Block RAM资源,通过Xilinx提供的Core Generator工具实现。Core Generator是一个完整的设计工具,用来生成设计所需要的IP核,它既可以单独运行,也可以在ISE设计工具内执行。在设计中,要用到单片机中的三种存储区,分别为DATA,XDATA和CODE,这些存储区都是通过配置RAM & ROM中的单端口Block RAM(Single-Port Block RAM)IP核实现的。
MC8051 IP核的设计过程共包括如下5个步骤:
1)用Keil 编译8051的代码。
2)将生成的hex文件用hex->bin工具转成bin文件;
3)用bin->coe工具将hex文件转成coe文件;
4)在core generator 生成的ROM中指明coe文件的位置;
5)编译、下载到FPGA芯片。
MC8051 IP核占用的FPGA较多,我原先用Xilinx XC2S200PQ208芯片,Slice资源占用约60—70%,再加上一些FPGA自己的逻辑控制,资源用的就差不多了。后来用XC3S400PQ208芯片,资源就比较够用了。 |
|