- 博客(32)
- 资源 (13)
- 收藏
- 关注
原创 AMBA总线协议之一【AHB总线协议】
本文主要基于最新的AMBA 5 AHB协议规范做解析并根据真实使用经历列举仿真介绍。AMBA AHB是一个适用于高性能综合设计的总线接口。它定义了组件之间的接口,如主组件、互连组件和从组件。最常见的AHB从设备是内部memory设备、外部memory接口和高带宽外设。尽管低带宽外设可以作为AHB从设备,但出于系统性能的原因,它们通常驻留在AMBA高级外设总线(APB)上。高性能AHB和APB之间的桥接使用AHB从机完成,称为APB桥接。
2023-07-20 10:12:15 432 1
原创 Linux磁盘IO读写速度检测
测试磁盘读写速度有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.我一般经常用dd命令来做测试。这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.另外由于这是一个免费软件,基本上×NIX系统上都有安装,对于Oracle裸设备的复制迁移,dd工具一般都是首选.在使用前首先了解两个特殊设备:/dev/null 伪设备,回收
2022-04-08 11:05:20 932
原创 可乐学习NVMe之四:粗茶淡饭NameSpace
1. 基本概念 从前文中我们知道,一个NVMe SSD系统主要分三个部分,SSD Controller、闪存空间、PCIe接口。一个NVMe Subsystem通常被称为SSD。 如果把闪存空间划分成若干个独立的逻辑空间,每个空间逻辑块地址(LBA)范围是0到N-1 (N是逻辑空间大小),这样划分出来的每一个逻辑空间我们就叫做NS。对SATA SSD来说,一个闪存空间只对应着一个逻辑空间,与之不同的是,NVMe SSD可以是一个闪存空间对应多个逻辑空间。 每个NS都有一个名称与ID,ID是独一无
2022-04-07 11:31:41 5883
原创 可乐学习NVMe之三:解读PRP/SGL
前两个章节结束了总体框架和命令分析。可乐学习NVMe之一:为什么SSD需要NVMe可乐学习NVMe之二:细品SQ/CQ/DB接下来我们继续看NVMe的另外一个世界:数据寻址方式即我是data, 我从Host来,要到SSD去,或者我从SSD来,要去到Host中去。Host --> SSD Write Data:Host如果想往SSD上写入用户数据,需要告诉SSD写入什么数据,写入多少数据,以及数据源在内存中的什么位置,这些信息包含在Host向SSD发送的Write命令中。每笔用户数据对应着
2022-04-06 17:06:52 6231 4
原创 可乐学习NVMe之二:三只熊SQ/CQ/DB
上回书说道,NVMe有三宝:SQ,CQ和DB。接下来我们就详细分析这三个指令。Host往SQ中写入命令, SSD往CQ中写入命令完成结果。SQ与CQ的关系,可以是一对一的关系,也可以是多对一的关系,但不管怎样,他们是成对的:有因就有果,有SQ就必然有CQ。有两种SQ和CQ,一种是Admin,另外一种是I/O,前者放Admin命令,用以Host管理控制SSD,后者放置I/O命令,用以Host与SSD之间传输数据。Admin SQ/CQ 和I/O SQ/CQ各司其职,你不能把Admin命令放到I/O SQ
2022-04-06 14:39:02 4310 1
原创 可乐学习NVMe之一:为什么SSD需要NVMe
1. NVMe SSD 结构简图整体来看,NVMe SSD可以分为三部分,host端的驱动NVMe Driver、PCIe+NVMe实现的控制器以及NAND Flash+DDR4/DDR5存储介质。芯片回片后Host侧软件或者驱动开发主要在应用层,通过一些测试工具进行benchmark跑分测试,performance性能分析,latency分析、stress-testing等等:那么,接下来阐述为什么SSD需要NVMe,并再后续的文章介绍NVMe协议分析,个人针对协议的理解,如果有不当之处,还请各
2022-04-06 10:42:21 2152
原创 SSH 登陆虚拟机VBox
1.使用NAT ssh方式1).登陆到客户端Linux VBox的最好方式是端口转发,默认设置为NAT的接口,然后转到网络设置,单击端口转发按钮,添加新规则:主机端口3022 访客端口22 名称为ssh 其余为空白。或者使用命令行添加:VBoxManage modifyvm -natpf1 “ssh, tcp,3022,22”2).其中ServerName是创建的虚拟机名字,检查添加的规则:VBoxManage showvminfo | grep ‘Rule’3).安装SSH服
2022-03-31 11:15:31 896
原创 PCIe链路训练link training--举例波形分析
1. 时钟与接口速率关系DUT采用synopsys PCIe Controller IP 作为End Port。DUT一共有4条Lane, Pipe Width 为32bit, PCIe最大速率为Gen4.0。其中波形中以rc_xx为标志的信号均为rc侧pipe interface, 比如rc_rate表示当前接口速率:3‘b000 : 表示为PCIe Gen13’b001 : 表示为PCIe Gen23’b010 : 表示为PCIe Gen33’b011 : 表示为PCIe Gen4P
2022-03-30 14:19:12 11799 7
原创 PCIe链路训练link training
1. 链路训练基本概念PCIe总线中的链路初始化与训练(Link Initialization & Training)是一种完全由硬件实现的功能,处于PCIe体系结构中的物理层。整个过程由链路训练状态机(Link Training and Status State Machine,LTSSM)自动完成,也就说基本没有数据链路层和事务层啥事。LTSSM在PCIe体系结构中的位置的示意图如下:在系统复位后,会自动进行链路训练,以达成以下目标:位锁定(Bit Lock)、字符锁定(Symbol L
2022-03-28 12:14:38 15814 2
原创 PCIe传输速率、吞吐量、PCLK计算方式
1. PCIe传输速率Width(带宽): 通常用x1、x2、x4、x8等表示,表示该链路由几条lane组成。Speed(速率): 通常用2.5GT/s、5GT/s、8GT/s,表示每条lane上的传输速率。PCIe1.0为2.5GT/s,PCIe2.0为5GT/s,PCIe3.0为8GT/s,2. PCIe相关概念传输速率为每秒GT, 而不是Gbps, 因为传输量包括不提供额外吞吐量的开销位,比如PCIe Gen1 和PCIe Gen2使用8b/10b编码方案,导致占用了20%(2/10)的
2022-03-25 12:24:05 9933 2
原创 如何删除.nfs00000xxxx文件
问题描述:IC 设计一般来说都是在 Linux 服务器上完成的,频繁的启动、结束 EDA 工具,生成、删除临时数据,难免会出现类似 .nfs000xxx 的文件。当尝试使用 rm 去删除它时,会有下面的提示:[Angel@linux~]$ rm -rf log/rm: cannnot remove log/.nfs0000000005915d7e00000296: Device or resource busy原因分析:这种文件通常都是因为执行命令的进程服务器和保存数据文件的网络文件服务器之间的
2022-03-23 11:23:35 8790
原创 Verdi非常实用技巧
1. 基本快捷键操作1.1 波形文件保存.rc使用verdi保存已经拉出来的信号方便下次使用,按键 shift+S 可以将波形保存为xxx.rc格式文件,使用波形文件时,按快捷键 r 打开界面,选择波形1.2 mark标记功能按键 shift+M 使用mark功能标记一下,可以自定义名称和颜色,方便查找。1.3 显示波形信号全路径按 H 显示波形信号全路径,再按H撤销。不区分大小写。1.4 改变信号颜色按键C或者T修改信号颜色。按T更实用,每按一次颜色自动改变。不区分大小写。1.
2022-03-23 10:54:17 13960 1
原创 AXI-4总线协议学习
1、简介AXI4总线协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。而所谓的总线、接口和协议,三个词常常被联系在一起,分别理解三个词的含义: 总线: 是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线、地址线、控制线等构成。 接口: 是一种连接标准,又常常被称之为物理接口。 协议: 是传输数据的规则。常用的AXI总线有:AXI4.0、 AX
2022-03-21 10:56:47 6409
原创 TCL脚本语言
TCL脚本语言学习1、什么是Tcl?2、Tcl脚本创建与执行2.1.Tcl脚本创建2.2. Tcl脚本执行3、输出、赋值与替换4、数学表达式与expr4.1 数学与逻辑运算符4.2 数学函数4.3 例子4.4 incr命令5、字符串1、什么是Tcl?Tcl 全称是Tool command Language。它是一个基于字符串的命令语言,基础结构和语法非常简单,易于学习和掌握。Tcl 语言是一个解释性语言。所谓解释性是指不象其他高级语言需要通过编译和联结,它象其他shell 语言一样,直接对每条语句顺次
2022-03-08 17:08:09 5823
转载 数字IC设计——跨时钟域篇4(多比特处理)
数字IC设计——跨时钟域篇4(多比特处理)一、 两级触发器的问题 两级触发器存在的问题 如果简单的按照单比特信号穿越方法各bit打两拍单独穿越,则会造成各个bit穿越时间不一致(寄存器对于每个信号的延迟时间不一样),则会造成另一个时钟域里面有一些被前一个时钟沿采到了,有些被后面的采到了,导致目的时钟域采到的值错误,造成中间态无意义的数据。 解决多比特跨时钟域方法 如果多比特信号之间存在逻辑关联性,可以在源时钟域将信号合成一个单一的控制信号,然后进行两级寄存器同步。 下左图是错误的处理方式,右图是正确的
2022-03-02 17:23:42 720
转载 数字IC设计——跨时钟域篇3(单比特处理)
数字IC设计——跨时钟域篇3(单比特处理)下面介绍常见的单比特跨时钟域的处理方法 一、慢时钟域信号同步到快时钟域的处理方法: 两级寄存器同步 慢时钟信号进入到更快的时钟域时(频率相差2倍以上),此时不用考虑快时钟域信号采样丢失问题,可以考虑使用两级触发器进行同步处理。 边沿检测同步器 慢时钟信号进入到更快的时钟域时(频率相差2倍以上),为了避免快时钟域多次采样到有效信号,快时钟需要对信号进行边沿检测。需要使用边沿检测同步器 握手处理(单比特比较少用) 当一个慢时钟域的单比特信号进入到更快的时钟域
2022-03-02 17:17:33 854 3
转载 数字IC设计——跨时钟域篇2(亚稳态)
数字IC设计——跨时钟域篇2(亚稳态) 一、建立时间与保持时间 前提条件:对任何一种触发器,在时钟触发沿前、后的一个小时间窗口内,输入信号必须稳定。 输入信号应提前时钟上升沿 (假设上升沿有效)T时间到达芯片,这个T就是建立时间Setup time。 保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。 二、亚稳态 亚稳态 触发器无法在某个规定的时间段内,达...
2022-03-02 16:56:54 692 1
转载 数字IC设计------跨时钟域篇1(CDC)
一、时钟域概要 1. CDC介绍 CDC(clock domain crossing)检查(跨时钟域的检查)是对电路设计中同步电路设计的检查。非同步时钟没有固定的相位关系,这样Setup/Hold不满足而产生了亚稳态是无法避免的。我们采用同步设计的方法保证亚稳态不会无序的在电路中传播,从而导致功能问题。 随着当今SOC设计的规模越来越大,时钟越来越多,工作模式越来越复杂。跨时钟域电路不但多,而且非常复杂。 在当今的电路设计中我们通常使用多级同步,异步FIFO,握手等同步设计来保证亚稳态信号不会在电路中
2022-03-02 16:45:58 3592 1
原创 AMBA总线协议之一【APB总线协议】
APB总线协议1、AMBA总线介绍2、APB总线概述与特点2.1 信号说明2.2 微控制器典型应用3、APB总线传输3.1 状态机3.2 写操作时序3.3 读操作时序3.4 Error Respond1、AMBA总线介绍AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。Soc系统芯片的各个模块需要接口来连接,而AMBA总线作为子系统之间共享数据通路,AMBA
2022-03-01 10:20:32 714
原创 MIPI CSI-2 协议解析
CSI-2标准协议前言一、Overview of CSI-2二、CSI-2 layer Definitions三、 Camera Control Interface(CCI)3.1 数据传输协议(Data Transfer Protocol)3.1.1 消息类型(Message Type)3.1.2 读写操作(Read/Write Operations)3.1.2.1 随机位置单次读3.1.2.2 当前位置单次读3.1.2.3 随机位置连续读3.1.2.4 当前位置连续读3.1.2.5 随机位置单次写3.1
2022-02-23 17:40:18 24755 9
原创 MIPI DSI-2 协议解析
文章目录前言一、DSI-2简单介绍1.1 DSI 层次定义1.2 Command和Video模式1.2.1 Command模式1.2.2 Video 模式1.2.3 Virtual Channel Capability 虚拟通道特性二、DSI 物理层5.1 DSI 物理层D Option5.1.1 D-PHY 数据流向5.1.2 D-PHY Command模式接口5.1.3 D-PHY Video 模式接口5.1.4 D-PHY 时钟管理5.2 Multi-Lane数据合并与分发5.2.1 D-PHY 多条
2022-02-18 17:19:04 7746 3
原创 Linux 学习路线之二【Linux服务器锁屏、分辨率修改/系统查看】
Linux服务器锁屏、分辨率修改/系统查看一、设置不锁屏二、修改分辨率三、查看linux内核版本三、查看Linux系统版本一、设置不锁屏通过左上角的应用程序,找到系统工具,选择设置Settings找到Privacy选项(隐私选项卡),选择锁屏,关闭自动锁屏二、修改分辨率右上角选择settings, 然后找到Devices项。选择Displays 修改想要的分辨率。三、查看linux内核版本查看Linux内核版本命令(两种方法):1、cat /proc/version
2022-02-14 15:10:51 388
原创 Linux学习路线之二【limit资源设置】
limit资源设置前言一、ulimit 命令1.1ulimit命令查看用户状态1.2 ulimit命令设置二、修改配置文件,永久生效设置2.1 修改limit设置2.读入数据总结前言Linux中limit参数设定一般可以通过ulimit命令或编辑/etc/security/limits.conf重新加载的方式使之生效通过ulimit比较直接,但只在当前的session有效,limits.conf中可以根据用户和限制项使用户在下次登录中生效.一、ulimit 命令1.1ulimit命令查看用户状态
2022-02-09 10:53:33 695
原创 Linux学习路线之二【The linux command line---存储/网络篇】
The linux command line---存储/网络篇前言一、网络系统1.1 检查和监测网络1.1.1 ping1.1.2 netstat1.2 网络文件传输1.2.1 ftp/sftp1.2.2 wget1.2.3 ssh1.2.4 scp二、存储媒介2.1 挂载、卸载存储设备2.2 数据移入、移出设备2.3 文件校验md5sum前言当谈及到网络系统层面,几乎任何东西都能由Linux 来实现。Linux 被用来创建各式各样的网络系统和装置,包括防火墙,路由器,名称服务器,网络连接式存储设备等
2022-01-20 17:26:20 1063
原创 Linux学习路线之二【The linux command line---shell篇】
在这里插入代码片提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步
2022-01-19 17:02:43 1236
原创 Linux学习路线之二【The linux command line---Vim/Gvim篇】
The linux command line---Vim/Gvim篇前言一、启动和退出vi?二、Command模式2.1.移动光标2.2 快捷操作三、Insert模式四、Escape模式前言学习Linux 命令行,就像要成为一名造诣很深的钢琴家一样,它不是我们一下午就能学会的技能。这需要经历几年的勤苦练习。vi(发音“vee eye”)文本编辑器,它是Unix 传统中核心程序之一。vi 因它难用的用户界面而有点声名狼藉,但是当我们看到一位大师坐在钢琴前开始演奏时,我们的确成了伟大艺术的见证人。虽然我们在
2022-01-18 16:59:06 472
原创 Linux学习路线之二【The Linux command line---命令篇】
文章目录前言一、文件系统跳转二、操作文件或目录2.1 基本操作2.2 创建链接三、查找命令四、I/O重定向五、键盘高级操作5.1 移动光标5.2 修改文本六、权限6.1 chmod6.2 su, sudo七、进程7.1 ps查看进程7.2 top查看进程7.3 & 进程放置在后台:7.4 fg 进程返回前台:7.5 Ctrl-z 停止进程:7.6 kill杀掉进程:八、压缩、解压操作九、磁盘、文件/目录、内存大小查看十、lscpu命令前言一提到Linux,许多人都会说到“自由”,但我不认为他们
2022-01-18 15:24:25 1324
原创 Synopsys工具安装之二【SCL && License】
Synopsys工具安装之二【SCL && License】前言一、如何下载SCL?二、如何安装SCL?2.1 使用非root账号登陆服务器2.2 使用Installer安装2.3 按照提示进行安装2.4 选择安装的target目录三、如何启动license?3.1 修改license key 文件3.1 启动license服务器3.2 停止license服务器3.3 修改防火墙设置四、如何使用license服务器五、Others 常用命令5.1 lmstat5.2 lmreread5.3
2022-01-12 14:47:08 19202 2
原创 LSF---【bsub命令】
LSF--[bsub命令]一、bsub命令1.1 命令参数二、常用查看命令1.bhosts2.bqueues3.bjobs4.bkill4.bhist一、bsub命令bsub [options] command [argument]1.1 命令参数-q 选择队列-i 指定输入文件-o 指定输出文件,作业提交后标准输出的信息会保存到这个文件中-e 指定输出文件,作业提交后标准错误输出的信息保存到这个文件夹中.-n 指定作业需要的CPU 核-J 作业的名字-m 丢job到指定的机器上-I
2022-01-12 12:00:13 17463 16
原创 LSF---【如何搭建SGE】
如何搭建SGE一、安装前准备二、安装SGE2.1安装SGE Master2.2 Install execution daemon总结一、安装前准备确认所有机器的系统至少是redhat/centos 6.5以上,且完全安装。确认是否所有需要加入compute farm的机器都配置了IP 地址和机器名, 并且所有机器都在同一个子网且互相可以通过机器名访问(ping 通)。指定一台机器作为SGE master (以下简称 serverA), 在serverA上指定一个目录作为SGE_ROOT 目录,且该
2022-01-11 15:50:56 1144
原创 Linux学习路线之一【导读】
Linux学习路线--[Summary]前言一、Linux学习导图二、学习引导1.抛弃旧思维,熟练使用Linux命令行2.通过系统调用或者glibc,学会自己进行程序设计3.了解Linux内核机制,反复研习重点突破4.阅读Linux内核代码,聚焦核心逻辑和场景5.实验定制化 Linux 组件,已经没人能阻挡你成为内核开发工程师了6.面向真实场景的开发,实践没有终点总结前言一、Linux学习导图Linux学习就像人生经历的每一个阶段,只要踏踏实实,有目的性的一步一步向前走,最终会达到想要的人生彼岸,经
2022-01-11 14:40:01 338
原创 Synopsys工具安装之一 【Installer】
Synopsys工具安装之一 【Installer】前言一、如何下载installer ?二、如何安装installer ?1.修改执行权限2.执行安装前言synopsys为eda工具安装,提供了一个安装器,名叫installer。所以,首先要先安装installer这个工具,之后才能安装其他的eda工具。首先从官网下载该installer工具。一、如何下载installer ?使用Fillzilla工具连接Synopsys Solvnet,输入账号密码连接solvnet。找到installer
2022-01-11 12:54:42 3021 3
JESD--DDR4 Registering Clock Driver Spec PDF
2022-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人