【芯片前端】保持代码手感——握手型同步fifo的进一步拓展

简介: 【芯片前端】保持代码手感——握手型同步fifo的进一步拓展

前言

最近也是沉迷于握手协议的研究,主要是用的太多了要是不自己写写用起来就很没底。


握手FIFO

在 【芯片前端】保持代码手感——握手型同步FIFO设计 里,在设计时候有一个feature就是“对外输出逻辑时序较优”,因此对外的输出(除了data)都是寄存器输出,这客观上就是断开了输入和输出握手。



在之前的博客里讨论过这个问题,valid和ready同时握手的场景一定是有的,对于上游valid时序较查同时下游ready时序较差的场景,或者说harden层边界握手协议需要长途跋涉的场景,都是需要把valid和ready都打拍的。而握手型的fifo对上游输出的ready是寄存器输出,对下游valid输出为寄存器输出,因此是满足这一需求的。但是美中不足,FIFO的data输出为MUX逻辑,因此data时序是比较差的,如果对于data时序不是很敏感,那么可以直接使用握手型fifo来进行握手打拍。


FIFO作PIPE

FIFO作为PIPE从代码上分析必然是可行的,那么我最开始的思路自然是例化一个深度为1的FIFO来隔离前后级的打拍。感觉自己是个天才,之前无论是单独隔前级的valid时序,还是隔后级的ready时序,都需要一个深度为1的寄存器组,现在也只需要一个就同时隔开前后两级,简直赚翻了!然后一仿真就发现了问题:



这东西,他断流啊!


然后分析下代码,就会发现问题在于FIFO里是没有bypass机制的,也就是cyc0有数据写入,那么cyc1时fifo就会反压前级,即使cyc1数据会在当拍被读取 。因此梦想破灭了,深度为1的FIFO肯定是用不了。那怎么办呢,把深度调到2呗:



嗯,这问题不就解决了吗!


相关文章
|
1月前
|
缓存 前端开发 JavaScript
利用代码分割优化前端性能:策略与实践
在现代Web开发中,代码分割是提升页面加载性能的有效手段。本文介绍代码分割的概念、重要性及其实现策略,包括动态导入、路由分割等方法,并探讨在React、Vue、Angular等前端框架中的具体应用。
|
20天前
|
缓存 监控 前端开发
探索前端性能优化:关键策略与代码实例
本文深入探讨前端性能优化的关键策略,结合实际代码示例,帮助开发者提升网页加载速度和用户体验,涵盖资源压缩、懒加载、缓存机制等技术。
|
1月前
|
Web App开发 缓存 监控
前端性能优化实战:从代码到部署的全面策略
前端性能优化实战:从代码到部署的全面策略
28 1
|
1月前
|
缓存 监控 前端开发
前端性能优化:从代码到部署的全面策略
前端性能优化:从代码到部署的全面策略
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
184 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
49 0
|
2月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
2月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
2月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
127 1
|
2月前
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT