自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IC小鸽的博客

教会他人是最好的学习方式

  • 博客(151)
  • 收藏
  • 关注

原创 PCIE问题定位000:PCIe需要的定位手段

PCIe 设计需要了解的debug设计

2024-03-17 22:02:52 541

原创 宝藏级画图工具-drawio

Drawio可以非常便捷的画出 电路原理图,流程图,工程图,网络连接图,非常漂亮的Venn图、鱼骨图等等,功能很强大。

2023-08-17 22:20:37 1250

原创 浅谈时序:set_input_delay

浅谈时序:set_input_delay

2023-08-17 22:04:50 2297

原创 浅谈时序:set_ouput_delay

浅谈时序:set_ouput_delay

2023-08-17 22:00:02 853

原创 EDA:spyglass 简介

Spyglass是由Synopsys公司开发一款EDA工具,常用于数字电路设计。它是一个全面的设计分析和优化工具,用于帮助设计工程师在芯片设计过程中快速发现和解决问题。

2023-07-16 18:25:37 1984

原创 Makefile:10分钟带你了解makefile

自动变量:Makefile中使用的一些特殊变量,例如@、@、

2023-07-16 08:58:14 978

原创 PCIE知识点-022:PCIe 参考时钟结构

本文描述了PCIe设计的3种参考时钟结构

2023-05-28 17:30:50 3312 1

原创 IC设计基础003:Verilog计算1的数量

采用for循环语句,逐个bit位判断是否为1,为1则累加,否则保持不变,最终输出输入信号中1的数量。如下所示,采用循环语句+移位+逻辑与1+累加来实现1的统计。最终调用函数获得输入信号中1的数量。

2023-05-03 20:20:18 2345 4

原创 PCIE知识点-020:谈谈bus master en

Type1的function:控制function向Upstream方向转发Memory and I/O Read/Write Requests。参考文档:PCI Express Base Specification, Rev. 5.0 Version 1.0。Type0的function:控制function发起。Bus master en信号。

2023-05-01 21:00:30 1704

原创 PCIE知识点-019:expansion rom地址可与bar0~5地址重叠

因此市面上的主流PCIe都支持此功能,当Expansion ROM 的地址空间与BAR0~5重叠的时,对重叠地址的访问能够正常响应,且被识别成对Expansion ROM的访问。Expansion ROM 的地址空间是允许与BAR0~5重叠的,无论是否支持Enhanced Allocation capability.1、Expansion rom地址空间的特殊性。此处需要注意:BAR0~5不允许地址重叠。

2023-05-01 20:51:42 420

原创 PCIE知识点-017:ECRC 与 credit 信用量

从PCIe协议上可以看出,信用量仅仅包含三类:CPL credit/Post credit/non-post credit,其中每种包含data credit和header credit。ECRC 是额外添加的校验字段,在TLP内是1DW,即4byte,不属于data payload,也不属于header字段。支持ECRC check功能的PCIE 在设计rx buffer时,需要考虑到当所有收到的TLP都带ECRC字段时,buffer是否会溢出。1、ECRC 是不算在信用量范围内的。

2023-05-01 20:43:30 748

原创 PCIE知识点-015:PCIE-DL_UP与DL_ACTIVE

通常PCIe IP会输出pcie_dl_up信号用于通知application. application根据pcie_dl_up来决策是否能够发出请求。例如:pcie_dl_up==1时,application才能发出memory请求。分别是DL_Down和DL_Up。Data Link Control and Management状态机在DL_Active时输出DL_UP信号:此时PCIe与链路对端已经完成信用量初始化等操作,事务层可以接收和发送数据。

2023-05-01 20:38:56 625

原创 PCIE知识点-013:PCIE CPL 无限信用量

从描述可以看出endpoint类型的PCIe要求Cpld和cplh的信用量均为0,表示无限信用量。这要求endpoint用户侧在发出non-post请求时需要保证自己有足够的buffer可以存储返回的cpl/cpld报文。从PCI Express Base Specification, Rev. 4.0 Version 1.0 得知协议对。类型的PCIe function的CPLD/CPLH信用量存要求:见下图。

2023-05-01 20:31:06 564

原创 PCIE知识点-012:PCIE Zero-Length read

例如:正常情况下,一颗芯片中的PCIe作为endpoint,收到Zero-Length Write时,此Zero-Length Write不会改写当前tlp中addr对应的寄存器(or RAM)的数值,也不会产生对应地址的写脉冲,更不会应该此写操作造成芯片功能的变化。同样都能确保之前Posted Writes已经被执行,但是真实的读操作可能会改变芯片功能状态,而Zero-Length Read不会,因此Zero-Length Read更有优势。

2023-05-01 20:27:31 952

原创 verilog语法-009—verilog语法-009 用‘b,‘h,‘d赋值

Verilog 2005 版本支持使用省略位宽的方式赋值,’b,’d,’h,采用省略位宽的方式可以向左主动补齐,如果省略了进制符合b/d/h/o,则默认是十进制。

2022-11-20 14:15:23 2759

原创 IC设计错误案例009:信号取反导致的错误

信号取反时,如果位宽不匹配,也会造成不符合预期的错误

2022-09-18 17:29:07 628 1

原创 IC设计高级019:一种简单超时机制

一种简单的超时判断机制,采用一个计数cnt和一个ram实现,可调节超时精度

2022-09-11 17:41:18 573

原创 verilog语法-008—几种可综合的for循环语句

本文讲解了SystemVerilog中可以用于综合的几种for循环设计

2022-09-04 17:05:59 6320 5

原创 IC设计高级018:一种主动的流控实现方式

主动流控设计方法,让流控设计更加简单

2022-08-14 17:38:22 598

原创 IC设计高级017:控制类寄存器2种实现方式

IC设计中,可配置的控制类寄存器是如何在数据处理过程中起作用的呢?有哪些实现方式呢?

2022-08-13 17:16:18 901 1

原创 PCIE知识点-011:PCIE 配置能力结构与协议版本的关系

PCIE 配置能力结构与协议版本的关系

2022-07-10 12:29:53 548

原创 PCIE知识点-010:PCIE 热插拔资料从哪获取

本文简单描述了PCIE热插拔相关资料内容

2022-07-02 18:05:06 1121 1

原创 PCIE知识点-008:PCIE switch的结构

本文讲解了PCIE switch的常见的几种结构

2022-06-26 18:23:30 7491

原创 PCIE知识点-006:PCIE的寄存器属性

本文寄存器描述摘自PCI Express Base Specification Revision 5.0, Version 1.0描述了PCIE 配置寄存器的属性特征

2022-06-12 16:24:29 1535

原创 PCIE知识点-005:SR-IOV VF的配置空间

本文以PCIE 5.0协议进行讲解当PCIE function具备SR-IOV能力时,会存在至少一个PF(physical function)和至少一个VF(virtual function),并且每个VF与特定的PF是绑定关系。从PCIE协议5.0第9章节可以看到:VF同样具备如下配置空间NOTE:VF是具有轻量化的配置空间:部分PF具备的能力结构,VF是不具备的。部分PF具备的寄存器和字段,VF是不具备的。见PCIE 5.0协议9.34章节,内部有每个寄存器的差异描述。总结如下:......

2022-06-12 11:44:45 4694

原创 PCIE知识点-003:PCIE协议中的upstream概念

PCIE协议中的upstream概念描述

2022-06-12 10:46:17 1824

原创 Gvim基础操作001--help命令

Help命令在打开gvim,在命令行模式下: h 关键字母 可以获得对应的help说明:h Folding 可以获得折叠语法说明:h d 可以获得删除命令语法说明:h s 可以获得替换命令 语法说明

2022-05-22 19:33:22 357 1

原创 PCIE:如何获取PCIE学习资料文档

PCIE学习需要哪些资料文档,以及如何获取

2022-03-19 20:43:30 6240 2

原创 SystemRDL是什么

SystemRDL是什么SystemRDL 是一种寄存器描述语言,由Accellera标准组织发布,目前已有两个版本,分别是SystemRDL 1.0(2013-04-18)和SystemRDL 2.0(2018-01-26)。在官网(SystemRDL (accellera.org))无需注册可以直接下载Language Specification。SystemRDL可以描述不同的寄存器类型、软件访问特性、硬件访问特性、以及寄存器实现方式。例如:软件访问方式,除了包含可读写RW、只读、只写外还有很

2022-03-19 14:01:27 1706 1

原创 PCIE原理-003:EP如何响应bus number和device number

pcie endpoint 如何响应不同BDF的配置请求

2022-03-13 18:07:31 1297

原创 PCIE知识点-002:PCIE协议中的几种bridge

PCI Express to PCI/PCI-X Bridges:又编写为PCIe-PCI/PCI-X Bridge或者PCIe-to-PCI-PCI-X-Bridge,提供PCIE结构到PCI/PCI-X结构的互联PCI-to-PCI bridge :又编写为PCI-PCI bridge,或者缩写为P2P bridge,提供PCI 结构到PCI结构的互联。Switch内部使用的是virtual PCI-PCI bridge。...

2022-03-12 16:40:48 5721 1

原创 PCIE知识点-001:bifucation是什么

1、PCIE bifucation 是什么Bifucation在汉语中指的是分叉的意思。简单理解,PCIE device支持bifucation特性指的是此pcie device可以同时对接多个不同的pcie设备。本文以intel FPGA SPEC文档为例,讲解bifucation特性。下文将讲解,一个16lane的pcie IP在不同的模式下,可以连接1个、2个和4个pcie设备。2、支持bifucation特性的PCIE IPThe P-tile Avalon-ST IP for PCI

2022-03-06 17:47:21 1193

原创 IC设计ram002_ECC校验原理基础

1、ECC校验基础Ram的ECC校验通常基于海明码编码原理实现,使用海明码编码需要额外的bit位存储校验位,ECC校验仅能纠正1bit的,无法纠正2bit以及以上数据错误,能发现部分多bit位错误的情况。2、RAM ECC校验实现原理如图所示为1r1w的ram为例,cfg_32x119_ram_wrapper为verilog代码直接调用层次的ram_wrapper,表示了一个深度为32,数据位宽为119bit的ram。ram_asic.v为真实的ram IP。其中119bit的数据位宽紧张ECC

2022-01-23 18:29:04 4357 2

原创 IC芯片设计项目管理007:公共IP对项目的加成

1.什么是公共IP?在IC设计中,经常使用到的模块都可以称之公共IP。常见的公共IP类型有:各类跨时钟模块:如单bit、多bit信号跨时钟模块时钟复位模块:复位同步/打拍模块,各类调度模块:RR调度,带权重调度公共IP有效提高了项目代码的质量和效率,公共IP越丰富,效果越好。2.复杂的设计也需要IP化在很多公司的项目管理中,复杂的设计并没有IP化,不同的项目中,开发人员根据模块需要自行编写。其实,有很多比较复杂的设计是是可以进行IP化的。比如:链表VOQ模块:此模块具有非

2022-01-23 17:55:59 1820

原创 IC设计ram001_ram读写冲突返回值

1、RAM读写冲突返回值在使用底层RAM IP的时候,以1R1W的ram为例,我们需要考虑 某个地址同时发生读写操作的时候(俗称读写冲突),RAM IP输出的data_out是什么值,不同的厂家IP会不一样,同一个厂家的不同ram也有可能不一样。例如:发生读写冲突时,有些ram会输出老值,有些ram会输出新值,有些ram输出不确定的值2、从设计角度考虑RAM读写冲突返回值从严谨的设计角度看,应该从方案设计角度避免此问题。在verilog实现中,ram就不允许发生同时读写同一个地址...

2022-01-22 16:54:52 856

原创 IC设计高级012:afifo读数据用什么信号采样

在设计中,读afifo时需要根据afifo数据输出的拍数进行数据采样。数据采样时,建议使用非空判断后产生的vld信号进行数据采样,避免因空读产生无效的数据输出。如下文,afifo_rd_en是 afifo的读使能,afifo_rd_en_dly1是afifo读使能打一拍后的信号。afifo_rd_data_vld 是afifo输出有效valid,是由afifo_rd_en && (!empty)打拍后产生的,产生空读时afifo_rd_data_vld为0,推荐使用afifo_rd_da

2021-11-07 16:54:04 1274

原创 MAC知识点009:MAC速率是如何扩展到serdes速率的

MAC知识点009:MAC速率是如何扩展到serdes速率的在IEEE802.3协议中,规定了MAC层10G速率对应10.3125G的serdes速率,50G的MAC速率对应53.125的serdes速率,那么是如何扩展的呢?1、MAC速率是如何扩展到serdes速率的 MAC速率Gbps 64B/66B编码 FEC RS编码 AM码插入 Serdes速率Gbps 10

2021-08-29 17:35:09 2642 4

原创 门控时钟设计003:门控时钟降低了什么功耗

在IC设计中,会存在block模块层次的时钟门控和门级的时钟门控。1、block模块层次的时钟门控 block模块层次的时钟门控在一个block中一个时钟只有一个门控,当此模块不使用时,直接将此时钟gating掉,大大降低了时钟树功耗和寄存器动态功耗,在大部分模块中能够降低80%以上的功耗。2、门级层次的时钟门控 门级的时钟门控是门级的时钟门控,通常由如下verilog语句产生。此类门控主要是降低寄存器内部时钟翻转功耗和少量的靠近reg的时钟树功耗。因为gating 后驱动的时钟树一

2021-07-04 21:02:45 1128 1

原创 IC设计思想001:IC设计的全局思维

​​​​​IC设计中就怕想的不全面,导致出现功能故障,以至于需要重新流片。IC设计中的全局思维: 方案设计与verilog实现 需要面面俱到设计方案方面:全面功能点,实现方法,时钟,复位,时序,跨时钟设计 以及后端可实现 需要面面俱到。代码实现方法:功能实现的各类情况考虑充分,没有遗漏,讲究完全穷尽,相互独立定位手段添加全面案例1:遇到功能点代码修改,需要做什么修改代码并进行检查:vcs编译、spyglass lint 等 修改相关文档描述:寄存器表格,方案..

2021-06-20 21:50:56 873

原创 复位设计基础001:中断的复位设计

中断模块用什么软复位OR硬复位?中断用于记录逻辑电路中发生的各类正常和异常情况。软复位控制主数据路径逻辑,硬复位控制配置寄存器等。正常情况:如发生一次DMA数据传输,链表初始化完成异常情况:如RAM读写数据错误,afifo溢出和空读,链路中断等那么中断模块适合用软复位还是硬复位呢?通常情况下,大部分中断源是由逻辑电路产生的情况下,逻辑电路有软复位直接控制,此时中断模块用软复位,记录此次软复位释放后电路中发生的各类状态,一旦发生软复位,中断状态会被软复位清零。如果中断使用的硬复位,多次软

2021-06-20 17:03:23 834

空空如也

空空如也

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

TA关注的人

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