- 博客(18)
- 收藏
- 关注
原创 GIT小白-用SSH key的方式git clone
个人账户上初次运行GIT首先需要在本地安装gitlabmac和linux系统安装方法mac和linux需要先安装Homebrew,再利用Homebrew下载gitlab本地插件Homebrew下载 https://www.cnblogs.com/haojile/p/13193805.html下载完成之后利用如下命令号完成gitlab的下载brew install git$ git config --global user.name "aaa"$ git config --gl
2021-04-10 11:18:23
932
1
原创 MacVim配置mvim
前言:在macOS里我也想愉快地使用VIM,比如想像Linux一样用gvim打开窗口,如何配置一个指令,来打开macvim的窗口界面呢?安装建议直接从该链接下载VIM,MacVim下载。解压出两个文件:macvim.app和mvim将macvim.app 拷入app 将mvim 拷入:$sudo cp -f mvim /usr/bin/下Mac权限问题你在操作上面第二步的时候可能会遇到问题:operation not permitted。这是因为一些mac用户在升级系统之后,电脑
2021-03-26 17:14:50
606
原创 数字芯片设计——出窗
前言:在图像处理和AI算法领域,由于经常需要与卷积核进行卷积运算,所以需要对串行数据进行出窗处理,比如对输入信号进行缓存,之后输出一个N*N大小的窗口,本文主要讲解缓存出窗的常用思路。需求对串行输入数据进行缓存,并输出一个5*5的窗口,其中与上下级交互以握手的形式。输入8bit串行数据data 数据有效使能信号valid_i 图像行像素数width 图像列像素数height 下级握手信号ready_i 时钟clk 复位rst_n 模块开启信号start输出...
2021-03-25 20:09:05
342
转载 【转载】AXI多事物传输与顺序
前言:本来想自己翻译AXI4总线协议,但是已有人做过了,所以对已有AXI总线翻译进行总结,以便后续温故。原文链接:深入 AXI4 总线(五A)单机多传输事务场景 深入 AXI4 总线(五B)多主机传输事务场景文章重点:outstanding:AXI协议中,有5个信号,2个读相关信号,3个写相关信号。以读为例,正常是一次传输过程(transfer)未完成,不能进行下一次读取操作。但是为了提高效率,AXI4提供多传输事务场景,也就是可以不等待一次transfer完成就发起下面N-1次,...
2021-03-24 20:34:13
737
转载 【转载】Cache的基本原理
前言:转载的同时为了记录一下学习笔记,以便后续温故。原文链接:Cache的基本原理文章结构:以一段C语言代码引出问题——数据是以行(line cache)的形式存储的。 cpu寄存器读写访问速度快,主存储访问速度慢,中间加cache,作为缓存。 增加多级缓存,增加“命中”概率,让整体读取时间减少,每一级读取时间更平滑。 直接映射缓存,index是组寻址(行),offset是cache line上的字节寻址(列),把去除地址信息的数据放在tag array里,这个也属于cache的一部分,t
2021-03-24 16:35:27
402
转载 【转载】AXI4的传输事物结构(transaction structure)
前言:本来想自己写这一部分,但是发现网上已经有人详细写过了,那么我就转载两篇,以供自己或者大家未来学习与温故。AXI4的传输事物结构 关于AHB总线回环突发 wrap burst模式地址的理解 ---------------------------------------------END------------------------------------------------...
2021-03-23 16:36:53
156
原创 AXI4 协议理解(1)——读写握手
前言:AXI4是ARM公司的一种总线协议,现今无论FPGA还是数字芯片设计,基本都运用AXI或者基于AXI基础上开发IP核。本文通过阅读AMBA® AXI™ and ACE™ Protocolspecification,提出一些基于自我理解的重点内容,以供大家学习与交流。本文主要讲解读写握手。握手时序这个在我之前的文章也有讲过,valid-ready握手方式有三种,各自提前和同时拉起,如下图所示:握手依赖关系valid信号不能依赖ready,也就是不能等待ready信号拉高之后再拉高;.
2021-03-22 18:15:59
1415
1
原创 数字芯片设计——握手与反压
前言:在芯片设计或者FPGA设计过程中,流水设计是经常用到的,但是考虑数据安全性,需要与前后级模块进行握手通信,这时候就需要对流水数据进行反压处理,本文将具体介绍握手与反压。目录握手协议握手与反压反压不带存储体的反压举个例子——字节的问题分析与代码带存储体的反压逐级反压与跨级反压握手协议本文讲述valid-ready握手,下面列出三种握手情况,目的是解释清楚握手的时序。valid先发起请求ready先发起请求同时发起请求分析仔细观察上.
2021-03-19 16:09:58
9757
12
原创 《Clock Domain Crossing》 翻译与理解(6)跨时钟域的命名规则与设计分割
本系列将对sunburst design网站的2008最佳文章《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》进行翻译和基于自我理解的分析阐述,本文介绍多信号跨时钟域传输。时钟与信号命名当一个整体设计中包含较多时钟时,推荐在信号命名时体现其时钟域。例如uclk代表微处理器时钟,vclk代表视频处理时钟,dclk代表显示模块时钟,那么在命名信号时,可以在微处理器模块命名:uadd
2021-03-18 11:49:04
637
原创 《Clock Domain Crossing》 翻译与理解(5)多信号跨时钟域传输
本系列将对sunburst design网站的2008最佳文章《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》进行翻译和基于自我理解的分析阐述,本文介绍多信号跨时钟域传输。多信号跨时钟域传输多信号传输和多比特数据跨时钟域传输是不完全相同的,多信号通常指的是多个单比特控制或使能信号,跨时钟域后对某个寄存器或者触发器进行控制,当然本文介绍的传输方法也适用于多比特数据跨时钟域传输。
2021-03-17 19:51:13
3169
8
原创 《Clock Domain Crossing》 翻译与理解(4)快时钟到慢时钟数据传输
本系列将对sunburst design网站的2008最佳文章《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》进行翻译和基于自我理解的分析阐述,本文介绍快满时钟数据传输问题。慢时钟到快时钟慢时钟数据传递到快时钟域时,由于采样时钟速率更高,所以一般慢时钟域的数据都会被采集到,不会出现问题。前提是慢时钟域是快时钟域时钟的1.5倍,也就是数据保持足够的时间,具体原因后面会进行分析。
2021-03-16 20:53:13
1194
原创 《Clock Domain Crossing》 翻译与理解(3)寄存器处理输出端口
前言:本系列将对sunburst design网站的2008最佳文章《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》进行翻译和基于自我理解的分析阐述,本文主要介绍寄存器输出端口在跨时钟域时的处理。发射时钟域的信号同步问题:在跨时钟域时,在发射时钟域输出的信号,是否需要通过寄存器输出?答案:建议在跨时钟域时,输出信号以寄存器形式输出,而不是组合电路直接输出,原因如下图所示:
2021-03-16 20:03:25
469
原创 《Clock Domain Crossing》 翻译与理解(2)打两拍
前言:本系列将对sunburst design网站的2008最佳文章《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》进行翻译和基于自我理解的分析阐述,本文将介绍打两拍同步器。同步器“同步器是一种对异步信号进行采样并输出与跳变同步到本地或采样时钟的信号版本的设备。”数据同步时分两种情况:允许偶尔采集到错误数据 必须每一个采集到的信号都是正确的情况1对应的比如异步FIF
2021-03-16 11:08:49
1071
原创 《Clock Domain Crossing》 翻译与理解(1)亚稳态
前言:本系列将对sunburst design网站的2008最佳文章《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》进行翻译和基于自我理解的分析阐述,本文先介绍亚稳态。亚稳态亚稳性是指在设计的正常操作过程中的某个时间段内,在某些时间段内未呈现稳定的0或1状态的信号。 在多时钟设计中,无法避免亚稳性,但是可以抵消亚稳性的不利影响。在静态时序分析时我们经常提到建立时间和保持
2021-03-15 17:59:36
589
原创 数字芯片设计中的面积优化方法
数字芯片设计工程师在设计的时候要考虑三个方面,PPA,即Performance、Power和Area。本文讲解在实际项目中,如何对前端面积进行有效优化。
2021-03-15 16:54:41
3823
2
原创 数字芯片设计面试问题——异步FIFO的本质和外延
前言:异步FIFO之所以成为数字芯片设计工程师或者FPGA设计工程师的面试必考问题,在于其设计思想包含了较丰富的跨时钟同步的概念,其中有单比特跨时钟打两拍思想、多比特数据跨时钟和格雷码转换等思想。本文章不仅分析异步FIFO的根本设计原理,同时会根据字节跳动面试的一道问题进行展开,来探讨异步FIFO的本质和外延。字节跳动问题对于1个异步FIFO,如果写时钟频率是读时钟频率的100倍,是否会出现风险?分析既然这样问了,那肯定是有风险的。但是风险在哪里呢?FIFO的IP核在用户手册上也没看到对于使
2021-03-15 10:53:21
3825
4
原创 静态时序分析(原理最清晰版本)
前言:看了非常多静态时序分析的博客和文章,觉得大部分是云里雾里,很多人在照本宣科,所以我决定完全用自己的理解,用人话来写一篇,静态分析的原理是什么。定义:摘录自维基百科建立时间(setup time):Setup timeis defined as the minimum amount oftimeBEFORE the clock's active edge by which the data must be stable for it to be latched correctly....
2021-03-12 19:14:09
5660
6
原创 CSIG基础研究岗腾讯面试经验
觉得有必要把所学进行整理,但是第一篇还不知道写什么。那就写最近刚找到的实习吧。我的研究方向主要是基于FPGA的,所以未来可能写verilog的学习心得为主,主要给自己看。腾讯报了提前批,开始报了C++的后台开发,但是和面试官聊明显不太对口,并且自己没有任何准备。但是聊的很开心,面试官对我能力也认可,之后就说为我推荐匹配度高的其他部门。过了两周不到被发起面试,也不知道基础研究是做什么的,但是面...
2019-04-09 10:51:58
3082
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人