草庐IT

【《硬件架构的艺术》读书笔记】03 处理多个时钟(2)

3.6握手信号方法 1)X将数放在数据总线上兵发出xreq信号,表示有效数据已经发到接收器Y的数据总线上。2)xreq信号同步到接收器时钟域ylk上。3)Y在识别xreq同步的信号yreq2后,锁存数据总线上信号。4)Y发出确认信号yack,表示其已经接收了数据。5)yack同步到发送时钟xclk上。6)X识别到同步的xack2信号后,将下一个数据放到数据总线上。如图,安全地将一个数据从发送器传输到接收器需要5个时钟周期。3.6.1握手信号的要求数据应在发送时钟域内稳定至少两个时钟上升沿。xreq宽度应该超过两个上升沿时钟,否则从高速时钟域到低速时钟域传递可能无法捕捉到该信号。3.6.2握手信

【《硬件架构的艺术》读书笔记】03 处理多个时钟(3)

3.8异步FIFO(双时钟FIFO)  如上图,X通过xclk将数据写入FIFO,Y通过yclk将数据读出。注意这里写满标志信号在写时钟域,空信号在读时钟域。对比握手信号,异步FIFO用于对性能要求较高的设计中,尤其是时钟延迟比系统资源更重要的环境中。异步FIFO主要需要注意信号亚稳态的问题。3.8.1避免用二进制计数器实现指针如果使用二进制计数,一次可能变换多位,这时就需要将多位数据同步到另一个时钟域,很容易造成错误。3.8.2使用格雷码取代二进制计数格雷码优势是在一个数变成另一个数时,只有一位出现变化。所以其在转换中最多只会一位错误,读取时要么读到旧值,要么读到新值,但是不会读到其他值。3

【《硬件架构的艺术》读书笔记】03 处理多个时钟(3)

3.8异步FIFO(双时钟FIFO)  如上图,X通过xclk将数据写入FIFO,Y通过yclk将数据读出。注意这里写满标志信号在写时钟域,空信号在读时钟域。对比握手信号,异步FIFO用于对性能要求较高的设计中,尤其是时钟延迟比系统资源更重要的环境中。异步FIFO主要需要注意信号亚稳态的问题。3.8.1避免用二进制计数器实现指针如果使用二进制计数,一次可能变换多位,这时就需要将多位数据同步到另一个时钟域,很容易造成错误。3.8.2使用格雷码取代二进制计数格雷码优势是在一个数变成另一个数时,只有一位出现变化。所以其在转换中最多只会一位错误,读取时要么读到旧值,要么读到新值,但是不会读到其他值。3

03按键

目录一、IO口输入内容二、什么是按键三、按键分析1.独立按键2.矩阵按键3.抖动四、按键案例1.按下按键点亮一个LED灯2.按键模拟二进制3.矩形按键控制LED灯的亮灭总结一、IO口输入内容在学习按键之前先学习一下如何往单片机的IO口输入内容。其实输入的本质就是往单片机的一个端口在外部给一个电平,然后单片机中的程序去读取那个端口的电平即可完成一次输入。51单片机的输入电平是非常简单的,不需要像stm32一样,需要调节端口的模式才能读取端口的电平,51单片机只需要读取端口的电平就可以了,非常的简单。比如说现在我给我的单片机的P2组中第2个引脚一个电平,那么接收的代码如下:intmain(){in

03按键

目录一、IO口输入内容二、什么是按键三、按键分析1.独立按键2.矩阵按键3.抖动四、按键案例1.按下按键点亮一个LED灯2.按键模拟二进制3.矩形按键控制LED灯的亮灭总结一、IO口输入内容在学习按键之前先学习一下如何往单片机的IO口输入内容。其实输入的本质就是往单片机的一个端口在外部给一个电平,然后单片机中的程序去读取那个端口的电平即可完成一次输入。51单片机的输入电平是非常简单的,不需要像stm32一样,需要调节端口的模式才能读取端口的电平,51单片机只需要读取端口的电平就可以了,非常的简单。比如说现在我给我的单片机的P2组中第2个引脚一个电平,那么接收的代码如下:intmain(){in

离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾

原文链接:离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾视频回顾:点击这里课件获取:点击这里一、离线数仓建设背景离线数据是相对实时数据而言的数据产出,不同于实时数据,离线数据一般是T+1天处理,也就是说昨天产生的数据至少要今天才能看到计算结果。离线数据一般应用于对数据时效要求不高,需要基于一段时间的历史数据计算才能得到结果的场景,我们大致可以分为离线数据分析及数据应用两类,离线数据计算具备:数据准确度高、吞吐量大、计算成本低等特点。离线数据应用的场景非常广泛,企业的数据迎来了爆发式的增长,目前企业数据规模巨大、数据类型多样、生成及处理速度极快、数据价值巨大但密度却较低,这些数据增

离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾

原文链接:离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾视频回顾:点击这里课件获取:点击这里一、离线数仓建设背景离线数据是相对实时数据而言的数据产出,不同于实时数据,离线数据一般是T+1天处理,也就是说昨天产生的数据至少要今天才能看到计算结果。离线数据一般应用于对数据时效要求不高,需要基于一段时间的历史数据计算才能得到结果的场景,我们大致可以分为离线数据分析及数据应用两类,离线数据计算具备:数据准确度高、吞吐量大、计算成本低等特点。离线数据应用的场景非常广泛,企业的数据迎来了爆发式的增长,目前企业数据规模巨大、数据类型多样、生成及处理速度极快、数据价值巨大但密度却较低,这些数据增

QPython实例03-制作【ONE一个】可视化应用

一、前言QPython3c在大佬的改进下,拥有了基于sl4a的FullScreenWrapper2全屏框架。文章将用该框架制作我们的可视化应用【ONE一个】。二、最终效果如下三、准备工作AIDE:使用布局助手生成xml布局代码QPython3C:使用FullScreenWrapper2制作可视化应用以上应用在后台回复应用名称即可获取下载链接,如【AIDE】四、实现思路使用AIDE生成布局代码分析网站获取ONEapi使用FullScreenWrapper完成可视化应用使用AIDE生成布局代码在aide新建项目,在app/src/main/res/layout下新建xml,点击右上角的图片按钮进入

QPython实例03-制作【ONE一个】可视化应用

一、前言QPython3c在大佬的改进下,拥有了基于sl4a的FullScreenWrapper2全屏框架。文章将用该框架制作我们的可视化应用【ONE一个】。二、最终效果如下三、准备工作AIDE:使用布局助手生成xml布局代码QPython3C:使用FullScreenWrapper2制作可视化应用以上应用在后台回复应用名称即可获取下载链接,如【AIDE】四、实现思路使用AIDE生成布局代码分析网站获取ONEapi使用FullScreenWrapper完成可视化应用使用AIDE生成布局代码在aide新建项目,在app/src/main/res/layout下新建xml,点击右上角的图片按钮进入

读编程与类型系统笔记03_组合

1. 复合类型1.1. 乘积类型1.2. 组合一个或多个类型将得到一个新类型,其值为组成类型的全部可能的组合1.3. 元组1.3.1. 一组类型构成,通过它们在元组中的位置可以访问这些组成类型1.3.2. 一种特殊的分组数据的方式,允许我们将不同类型的多个值作为一个值进行传递1.3.3. 使用out参数,也就是由函数来更新实参,但这会让代码更难理解1.3.4. 按照分量值的位置来访问值1.3.5. 可以内联声明它们1.3.6. 自制元组1.4. 记录类型1.4.1. 记录或者结构1.4.2. 与元组类型相似,可将其他类型组合在一起1.4.3. 为分量设置名称,并通过名称来访问值1.4.3.1.