【E465】通过FPGA实现的8051单片机软核处理器

2021-08-23 07:50:45      索炜达电子      531     

项目编号:E465

文件大小:103K

源码说明:带中文注释

开发环境:Verilog

通过FPGA实现的8051单片机软核处理器,并能够仿真使用Keil编写并生成的二进制文件。


安装教程

安装iverilog

安装Keil5


使用说明

一、测试指令

使用Keil打开TEST项目,编译出TEST.hex二进制文件;

命令行下进入tools目录执行命令sim.bat TEST;

执行结果

ADD_A_RN

ADD_A_DI

ADD_A_RI

ADD_A_DA

ADDC_A_RN

ADDC_A_DI

ADDC_A_RI

ADDC_A_DA

SUBB_A_RN

SUBB_A_DI

SUBB_A_RI

SUBB_A_DA

INC_A

INC_RN

INC_DI

INC_RI

INC_DP

DEC_A

DEC_RN

DEC_DI

DEC_RI

MULT

DIVIDE

DA

ANL_A_RN

ANL_A_DI

ANL_A_RI

ANL_A_DA

ANL_DI_A

ANL_DI_DA

ORL_A_RN

ORL_A_DI

ORL_A_RI

ORL_A_DA

ORL_DI_A

ORL_DI_DA

XRL_A_RN

XRL_A_DI

XRL_A_RI

XRL_A_DA

XRL_DI_A

XRL_DI_DA

CLR_A

CPL_A

RL_A

RLC_A

RR_A

RRC_A

SWAP_A

MOV_A_RN

MOV_A_DI

MOV_A_RI

MOV_A_DA

MOV_RN_A

MOV_RN_DI

MOV_RN_DA

MOV_DI_A

MOV_DI_RN

MOV_DI_DI

MOV_DI_RI

MOV_DI_DA

MOV_RI_A

MOV_RI_DI

MOV_RI_DA

MOV_DP_DA

MOVC_A_DP

MOVC_A_PC

MOVX_A_RI

MOVX_A_DP

MOVX_RI_A

MOVX_DP_A

PUSH_DI

POP_DI

XCH_A_RN

XCH_A_DI

XCH_A_RI

XCHD_A_RI

CLR_C

CLR_BIT

SETB_C

SETB_BIT

CPL_C

CPL_BIT

ANL_C_BIT

ANL_C_NBIT

ORL_C_BIT

ORL_C_NBIT

MOV_C_BIT

MOV_BIT_C

JC_C

JNC_C

JB_BIT

JNB_BIT

JBC_BIT

ACALL_FUNC

LCALL_FUNC

RET_FUNC

RETI_FUNC

AJMP_FUNC

SJMP_FUNC

JMP_FUNC

JZ_FUNC

JNZ_FUNC

CJNE_A_DI_REL

CJNE_A_DA_REL

CJNE_RN_DA_REL

CJNE_RI_DA_REL

DJNZ_RN_REL

DJNZ_DI_REL

Test success!

Test finished!

Test over, simulation is OK!


二、测试HELLO项目

1.使用Keil打开HELLO项目,编译出HELLO.hex二进制文件;

2.命令行下进入tools目录执行命令sim.bat HELLO;

3.执行结果:会循环输出Hello World! 

【E465】通过FPGA实现的8051单片机软核处理器

其他测试项目按照相同步骤测试

目录│文件列表:

 └ fpga8051

    ├ .vscode

    │  └ settings.json

    ├ img

    │  └ result.png

    ├ keil_c

    │  │ .gitignore

    │  ├ HELLO

    │  │  │ HELLO.c

    │  │  │ HELLO.uvproj

    │  │  └ STARTUP.A51

    │  ├ HELLO1

    │  │  │ HELLO1.c

    │  │  └ HELLO1.uvproj

    │  ├ HELLO2

    │  │  │ HELLO2.c

    │  │  └ HELLO2.uvproj

    │  ├ LED

    │  │  │ LED.c

    │  │  │ LED.uvproj

    │  │  └ STARTUP.A51

    │  └ TEST

    │     │ arithmetic.c

    │     │ boolean.c

    │     │ instruction.c

    │     │ instruction.h

    │     │ logical.c

    │     │ program.c

    │     │ STARTUP.A51

    │     │ TEST.C

    │     │ TEST.uvproj

    │     └ transfer.c

    ├ rtl

    │  │ instruction.v

    │  └ r8051.v

    ├ sim

    │  └ tb.v

    └ tools

       │ hex2bin.exe

       └ sim.bat

TAGFPGA
  • 3 次
  • 1 分