目录
前言 ........................................................................................................................................... 4
xmcu 硬件设计 .......................................................................................................................... 5
一、 xmcu 简介 ................................................................................................................... 5
二、 cpu 架构 ..................................................................................................................... 6
三、 cpu 流水线 ................................................................................................................. 6
四、 cpu 寄存器 ................................................................................................................. 7
五、 cpu 指令集 ................................................................................................................. 7
六、 cpu 调试单元 ............................................................................................................. 9
七、 cpu 串口通信协议 ................................................................................................... 11
八、 uart 模块解说 ......................................................................................................... 11
九、 rom、ram 模块解说 ................................................................................................. 22
十、 bus 模块解说 ........................................................................................................... 23
十一、 timer 模块解说 ................................................................................................... 25
十二、 alu 模块解说 ....................................................................................................... 25
十三、 fetch 模块解说 ................................................................................................... 28
十四、 decode 模块解说 ................................................................................................. 31
十五、 excute 模块解说 ................................................................................................. 34
十六、 debug 模块解说 ................................................................................................... 41
机器语言 ................................................................................................................................. 45
一、 机器语言 .................................................................................................................. 45
二、 机器语言示例 .......................................................................................................... 47
x 语言 ...................................................................................................................................... 48
一、 x 语言 ....................................................................................................................... 48
二、 x 语言示例 ............................................................................................................... 50
y 语言 ...................................................................................................................................... 51
一、 y 语言 ....................................................................................................................... 51
二、 y 语言示例 ............................................................................................................... 56
三、 语言对比 .................................................................................................................. 56
xmcu 开发工具 ........................................................................................................................ 56
一、 主界面 ...................................................................................................................... 57
二、 菜单栏 ...................................................................................................................... 58
三、 工具栏 ...................................................................................................................... 60
四、 编辑/调试区 ............................................................................................................ 61
五、 控制台 ...................................................................................................................... 62
x 语言-流水灯 ........................................................................................................................ 62
y 语言-程序示例 .................................................................................................................... 68
xmcu 综合应用 ........................................................................................................................ 75
一、 游戏简介 .................................................................................................................. 75
二、 硬件框架 .................................................................................................................. 76
三、 自制手柄按键映射 .................................................................................................. 77
四、 软件框架 .................................................................................................................. 78
五、 VGA 显示区域布局 ................................................................................................... 78
六、 按键底层逻辑(verilog) ........................................................................................ 79
七、 按键上层程序(y 语言) ........................................................................................... 81
八、 vga 底层逻辑(verilog) ......................................................................................... 82
九、 vram 底层逻辑(verilog) ....................................................................................... 85
十、 vram 总线映射(verilog) ....................................................................................... 88
十一、 小游戏软件编写(y 语言) ................................................................................... 89
指令编译原理 ....................................................................................................................... 100
前言
2014 年从兰州大学微电子专业毕业,转眼已经工作 5 年
了,这 5 年期间从事过硬件/射频、无线通信-数字信号处理,
图像/视频处理等工作,其核心工作一直围绕着 FPGA,工作
之余的时间也大多花在学习新技术上,回顾一下自己的职业
经历诸多感慨。
这段时间离职了,在没确定新工作之前,我打算花点时间
写点技术博文,一是给自己杂乱的知识积累做个梳理,二是
给新入门 FPGA 行业的同学一份精美的学习资料。
博文系列不会有太多基础的解说,对于基础薄弱的同学推
荐看看高亚军的 FPGA 教学视频,罗华飞的《MATLAB GUI 设
计学习手记》。
《趣味 FPGA》涵盖 AI 算法加速、图像处理、CPU 设计、
编程语言创建、编译器设计、上位机设计等。博文内容来源
于自己杂乱的知识积累,绝大部分和工作经历无关,因为自
己知识的局限性,有错误的地方还请大牛们指教。
我对技术非常有热情,也以从事技术工作为乐趣,如果你
是和我相同类型的人,可以邮件联系我,希望能交到更多相
似的朋友。
《趣味 FPGA》系列博文在不断更新中,最新文章会更新
在我的新浪博客中,更多信息可以百度《趣味 FPGA》查看。
转载《趣味 FPGA》的同学请保持文档、配套代码的完整性。
xmcu 硬件设计
一、 xmcu 简介
xmcu 是一个简单的微控制器,由 cpu、ram、rom、bus、
uart 几个部分组成,其它外设可以挂载到 bus 模块下面,cpu
可以直接寻址操控 bus。xmcu 包含了一个 8 位的精简指令集
cpu,指令集完全自定义,无任何其它借鉴。
xmcu 框图如下:
cpu
uart
rom
bus
Peripheral-1
ram
Peripheral-2 Peripheral…… Peripheral-n
uart:串口通信单元。
rom:程序存储内存。
ram:程序运行内存。
cpu:中央处理器。
bus:cpu 总线单元。
peripheral:DDR、网口、摄像头、USB、FLASH、SD 等外设。