- 标签
- HDL
No.71 :预读FIFO(零延迟FIFO或 First Word Fall Through (FWFT) FIFO)实现
一直想找机会聊一聊预读FIFO这个问题,趁着这次机会比较系统的整体讲一讲预读FIFO的一些实现方法,注意事项,以及优化手段。 1、背景知识 FIFO 是一个具有简单概念的存储元件:应用逻辑的一部分在 FIFO 的一侧写入数据。在 FIFO 的另一侧,以相同的顺序(FIFO = First In Fi
- 2026-09-21
- 4
- 0
- 0
- 24.4℃
No.63 Verilog设计:LFSR并行加解扰实现
本文基于IEEE Std 802.3-2022 49章,本章介绍了10GBASE-R的PCS(Physical Coding Sublayer,物理编码子层)64b/66b原理,其中包括加解扰过程。 基本概念 加扰(Scrambling) 是一种数据变换技术,通过特定的算法将原始数据序列与伪随机序列
- 2026-04-07
- 346
- 0
- 2
- 62.6℃
No.62 Verilog设计:最优PPA设计的一些总结
日常的一些总结。 1、芯片设计中,无复位寄存器占比一般要求80%以上,数据链路需要尽量避免复位,因为一般位宽比较大。复位会导致较大的瞬时反转功耗,而且面积会比无复位寄存器大。 2、寄存器尽量带门控,门控一般是ICG控制时钟。 3、在写MUX的时候,优先选择case和onehot这类无优先级的MUX,
- 2026-04-05
- 155
- 0
- 1
- 41.5℃
No.53 Verilog设计:简易的PCS模块66b同步设计
本文基于IEEE Std 802.3-2022 PCS 章节,介绍几种66b同步方法,处理位宽包括64bit数据到32bit数据,并给出一些优化方案。 整个简化流程可以表示为: 64bit输入数据->增加同步头->转换成64bit位宽数据-----> PMA tx ----->PMA rx ----
- 2025-12-03
- 190
- 0
- 0
- 43.0℃
No.52 Verilog设计:分优先级的CPU访问接口协议设计
问题背景:模块A内部有一块RAM作为内部状态信息缓存,这个信息一方面需要被内部逻辑进行读写,一方面又需要被外部CPU总线读写,此时已经在模块A中分了时隙用于同时处理两个接口访问。现在模块B也需要对模块A中的RAM进行访问,并且优先级比CPU总线要高,因为外部CPU访问没那么紧急,都是可以挂起等待的。
- 2025-12-02
- 103
- 0
- 0
- 34.3℃
No.46 MATLAB HDL Coder 开发入门
前言:本文属于历史项目,跨越的时间线非常长,从 2021 到 2024 年,主要涉及的版本有 MATLAB 2022a 和 MATLAB 2024a。有部分函数和代码都是继承的 2022a,现在我整理时用的 2024a,会发现 HDL Coder 工具箱在这两年变化挺大,新增了很多功能,手册也修改了
No.45 MATLAB 安装 MinGW-w64
错误使用 mex 未检测到支持的编译器。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译 器。有关更多选项,请访问 https://www.mathworks.com/support/compilers。 在使用 HDL Coder 工具箱时,遇到了
No.34 Verilog 实现不同类型的RAM
本文为个人的学习笔记,内容均为网络资料总结,价值有限~ 参考资料附在文后 RAM分类 RAM 按照功能可以分为 单端口RAM(SP),简单双端口RAM(SDP),真双端口RAM(TDP)。 按照底层实现可以分为 分布式RAM(DRAM),块RAM(BRAM),寄存器RAM(REG),有些器件也可以用
- 2025-04-04
- 310
- 0
- 2
- 59.0℃
No.26 《UVM实战》运行第一个验证平台 STEP7
本篇为验证平台的最后一个环节,step by step 的最后一步,给平台添加测试用例。 项目地址:https://github.com/shirainbown/UVM-Step-by-Step/tree/master 我们理论上已经将平台完整搭建出来了,不过还存在一个问题,虽然平台能够发送激励并且
- 2025-01-07
- 202
- 0
- 0
- 44.2℃