跨时钟域信号处理
文章平均质量分 80
super_ICer
希望能在祖国的IC&AI繁荣之路上贡献一份力
展开
-
异步bus交互(三)—FIFO
跨时钟域处理 & 亚稳态处理&异步FIFO1.FIFO概述FIFO: 一、先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。 1.什么是FIFO? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成原创 2021-05-03 17:47:22 · 509 阅读 · 0 评论 -
异步bus交互(二)— 握手协议(2)
跨时钟域处理 & 亚稳态处理1.概述常见的跨时钟域信号处理方法都有哪些呢?有如下的三种:(1)两级DFF同步器(2)握手协议(3)异步FIFO..2.一个复杂的握手信号如果频率较高的时钟域A中的信号D1 要传到频率较低的时钟域B,但是D1只有一个时钟脉冲宽度(1T),clkb 就有几率采不到D1了,如图1。因此只有当D1 在很长一段时间内为1或0,确保一定可以被clkb采样到,才能用两级DFF同步器处理。如果信号D1 只有1T或几个T的脉宽,又需要传到时钟频率较低甚至或快或慢原创 2021-05-02 15:22:31 · 1919 阅读 · 0 评论 -
异步bus交互(二)— 握手协议(1)
跨时钟域处理 & 亚稳态处理1.概述常见的跨时钟域信号处理方法都有哪些呢?有如下的三种:(1)两级DFF同步器(2)握手协议(3)异步FIFO..2.一个简单的握手信号使用握手信号“xreq”和“yack”,“系统x”将数据发送给“系统y”。下面是使用握手信号传输数据的例子。发送器“系统x”将数据放在数据总线上并发出“xreq”(请求)信号,表示有效数据已经发到接收器“系统y”的数据总线上。采用两级D触发器缓存,把“xreq”信号同步到接收器的时钟域“yclk”上,原创 2021-05-02 14:44:54 · 2444 阅读 · 2 评论 -
异步bus交互(一)— 两级DFF同步器
异步bus交互(一)— 两级DFF同步器跨时钟域处理 & 亚稳态处理1.问题产生现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟频率下工作的信号往往需要相互沟通和传递信号。不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者原创 2021-05-01 16:42:24 · 3920 阅读 · 1 评论