![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
zynq
文章平均质量分 62
记录zynq学习
fpga curry
交流学习
展开
-
基于FPGA的RISC_V五级流水设计---冒险问题
通过前面的设计,一个RISC_V的雏形就出来了,但是五级流水就会产生数据冒险,需要前递和冒险检测,并且为了提高性能进行分支缩减。前递主要解决当前指令给某个寄存器写入数据,而紧挨着的下二条指令刚好用到了该寄存器,就会导致数据不能正确得到,为了解决此问题我们使用前递单元进行判断,并使用两个数据选择器选择输入给alu的数据,从而解决该问题。冒险检测单元冒险检测单元主要解决若当前指令为ld指令,而下一条指令当好用到了ld指令的目标寄存器,就会发送冒险,此时由于数据并不能通过前递来解决,需要流水线停顿一个时钟周期原创 2022-07-10 21:12:29 · 698 阅读 · 0 评论 -
基于FPGA的RISC_V五级流水设计---存储设计
通过上篇文章对cpu的大致认识,就可以开始RTL设计,这次设计不会细致的讲解,希望大家可以自己看书学习,强烈推荐的一本书。通过计组书的学习,不仅你会理解cpu的架构,也会对系统化的设计有更深层次的认识。本次设计为存储器的设计****端口声明如下时钟采用50Mhz,根据指令将rd1,rd2的数据通过read_data1、read_data2输出,当regwrite为1,表示有数据写入,将数据写入目标寄存器。这里写入数据采用了在时钟下降沿写入,可以有效避免结构冒险刚开始写并没有采用此方法,虽然仿真正确,但原创 2022-07-10 21:09:42 · 584 阅读 · 0 评论 -
基于FPGA的RISC_V五级流水设计----初章
RISC_V设计RISC_V是现在非常火的一种新处理器架构,而RISC_V指令系统是开源的,其开源化的发展相比与ARM更加受到人们青睐。我的这次设计参考**计算机组成与设计(Risc_v)**一书.risc_v有32位和64位,有单周期和流水线。我这次设计是32位五级流水。确定指令集系统完整的指令非常多,而我们初学者只需要把每个类型的指令包含即可。大致有R型、I型、S型、SB型、U型、UJ型等。指令格式可以参考上图。指令的操作码参考可以看上图。RISC_V架构单周期的处理器是没有灵魂的,流原创 2022-07-10 21:08:03 · 1303 阅读 · 3 评论 -
简单的EMIO
emio介绍拓展的mio,当想用pl资源,而有不想用AXI时,部分功能就可以用emio接口来实现。这次实验很简单,**按下pl的按键,让ps的led亮,ps的按键,让pl的led亮,**如果前两个实验实现了的话,这个就非常简单。操作流程我们这次在上次的基础上增加两个EMIO即可,打开那个定制的IP,在MIO开头的地方,点击GPIO,勾选EMIO,并且选择位宽,根据自己适当调整,然后点ok。1.1右键然后选择MAKE External1.2点击上面的对号,检查。1.3生成顶层文件1.4打开iop原创 2022-01-11 17:10:41 · 470 阅读 · 0 评论 -
基于zynq的mio控制gpio点亮led
上一篇我们初始了zynq的ps端,本篇我将讲解如何点亮ps端的led灯。这学期我也选修了嵌入式的一门课,刚好是用arm,但是是比较老LP2132系列,虽然学习了一学期,但感觉并非入门,对大体有所了解。下面开始我们这次学习。(c语言中的结构体和指针忘了的伙伴可以查阅相关资料学习)1基本原理讲解首先根据ug585相关gpio的部分示意图如下:从图中可以看到GPIO有四个bank,bank0和bank1需要用MIO接口接到ps端相关引脚,且共54个,bank2和bank3分别32位,可以通过EMIO接口扩原创 2022-01-09 17:49:49 · 838 阅读 · 0 评论 -
初来乍到,zynq的ps端之hello world
1. 为什么开始博客之旅疫情带来的思考西安疫情,让我从学习生活中慢了下来,呆在宿舍,肆无忌惮的玩了快两周,让我感到了空虚。自己大二开始就想着写写博客,来回顾自己的FPGA之路,但迟迟未行动起来。借此机会开启我的博客之旅。2. zynqps端介绍我们使用的普通fpga和arm的结合构成了zynq开发板,通常fpga部分称为PL端,ARM部分称为PS端。为什么要有ps端,浅谈一下个人理解,随着时代的发展,大数据,算法,智能化等词语出现,这些一般都是软件人员开发,但fpga凭借着有并行处理进行加速,且.原创 2022-01-06 17:00:08 · 2109 阅读 · 0 评论