- 博客(151)
- 收藏
- 关注
原创 宝藏级画图工具-drawio
Drawio可以非常便捷的画出 电路原理图,流程图,工程图,网络连接图,非常漂亮的Venn图、鱼骨图等等,功能很强大。
2023-08-17 22:20:37 1250
原创 EDA:spyglass 简介
Spyglass是由Synopsys公司开发一款EDA工具,常用于数字电路设计。它是一个全面的设计分析和优化工具,用于帮助设计工程师在芯片设计过程中快速发现和解决问题。
2023-07-16 18:25:37 1984
原创 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
原创 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
原创 Gvim基础操作001--help命令
Help命令在打开gvim,在命令行模式下: h 关键字母 可以获得对应的help说明:h Folding 可以获得折叠语法说明:h d 可以获得删除命令语法说明:h s 可以获得替换命令 语法说明
2022-05-22 19:33:22 357 1
原创 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知识点-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关注的人