自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于时序分析及约束(1)-时序约束是什么?

简单来讲,时序约束就是你要告诉综合工具,你的标准是什么。综合工具应该如何根据你的标准来布线,以满足所以寄存器的时序要求。常见的时序约束的XDC命令(命令参考UG835)这里引用特权同学书中的话:“为什么要做时序约束?

2023-09-22 13:52:38 372

原创 8b10b 64b/66b/ 究竟是什么作用呢?

总得来说,进行8b/10b编码,是为了提高串行数据传输的可靠性。经过编码后,有如下作用: 1. 根据编码规则,有效避免了长连0和长连1的情况,有了足够多的跳变沿,接收端可以从数据中进行时钟恢复;8b/10b效率较低,目前高速率串行链路会采用更高效率的编码方式。首先,8B-10B的目的是为了直流平衡,其目的在于让频谱图更加的稳定,是一个高通的形式,从而受低频信号干扰小,使得眼图扩大,减小码间串扰。因为CDR(时钟恢复技术)需要信号有足够的变化,才能够更好的将时钟信号提取出来。增加符号位进行校验,以及加扰。

2023-09-22 09:07:59 505

原创 Clock Domain Crossing Design & Verification Techniques Using System Verilog 学习

在图 7 中,aclk 逻辑在传入 ADAT 触发器之前进行稳定和设置。bclk 域。adat 触发器滤除触发器输入上的组合稳定 (a)并将干净的信号传递给 bclk 逻辑。

2023-09-21 21:10:53 361

原创 (Clock Domain Crossing)跨时钟域信号的处理 (自我总结)

异步时序设计指的是在设计中有两个或以上的时钟, 且时钟之间是同频不同相或不同频率的关系。而异步时序设计的关键就是把数据或控制信号正确地进行跨时钟域传输。

2023-09-21 21:10:18 737

原创 2. PCIE TLP解包封包

第二十一讲、PCIE的TLP包的封包解包原理.pdf00 Packet Coding.docx1、 TLP 包是由 PCIE 的 Endpoint 或者 Root Complex 组建发送。2、 TLP 包只包含两种包头长度 3DW 和 4DW(double word is 32bit),数据内可以选择包含和不包含 ECRC 1DW(循环校验字 32bit)绿色:传输层协议浅蓝色:数据链路层协议蓝色:物理层协议紧挨着链路层的绿色部分由红色圈圈出的是用户的 TLP 包, 也就是接下来我们要重点讲解

2023-09-21 21:07:11 405

原创 1. PCIE基础入门知识

GT/s 是"每秒十亿次传输"高速接口:雷电接口(PCIEx4接口 ) PCIE接口工作模式:Endpoint 和 Root Port。。Endpoint 是数据传输的最终目的地或来源,可以发送或接收数据。每个 Endpoint 都有一个唯一的地址,用于标识它在总线上的位置。。Root Port 负责管理总线流量、路由数据以及与 Endpoint 通信。它是连接外部设备和计算机主机的桥梁,负责控制数据的发送和接收。

2023-09-21 21:05:40 2197

原创 高速串行总线设计基础

高速串行总线设计基础(三)SERDES的通用结构介绍-腾讯云开发者社区-腾讯云。

2023-09-21 21:02:50 238

原创 MIT 6.S081 lab学习记录

思路:增加一个系统调用sys_trace,此时我们需要在所有的进程中添加一个mask变量来记录我们需要跟踪的指令,随后在syscall中打印出来。例如在使用fork()系统调用时,会出现对CPU进行分配任务,这种抽象实际上就是避免用户直接对CPU进行操作从而实现隔离。每一个进程在不同的页表中维护,从而实现了不同的程序可能起始地址都是0 不能够存在内存的相互访问。每个进程维护自己的页表,页表定义了内存的布局 将所有的进程与用户进行隔离。/user/user.h : 系统调用以及用户常见的函数的定义。

2023-07-09 16:44:51 184

原创 操作系统接口 MIT 6.828 - 1. Lab 01: Xv6 and Unix utilities

本文会将lab1中的思路以及知识点进行分析,并作为作者学习MIT 6.828的一个学习总结,希望能够帮助到学习该lab的同学们。

2023-07-07 13:43:35 644

原创 出现 fatal: repository ‘https://github.com/dingminhao/ysyx/tree/cpu_pipeline_1/‘ not found

检查自己的密钥是否添加正确并能够正确的ping通。通过ssh对目标仓库进行管理。

2023-07-03 09:53:07 60

原创 01 正点原子FPGA新起点V2

顶层模块input sys_clk , //系统时钟input sys_rst_n //系统复位,低电平有效//ram写使能//ram读使能//ram读写地址//ram写数据//ram读数据//ram读写模块//ram ip核endmoduleram 读写模块逻辑input clk , //时钟信号input rst_n , //复位信号,低电平有效output ram_wr_en , //ram写使能output ram_rd_en , //ram读使能。

2023-05-04 20:44:15 542

原创 27 Cache学习

Cache指的是高速缓存简称缓存,原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。Cache的容量大小一般只有,而这相较于内存存储的几个GB甚至TB的数据来说,Cache的容量是微乎其微的,Cache只能缓存内存的一小部分数据,但是Cache依然能够让处理器取到大部分需要的数据,其中的原理是内存中“

2023-04-28 14:07:01 319

原创 26 CSRRS 与 CSRRW 与 CSRRCriscv指令 Tips

需要注意上述加粗字体,当rs1为 x0,就是当为gpr寄存器为第一个寄存器时,且指令为 CSRRS 或 CSRRC,此时csr中的值不发生改变。2:带立即数的 CSRRS 与 不带立即数的 CSRRSI。3:带立即数的 CSRRC 与 不带立即数的 CSRRC。1:带立即数的 CSRRWI 与 不带立即数的 CSRRW。参考riscv指令集手册第76页。

2023-04-24 18:22:06 756

原创 24 nemu以及npc如何实现device的内存映射以及端口映射

设备也有自己的状态寄存器,也有自己的功能部件,控制设备工作的信号称为"命令字", 可以理解成"设备的指令", 设备的工作就是负责接收命令字, 并进行译码和执行,访问设备 = 读出数据 + 写入数据 + 控制状态.设备与CPU的接口到底是什么?设备的寄存器。

2023-04-21 09:49:05 325

原创 23 中断异常处理

imm_csr_i:为csr类的寄存器isNeedimmCSR_i : 表示是否需要立即数rs1_data_i = rs1寄存器的数据csr_data : csr寄存器的数据csr_op : csr的操作码csr_exe_result : csr的执行结果csr_exe_valid : csr写控制信号。

2023-04-20 09:02:10 219

原创 22 一文学习riscvCPU设计

接下来将所有的模块进行串联在上层接口中只有clk与rst,随后接入PC模块,该模块能够得到PC值。

2023-04-14 21:23:29 163

原创 21 一文学会制作riscvCPU(第四弹)

一文学会制作riscvCPU在本节中将会介绍如何进行alu的实现ALUmodule alu ( /* ALU 端口 */ input [`XLEN-1:0] alu_a_i, input [`XLEN-1:0] alu_b_i, input [`ALUOP_LEN-1:0] alu_op_i, output [`XLEN-1:0] alu_out, //比较指令输出 output compare_out);Input位宽Ou

2023-04-13 16:37:09 167

原创 20 一文学会制作riscvCPU(第三弹)

在上述两篇文章中,我们讲解了译码、取值、执行,在取指令的过程中,当遇到分支指令如何跳转也是很重要的,本文讲解实现指令跳转相关部分。

2023-04-13 14:08:24 61

原创 19 一文学会如何设计属于你自己的CPU riscv (第二弹)

在上述文章中,我们描述了取指令以及解析指令,在进行完解析指令后我们在本节中讲解内存以及执行的概括。

2023-04-13 13:45:28 147

原创 18 Riscv单周期CPU,一文就够 (第一弹)

1、根据opcode发现指令存放的规律,用来位ex_op操作进行分类2、输出立即数时,通过多路选择器将提前解析出来的立即数进行选择3、通过中间线,进行处理信号得到信号的最终输出。

2023-04-13 09:07:42 988

原创 17 设备的输入输出

输入输出在真实的计算机中, 输入输出都是通过访问I/O设备来完成的。我们希望计算机能够控制设备, 让设备做我们想要做的事情, 这一重任毫无悬念地落到了CPU身上. CPU除了进行计算之外, 还需要访问设备, 与其协作来完成不同的任务. 那么在CPU看来, 这些行为究竟意味着什么呢? 具体要从哪里读数据? 把数据写入到哪里? 如何查询/设置设备的状态? 一个最本质的问题是, CPU和设备之间的接口, 究竟是什么?设备通过寄存器实现对设备的控制,CPU通过端口号实现端口映射后,能够对设备寄存器进行访问

2023-04-11 19:53:19 190

原创 16 PA3知识总结

当计算机执行完一条指令的时候, 就自动执行下一条指令. 类似的, 我们能不能让管理员事先准备好一组程序, 让计算机执行完一个程序之后, 就自动执行下一个程序呢?

2023-04-11 15:11:05 527

原创 15 CSR地址映射

标准RISC-V ISA为多达4096个的CSRs预留了一个12bit地编码空间(csr[11:0])。按照协定,CSR地址的高4bits(csr[11:0])用于编码CSRs在各个权级上的可读写性,见Table 2.1。最高2bit(csr[11:0])用于编码该寄存器是可读写(00,01或10)还是只读(11)。接下来的2bit(csr[9:8])编码了允许访问该CSR的最低权级。

2023-04-07 13:49:21 201

原创 14 CF与OF的判断

十进制角度,如果两无符号数相减,减数大于被减数(也即结果不在0—2^n-1内),则CF=1,否则CF=0;十进制角度,如果两无符号数相加,结果大于2^n-1(n为位数),则CF=1,否则CF=0;二进制角度,如果两个数异号,而相减结果与被减数符号相反,则OF=1,否则OF=0。二进制角度,如果两有符号数同号,而相加结果与之异号,则OF=1,否则OF=0。二进制角度,如果两无符号数相加,最高位向前有进位,则CF=1,否则CF=0。二进制角度,如果两无符号数相减,最高位向前游借位,则CF=1,否则CF=0。

2023-04-04 21:41:25 2964

原创 12 一个单周期riscvCPU

本人在linux环境下,利用verilator进行仿真。

2023-04-01 20:25:59 627

原创 11 学习跟我一起写makefile

在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而不至于把所有的东西全部写在一个Makefile中,这样会很难维护我们的Makefile,这个技术对于我们模块编译和分段编译有着非常大的好处。在一些大的工程中,有大量的源文件,我们通常的做法是把这许多的源文件分类,并存放在不同的目录中。如果 的单词个数要比 的多,那么, 中的多出来的单词将保持原样。

2023-03-26 19:25:02 87

原创 ELF文件C语言解析

sh_entsize:有些section保存一个固定大小的表,比如符号表。为section的总类:包括:SHT_NULL、SHT_PROGBITS、SHT_STRTAB、SHT_SYMTAB等,我们发现我们可以通过这个遍历这个参数得到我们要的表头,我们这里不讨论程序头表,讨论section头表,section头表的初始位置以及每个表元素的大小以及个数在ELF_enhd结构体中都存在,可以解析出来。sh_offeset: 该成员的值保存了从文件开始到section中第一个字节的字节偏移量。

2023-03-26 10:46:08 737

原创 10 指令环形缓冲区

环形缓冲区(ring buffer)也称作(cyclic buffer)、圆形队列(circular queue)、圆形缓冲区(circular buffer)。环形缓冲区并不是指物理意义上的一个首尾相连成“环”的缓冲区,而是逻辑意义上的一个环,因为内存空间是线性结构,所以实际上环形缓冲区仍是一段有长度的内存空间,是一个,具备实现通信进程对该缓冲区的互斥访问功能。Step1:创建一个长度为Len(环形缓冲区大小)的容器Steo2:创建一个读指针Read_p与写指针Write_p,写指针写入的地址为。

2023-03-26 09:37:58 143

原创 09 sprintf、printf函数的源码

sprintf、printf函数的源码

2023-03-24 09:40:34 1016

原创 08 动手实现CPU-基于riscv指令集学习记录 单周期CPU

本人无计算机组成原理的知识,刚学习一生一芯B线的实现单周期CPU。本人推荐如下学习路线:北京大学 MOOC 计算机组成 B站也可以搜到讲的很好一生一芯单周期CPU视频资料:https://www.bilibili.com/video/BV1Pd4y1c7DA/?南京大学计算机组成与数字电路资料:根据南京大学数电实验十实现ALU。

2023-03-21 22:01:09 317

原创 07 Risv 指令集

不同的立即数提取的方式不同,需要通过位运算实现立即数的拼接。SEXT函数的作用,能够进行符号拓展,所有的立即数都通过immI、immU、immS、immB、immJ进行了符号拓展。;uint64_t;上述函数的意思就是通过定义结构体实现符号拓展1ull<<1>>BITMASK1BITS函数能够实现对指定位的提取。

2023-03-20 21:21:47 1066

原创 06 PA1:学习记录

在现代计算机体系结构中,寄存器是一个至关重要的组成部分,因为它们存储CPU中需要处理的数据和指令。因此,在现代计算机中,寄存器是必不可少的。寄存器是CPU内部的存储单元,它们通常比其他存储器(如内存)更快速。寄存器存储CPU正在处理的数据和指令,这些数据和指令用于执行算术、逻辑和控制操作。CPU需要快速地读取和写入这些寄存器中的数据,以便能够快速地处理指令和数据。虽然理论上,计算机可以没有寄存器,但是在现代计算机中,它们是必不可少的。

2023-03-17 15:02:38 1115

原创 04 verilator仿真生成.vcd波形文件并利用gtkwave查看波形

verilator仿真生成.vcd波形文件并利用gtkwave:查看波形

2023-03-06 19:27:07 1397

原创 03 安装VERILATOR并仿真实现双控开关 ysyx

安装VERILATOR并仿真实现双控开关

2023-03-06 17:36:18 645

原创 02 Linux安装SSH 并在github设置添加SSH

Linux安装SSH并在github设置添加SSH

2023-03-06 14:26:08 513

原创 01 Linux环境配置 一生一芯

Linux环境配置 ysyx

2023-03-06 11:40:26 268

原创 C++ Premier 第五版 第一章思维导图.md

C++ Premier 第五版 第一章思维导图

2023-02-20 11:37:04 52

原创 电赛元器件清单多年总结及分析

2019元器件清单2021元器件清单一、仪器设备清单数字示波器(100MHz,双通道)函数发生器(50 MHz,双通道)任意波信号发生器(1MHz)频谱分析仪(1GHz)频率计(500MHz)功率分析仪数字毫伏表以太网交换机(通用4~24端口百兆/千兆)网线通断测试仪单片机开发系统、FPGA 开发系统、DSP 开发系统、嵌入式开发系统秒表、量角器、5米卷尺、关节角度测量尺二、主要元器件及材料清单三脚架四旋翼飞行器(最大轴距不超过450mm)电动小车(外形尺寸:长度≤2

2021-07-27 15:28:52 2842

原创 python 异常处理

python 异常处理try/except语句用来检测try语句块中的错误,从而让excepy语句捕获异常信息并处理try: fh = open("/home/aistudio/data/testfile01.txt","w") fh.write("这是一个测试文件,用于测试异常!")except IOError: print('Error:没有找到文件或读取文件失败')else: print('内容写入文件成功') fh.close()finally:

2021-07-12 15:45:42 35

原创 Python看了这篇文章,你一学就会

深度学习实践AI Studio实践平台深度学习离不开数学分析(高等数学)、线性代数、概率论等知识,更离不开以编程为核心的动手实践。飞桨平台 AI StudioPython进阶语法Python数据结构math库import mathprint(math.ceil(4.1)) ##向上取整print(math.floor(4.9))#返回数字向下取整print(math.fabs(-10)) #返回数字的绝对值print(math.sqrt(9)) #返回数字的平方根print(m

2021-07-12 15:06:54 133

空空如也

空空如也

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

TA关注的人

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