在友晶DE10-Lite开发板实现8051单片机

在友晶DE10-Lite开发板实现8051单片机

1. 移植过程

利用FPGA片内资源构建51系统。软核来自https://www.oreganosystems.at/。还需要添加rom、ram和ramx。rom用来放51单片机的程序,即编译后的.hex文件。ram用来运行51单片机程序。时钟由PLL IP生成20MHz的时钟信号。分配管脚,编译配置FPGA的.sof文件。

 

 

 

(1) 修改Quartus工程的器件

针对DE10-lite,需要把FPGA型号修改成MAX10 10 10M50DAF484C7G.

(2) 更新IP

romramramxPLL的器件都修改成MAX10.

 

 

 

注意,修改rom时,要指定一下.hex的文件。

PLLlocked信号,在代码里没有,这里可以根据需要,重新生成一次pll时钟信号。

(3) 修改.v文件

参考设计里的rst和点亮数码管都是高有效,这里要处理成低有效。

wire [7:0] seg;

assign digit_seg=~seg;

把信号先翻转一次。

mc8051_top mc8051_top_inst(

.clk(Clk20M),       

.reset(~button[0]), //mc8051高电平复位

(4) 分配管脚

根据情况,分配管脚,没有用到的信号,要设置成virtual pin,可以在assignments > assignment editor里设置。主要用到了按键,拨动开关,ledhex0,注意数码管的段序不同。

 

 

 

最后,编译,生成sof,移植就完成了。

2. 验证移植结果

安装编译工具sdcc,进入example目录,运行make.bat,生成.hex文件。然后配置FPGA,运行C程序。打开8051工程,Tools-In-system memory content editor,连接开发板,指定接口,器件,选择前面的sof文件,配置好,再导入生成的之前hex文件,写入。就可以看到流水灯和数码管循环计数。移植成功。

实验结果视频展示

8051移植到DE10-litehttps://www.bilibili.com/video/BV1YD421V7BE/?share_source=copy_web&vd_source=68c33dfb

807678d785a70ba1e19f297a

 

参考文献

https://mp.weixin.qq.com/s/UylS0KPbSxymiY-um69diA

posted on 2024-05-20 15:34  yf.x  阅读(47)  评论(0编辑  收藏  举报

导航