CDC之fast->slow (2)

1  Open-loop solution

  One potential solution is to assert CDC signals for a period of time that exceeds the cycle time of the sampling clock as shown in Figure. As discussed in fast->slow (1), the minimum pulse width is 1.5X the period of the receiving clock frequency. The assumption is that the CDC signal will be sampled at least once and possibly twice by the receiver clock.

  

  Advantage: it is the fastest way to pass signals across CDC boundaries that does not require acknowledgement of the received signal.

   Disadvantage: the largest potential problem is that another engineer might mistake the solution for a general purpose solution, or the design requirements might change and an engineer might fail to re-analyze the original open loop solution. This problem can be minimized by adding a SystemVerilog Assertion to the model to detect if the input pulse ever fails to exceed the "three edges" design requirement.

2  Closed-loop solution

  A second potential solution is to send an enabling control signal, synchronize it into the new clock domain and then pass the synchronized signal back through another synchronizer to the sending clock domain as an acknowledge signal.

  
  Advantage: synchronizing a feedback signal is very safe to acknowledge that the first control signal was recognized and sampled into the new clock domain.
  Disadvantage: there is potentially considerable delay associated with synchronizing control signals in both directions before allowing the control signal to change.

时间: 2024-11-06 13:16:24

CDC之fast->slow (2)的相关文章

Leetcode 202. Happy Number

202. Happy Number Total Accepted: 78171 Total Submissions: 208635 Difficulty: Easy Write an algorithm to determine if a number is "happy". A happy number is a number defined by the following process: Starting with any positive integer, replace t

[LeedCode OJ]#142 Linked List Cycle II

[ 声明:版权所有,转载请标明出处,请勿用于商业用途.  联系信箱:[email protected]] 题目链接:https://leetcode.com/problems/linked-list-cycle-ii/ 题意: 对于一个链表,判断其是否有环,有环则返回环的起始位置. 思路: 通过141题,我们知道可以通过快慢指针来判断是否有环,现在我们假设两个指针相遇在z点,如图 那么我们可以知道fast指针走过a+b+c+b slow指针走过a+b 那么2*(a+b) = a+b+c+b 所以

[leedcode 142] Linked List Cycle II

Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Follow up:Can you solve it without using extra space? 因为fast的速度是slow的两倍,所以fast走的距离是slow的两倍,有 2(a+b) = a+b+c+b,可以得到a=c(这个结论很重要!).  我们已经得到了结论a=c,那么让两个指针分别从X

jQZoom图片放大器插件。API说明文档,jQZoom使用说明

jQZoom是一个基于最流行的jQuery的图片放大器插件.它功能强大,使用简便.支持标准模式.反转模式.无镜头.无标题的放大,并可以自定义jQZoom的窗口位置和渐隐效果,修正IE6的select bug.使用之前,先引入jQZoom.js. zoomType,默认值:’standard’,另一个值是’reverse’,是否将原图用半透明图层遮盖. zoomWidth,默认值:200,放大窗口的宽度. zoomHeight,默认值:200,放大窗口的高度. xOffset,默认值:10,放大窗

leetcode笔记

leetcode 笔记 Linked List 2. Add Two Numbers You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a

linked-list-cycle——链表、判断是否循环链表、快慢指针

Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using extra space? 若在while开始时判断fast==slow,会出现误判,即第一次循环时fast必定等于slow 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNod

143. Reorder List

本周对链表操作进行了巩固 题目: Given a singly linked list L: L0→L1→-→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→- You must do this in-place without altering the nodes' values. For example,Given {1,2,3,4}, reorder it to {1,4,2,3}. 题解: 这道题虽然看上去很复杂,但经过分析,可知实质上这道题就是

动画基础隐藏和显示 (jQuery)

1jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元素的style属性,这里jQuery提供了一个快捷的方法.hide()来达到这个效果 $elem.hide() 提供参数: .hide( options ) 当提供hide方法一个参数时,.hide()就会成为一个动画方法..hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作 快捷参

单链表 --- 环相关问题(是否存在环、是否相交)

一.两单链表皆不带环 ---> 是否存在"环"及 环长 方法:借助于 快慢指针 ,两指针是否存在相遇情况(存在,即存在环:反之,不存在) 环长:相遇时开始计算慢指针所走过距离,即为环长 int IsCycle(ListNode *_head)  //是否存在环 及 环长(两链表不带环) { ListNode *fast=_head; ListNode *slow=_head; while (fast&&fast->_next&&fast-&g

leetcode-143. Reorder List

刚开始刷题,一开始没思路,上网看了一下别人的思路才写出来 总的思路就是先把链表分为两部分,可以先遍历链表再根据长度分也可以用快慢指针(新知识点),然后将第二部分反转,再依次插入到第一部分.思路很简单,但没用ide还是出错了... /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }