2021-08-23 07:50:45 索煒達(dá)電子 829
項(xiàng)目編號:E465
文件大?。?03K
源碼說明:帶中文注釋
開發(fā)環(huán)境:Verilog
通過FPGA實(shí)現(xiàn)的8051單片機(jī)軟核處理器,并能夠仿真使用Keil編寫并生成的二進(jìn)制文件。
安裝教程
安裝iverilog
安裝Keil5
使用說明
一、測試指令
使用Keil打開TEST項(xiàng)目,編譯出TEST.hex二進(jìn)制文件;
命令行下進(jìn)入tools目錄執(zhí)行命令sim.bat TEST;
執(zhí)行結(jié)果
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項(xiàng)目
1.使用Keil打開HELLO項(xiàng)目,編譯出HELLO.hex二進(jìn)制文件;
2.命令行下進(jìn)入tools目錄執(zhí)行命令sim.bat HELLO;
3.執(zhí)行結(jié)果:會(huì)循環(huán)輸出Hello World!
其他測試項(xiàng)目按照相同步驟測試
目錄│文件列表:
└ 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