自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 为春雨哥开源六自由度机械臂逆解算法

六自由度机械臂逆解算法

2023-04-06 21:27:06 523 2

原创 基于FPGA的RISC_V五级流水设计---冒险问题

通过前面的设计,一个RISC_V的雏形就出来了,但是五级流水就会产生数据冒险,需要前递和冒险检测,并且为了提高性能进行分支缩减。前递主要解决当前指令给某个寄存器写入数据,而紧挨着的下二条指令刚好用到了该寄存器,就会导致数据不能正确得到,为了解决此问题我们使用前递单元进行判断,并使用两个数据选择器选择输入给alu的数据,从而解决该问题。冒险检测单元冒险检测单元主要解决若当前指令为ld指令,而下一条指令当好用到了ld指令的目标寄存器,就会发送冒险,此时由于数据并不能通过前递来解决,需要流水线停顿一个时钟周期

2022-07-10 21:12:29 698

原创 基于FPGA的RISC_V五级流水设计(3)

该篇文章主要alu、控制器以及imm扩展单元的设计。alu为cpu的运算单元,执行相关的运算。主要是根据alu控制单元的控制信号,执行相应的运算。control单元设计根据opcode的识别指令类型,给出相应的控制信号,对各个单元进行控制。alu控制单元主要是控制alu进行什么运算,根据alu op和funct3以及指令第三十位进行判断立即扩展单元立即数扩展单元主要是讲12位立即数扩展成32位。扩展格式参考了risv手册cpu中主要的模块就设计到此结束了,下次设计讲给大家讲解分支缩减以及前递等

2022-07-10 21:11:02 494

原创 基于FPGA的RISC_V五级流水设计---存储设计

通过上篇文章对cpu的大致认识,就可以开始RTL设计,这次设计不会细致的讲解,希望大家可以自己看书学习,强烈推荐的一本书。通过计组书的学习,不仅你会理解cpu的架构,也会对系统化的设计有更深层次的认识。本次设计为存储器的设计****端口声明如下时钟采用50Mhz,根据指令将rd1,rd2的数据通过read_data1、read_data2输出,当regwrite为1,表示有数据写入,将数据写入目标寄存器。这里写入数据采用了在时钟下降沿写入,可以有效避免结构冒险刚开始写并没有采用此方法,虽然仿真正确,但

2022-07-10 21:09:42 584

原创 基于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

原创 ubuntu基础操作和vi编辑器的使用

ubuntu常用命令ls命令查看当前目录的所有内容ls 就可以查看当前目录的所有文件ls -a 有些文件属于隐藏文件,而ls -a,就可以查看当前目录所有内容ls --help 可以查看ls指令的所有操作 --help适用于其他指令使用如下2. cd命令切换工作目录,打开目录“/”根目录“-”回到上一级目录“…”回到上一层目录具体操作如下3. pwd命令查看当前路径4. mkdir命令创建目录文件图中可以看到创建了text5. rmdir命令删除空目录

2022-03-15 18:23:29 2943 1

原创 ubuntu20.04使用常见问题解决

## 安装第三方软件问题第三方软件下载完成后,自动打开软件安装商店,但会出现无法安装的问题。首先需要注意的是Ubuntu系统的软件应为.deb格式。排除此问题后只需要打开文件所在文档位置终端,输入以下代码sudo dpkg -i xxx.deb #xxx代表文件名安装Ubuntu后默认启动项问题一般双系统安装完成后,默认启动项为Ubuntu系统,改为win10系统的方法如下打开终端,输入以下代码sudo gedit /etc/default/grub在打开的文件中查找grub_defau

2022-02-22 17:23:36 890

原创 简单的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

原创 基于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

原创 初来乍到,zynq的ps端之hello world

1. 为什么开始博客之旅疫情带来的思考西安疫情,让我从学习生活中慢了下来,呆在宿舍,肆无忌惮的玩了快两周,让我感到了空虚。自己大二开始就想着写写博客,来回顾自己的FPGA之路,但迟迟未行动起来。借此机会开启我的博客之旅。2. zynqps端介绍我们使用的普通fpga和arm的结合构成了zynq开发板,通常fpga部分称为PL端,ARM部分称为PS端。为什么要有ps端,浅谈一下个人理解,随着时代的发展,大数据,算法,智能化等词语出现,这些一般都是软件人员开发,但fpga凭借着有并行处理进行加速,且.

2022-01-06 17:00:08 2109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除