Bus number是指当前PCIe设备在PCIe系统结构中被分配的总线号。PCIe的部分TLP(Transaction Layer Packet)传输需要确定总线号才能完成。在PCIe系统中,总线号是用来标识不同的PCIe总线的,每条总线都有一个唯一的总线号。设备号是指在特定总线上的设备编号。PCIe允许在单个PCI总线上最多有32个设备号。每个设备都必须实...
版权声明:本文作者:烓围玮未。主要从事ISP/MIPI/SOC/车规芯片设计/SOC架构设计首发于知乎专栏:芯片设计进阶之路微信公众号:芯片设计进阶之路(x_chip)转发必须授权,同时保留这段声明,盗版必究!
在linux系统中,我们常用lspci和setpci查看PCIe配置空间的信息。而在Windows系统中,查看PCIe配置空间的信息没有linux系统中那么方便,但也存在部分软件可以查看PCI设备信息。本文以SIV64X软件为例简单讲解如何查看Windows系统中的PCI设备信息。
调试指的是在遇到工程问题的时候,通过一些手段来进一步诊断问题原因,探索解决方法,最终使得系统功能正常运行的必要过程。
根据CEM标准,PCIe add-in card有两个用于热插拔机制的边带信号,分别是PRSNT1#和PRSNT2#,这两个信号是直接连接在一起的,且这两根信号的金手指长度要比其他的信号的金手指长度要短一点。而在system board connector(俗称插槽)上,PRSNT1#被固定接地,PRSNT2#则被弱上拉(PULL-UP)。如下图所示,当PCIe卡设备未被完...
✎ 编者按 最近用一个实际体验不怎么样的片子,就跑版本时时序优化颇费功夫,在优化过程中一个关于加法器的优化,颇具特点,记录一下。
写过Verilog和systemverilog的人肯定都用过系统自定义的函数$display,这是预定好的,可以直接调用的功能。但是当Verilog中的task和function不能满足仿真需求时,这就需要自定义一些任务和函数。
如图2所示,复位跨时钟模块本质上由2到3个级联的异步寄存器组成,i_src_rst_n接到所有寄存器的复位端口,首个寄存器的D端接1,最后一个寄存器的Q端是跨时钟后的复位信号o_dst_rst_n。
fork-join_none相信大家应该熟悉了,新来的朋友可以回顾下jerry之前的文章,就是之前jerry提到的那个“暴脾气”的哥们,他不会去等别人,直接会着急做自己的事情。
sed (stream editor) is a non-interactive command-line text editor.
在Transmitter进入Electrical Idle状态之前,必须向链路伙伴发送一个电气空闲有序集序列(EIOSQ)(另有规定除外),告知对端自身即将进入或已经进入Electrical Idle状态。接收端接收到EIOS后,相应调整其状态以匹配电气空闲状态。
在编写代码过程中,我们有时需要对具有一定规律的代码进行修改,此时采用手动修改,容易出错,效率低;若采用vim替换操作实现能够有效提高工作效率。
说明:这种方法相当简单朴素,python做出需要的字符串,写到文件。好处是不需要技巧,坏处是python代码可维护性较差。
接上文:PCIe学习(一)2 事务层事务层需要完成的事情:TLP的生成(发送)和解析(接收)TLP排序机制基于信用值的流量控制机制数据中毒(Data Poisoning)和ECRC完整性检测事务层向上要与应用层通信,不同设备的应用层天差地别,在做芯片设计时要根据具体情况而定。PCIe规范没有对应用层提出约定。2.1 地址空间PCIe协议中...
CPU是一个非常复杂的系统,评估其性能并不好量化,传统上讲,我们(雷总)习惯说“不服跑个分”,这种方式当然也是一个相对靠谱能够对CPU性能进行量化评估的方式,但评估性能对于技术人员来讲,远不是跑个分就能得出结论的,本文将从CPU微架构的角度去讲解当前先进的微架构设计具备特性。亦安不会太过展开微架构的设计细节...
记录个使用SystemVerilog disable语句时遇到的坑,这个坑有点反直觉,以至于我当时有点不信,觉得可能是EDA仿真工具的问题。后来查看了SystemVerilog手册和使用不同EDA工具进行验证,才慢慢接受了。结论是:SystemVerilog disable block_name或task时,会把hierarchy一致的block_name或task的线程都停掉。
作用:快速训练序列(FTS)在从L0s过渡到L0时用于位和符号锁定。Receiver接收到FTS会退出电气空闲状态,并且完成bit and Symbol lock。
状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。
正常PCIe设备链路状态跳变为 detect-->polling-->configuration-->L0(gen1)-->recovery-->L0(gen3)-->recovery-->L0(gen4)。
为了在仿真阶段能够模拟物理器件的延迟,进行结构模型建模,SystemVerilog/Verilog中提供了两种类型的延迟用以模拟信号经过模型时的传输延迟,这两种延迟分别是:分布延迟(Distributed Delay)和模块路径延迟(Module Path Delay).本文及下面一篇将针对这两种延迟分别进行示例说明.