当前位置: 首页 > news >正文

icg真的只能用latch不能用Flip-flop吗

soc设计中常用latch来做时钟门控,它的rtl描述如下:

input EN;
input clk;
input TE;
output E_clk;always @(*) beginif (clk==1'd0)E_latch = EN | TE;
endassign E_clk = E_latch & clk;

实际soc实现会把上面代码中latch和与操作换成专用CLKLANQ的libcell,TE为testMode下信号,funcMode下为0.

对应的时序图如下:

always @(negedge clk) beginE_latch <= EN | TE;
endassign E_clk = E_latch & clk;

 那么得到的时序图和上图完全一致。

那这两种做法到底有什么区别呢?

从功能上看不出有什么区别,那就要从实现上分析,两种cell哪个更快(transition,Propagation Delay),哪个更容易收timing?

显然latch结构简单,同样工艺下latch可以做的比Flip-Flop更快。更快就意味这更好的时钟属性。

从timing分析,用latch对setup更友好,因为用latch锁存EN | TE可以做setup的整周期check,而用flip-flop只能做clk的半周期check;而用flip-flop的hold是比较宽松的,有半个时钟周期留给hold。

对于高频时钟来讲setup更难meet,这也是现在高速时钟ICG都用Latch的原因。早期低速时钟且对clk质量要求不高的的ICG也是可以用flip-flop。

下面解释一下为什么latch明明用的clk低电平触发,为什么可以做整周期的setup检查?

原因就在于latch是电平触发,在整个clk低电平都可以capture,只需要在clk高电平到来之前EN|TE满足setup,就可以稳定采样并锁存,所以可以使用整周期setup check

http://www.xdnf.cn/news/1013311.html

相关文章:

  • FPGA多通道卷积加速器:从零构建手写识别的硬件引擎
  • 电脑虚拟网卡安装(添加以太网2)
  • 自己的电脑搭建外网访问网站服务器的步骤
  • 局域网内电脑与安卓设备低延迟同屏技术【100ms - 200ms】
  • Python-PLAXIS自动化建模技术与典型岩土工程
  • PyTorch深度学习框架60天进阶学习计划 - 第58天端到端对话系统(一):打造你的专属AI语音助手
  • 全时智能客服+精准触达转化:云徙科技打造汽车营销新体验
  • 【论文解读】OpenR:让大模型“深思熟虑”的开源框架
  • 51c自动驾驶~合集59
  • PCB 层压板的 Dk 和 Df 表征方法 – 第二部分
  • 高频面试之11Flink
  • 【Docker】docker 常用命令
  • redis穿透、击穿、雪崩
  • 30-Oracle 23ai-回顾从前的Flashback设置
  • SQL进阶之旅 Day 30:SQL性能调优实战案例
  • [网络实验] Cisco Packet Tracer | 通信子网的拓扑设计
  • 网络传输中的大小端问题
  • 一阶低通滤波器完整推导笔记
  • 【Chipyard】修改Gemmini 中PE的数量
  • JDK版本如何丝滑切换
  • 42 C 语言随机数生成详解:rand/srand 使用技巧、随机数范围控制、真实场景应用
  • Unity Assembly的灵活用法总结
  • 一块开发板多少钱?如何花最少的钱入门?
  • 【大模型02---Megatron-LM】
  • Node.js特训专栏-基础篇:2. JavaScript核心知识在Node.js中的应用
  • Flink 系列之二十八- Flink SQL - 水位线和窗口
  • 【计算机组成原理 第5版】白、戴编著 第七章 总线系统 课后题总结
  • 为什么电流、电压相同,功率却不同
  • ETLCloud中数据脱敏规则的使用技巧
  • 【有源医疗器械检测的常见问题、整改方法、送检了解】