您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 《趣味FPGA》.pdf
  所属分类: Hadoop
  开发工具:
  文件大小: 3mb
  下载次数: 0
  上传时间: 2019-07-15
  提 供 者: abcde*****
 详细说明:入门级FPGA学习材料,简单明了,易学易会!了解FPGA从这本书开始主界而 菜单栏 58 工具栏 编辑/调试区… 控制台 ⅹ语言-流水灯…… y语言-程序示例 着自着非非着着看音着自着着 28 mcu综合应用 非着着着·着着·着着 75 游戏简介 硬件框架… 76 自制手柄按键映射……… 软件框架 看自 78 VGA显示区域布局 六、按键底层逻辑( ver i log 七、按键上层程序(y语言) 八、vga底层逻辑( ver i log)… 82 九 ram底层逻辑( ver i log 85 vram总线映射( ver i log)…… 88 小游戏欤件编写《y语言 89 指令编译原理. ,100 前言 2014年从兰州大学微电子专业毕业,转眼已经工作5年 了,这5年期间从事过硬件/射频、无线通信-数字信号处理, 图像/视频处理等工作,其核心工作一直围绕着FPGA,工作 之余的时间也大多花在学习新技术上,回顾一下自己的职业 经历诸多感慨。 这段时间离职了,在没确定新工作之前,我打算花点时间 写点技术博文,一是给自己杂乱的知识积累做个梳理,二是 给新入门FPGA行业的同学一份精美的学习资料。 博文系列不会有太多基础的解说,对于基础薄弱的同学推 荐看看高亚军的FPGA教学视频,罗华飞的《 MATLAB GU|设 计学习手记》 《趣味FPGA》涵盖AⅠ算法加速、图像处理、CPU设计 编程语言创建、编译器设计、上位机设计等。博文内容来源 于自己杂乱的知识积累,绝大部分和工作经历无关,因为自 己知识的局限性,有错误的地方还请大牛们指教 我对技术非常有热情,也以从事技术工作为乐趣,如果你 是和我相同类型的人,可以邮件联系我,希望能交到更多相 似的朋友。 《趣味FPGA》系列博文在不断更新中,最新文章会更新 在我的新浪博客中,更多信息可以百度《趣味FPGA》查看。 转载《趣味FPGA》的同学请保持文档、配套代码的完整性 xmcu硬件设计 xmcu简介 xmcu是一个简单的微控制器,由cpu、ram、rom、bus、 uart几个部分组成,其它外设可以挂载到bus模块下面,cpu 可以直接寻址操控bus。mcu包含了一个8位的精简指令集 cpu,指令集完全自定义,无任何其它借鉴, Xmcu框图如下 uar t am cpu r om Us Per ipheral-1 Per i pheraI-2 Per i phera Per i pheral-n uart:串口通信单元。 rom:程序存储内存。 ram:程序运行内存。 cpu:中央处理器。 bus:cpu总线单元。 per i l:DDR、网口、摄像头、USB、 FLASH、SD等外设。 pu架构 cpu由 fetch、 decode、 execute、alu、 timer、 debug几 个模块组成,框图如下: ebug fetch decode excute timer fetch:取指模块,rom指令预取、 debug指令处理。 decode:指令译码模块 exude:指令执行模块。 alu:算数逻辑运算模抉。 timer:定时器模块。 debυg:调试模抉,实现rom下载,rom读取,代码调试等功能。 三、cpu流水线 cpu流水线分割为:取指->译码→执行->写入4个步 骤,译码-〉执行-〉写入这3个环节都为单周期执行,取指 环节増加debυg逻辑单元电路,为了不降低cu时钟频羍,取指 做了多级流水线分割处理。 取址(红色部分)-〉译码->执行->写入。 timer state - fetch en - rom ren - rom data - inst data - decode - excute - data back 跳转、延时等操作,需要清空cpu流水线 跳转指令需要6个空指令清空部分流水线。 延时指令需要8个空指令清空全部流水线。 四、cpu寄存器 在cpu内部有8个特殊寄存器,用于实现特定的功能。 A、B、C、D:通用寄存器,8bit宽度 PC:程序计数器,24bit宽度。 Timer:定时器,24bit宽度。 RT:ram读数据返回寄存器,8bit宽度。 BT:bus读数据返回寄存器,8bit宽度。 五、cpu指令集 cpu一共规划了40条指令,所有指令都是单周期执行。 inst 命令说明 0空指令 1写A寄存器,数据为rom数据x 2写B寄存器,数据为rom数据x。 3写C寄存器,数据为rom数据x。 4写D寄存器,数据为rom数据x 5写A寄存器,数据为RT寄存器值。 6写B寄存器,数据为RT寄存器值。 7写0寄存器,数据为RT寄存器值。 8写D寄存器,数据为RT寄存器值。 9写A寄存器,数据为BT寄存器值。 10写B寄存器,数据为BT寄存器值。 11写0寄存器,数据为BT寄存器值 12写D寄存器,数据为BT寄存器值。 13如果寄存器D等于0,则把A,B,C写入PC寄存器。 14把{A,B,0写入 Timer寄存器。 15把A、B写入au。执行A+B。 16把A、B写入alu。执行A-B。 17把A、B写入a|u。执行A*B。 18把A、B写入alu。执行A>B。 19把A、B写入a|u。执行A=B。 20把A、B写入au。执行A&&B。 21把A、B写入a|u。执行A&B。 22把A、B写入a{u。执行A‖|B。 23把A、B写入alu。执行A|B。 24把A、B写入a|u。执行A>B。 26写bus,地址为D寄存器,数据为A寄存器值。 27读bus,地址为D寄存器,数据写入BT寄存器。 28读ram,地址为D寄存器,数据写入RT寄存器。 29写ram,地址为D寄存器,数据为A寄存器值 30写ram,地址为D寄存器,数据为B寄存器值 31写ram,地址为D寄存器,数据为C寄存器值。 32写ram,地址为D寄存器,数据为a|uout08]。 33写ram,地址为D寄存器,数据为a|u_outo[7:0]。 34写ram,地址为D寄存器,数据为 a lu out1[15:8]。 35写ram,地址为D寄存器,数据为 alu out1[7:0]。 36写ram,地址为D寄存器,数据为a|uout2。 37写ram,地址为D寄存器,数据为auou3。 38写ram,地址为D寄存器,数据为 alu out4。 39把数据[A,B]发送到串口。 六、cpu调试单元 xmcu包含一个调试单元,调试单元充当JTAG的功能,实现 rom下载、rom读取、在线指令调试,cpu状态回读等功能,除 去cpu可执行的40条指令,还有几条调试指令。 调试指令(串口发送)如下表所示,“…”表示数据随意填充: 命令数据 说明 进入工作模式(执行rom程序) 1指令数据进入调试模式(暂停rom程序执行) rom地址清零(需要进入调试模式) rom数据清零(需要进入调试模式) 4 读rom操作(需要进入调试模式) 5rom数据写rom操作(需要进入调试模式) 读取A寄存器值 读取B寄存器值 读取寄存器值 9 读取D寄存器值 调试指令(串口接收)如下表所示“…”表示数据随意填充: 命令 数据 说明 0 清空缓存数据 发送缓存数据到控制台 调试数据调试数据返回,数据格式为ASCl码 调武数据调试数据返回,数据格式为GBK码高位 4调试数据调试数据返回,数据格式为GBK码低位 调试数据调试数据返回,数据格式为10进制数据 567 A寄存器返回值 B寄存器返回值
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 《趣味FPGA》.pdf
 输入关键字,在本站1000多万海量源码库中尽情搜索: