时钟同步

同步时序逻辑电路、异步时序逻辑电路都是什么呢?

你离开我真会死。 提交于 2019-11-30 07:41:17
   时序逻辑电路 分为同步时序逻辑电路和异步时序逻辑电路两大类:   在 同步时序逻辑电路 中有一个公共的时钟信号(共享的系统时钟 Sys_Clk)(从一到多,可以理解为时钟树 Clock Tree),电路中各记忆元件受它严格的统一控制,只有在该时钟信号有效沿(上升沿或者下降沿)到来时,记忆元件的状态才会发生变化,从而使得时序电路的输出发生变化,并且一个时钟信号有效沿只对应一次记忆元件的状态和电路输出状态的改变。也就是说,改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 X 有无变化,状态表中的每个状态都是稳定的。(比如 D 触发器,只有当上升沿到来时,寄存器才把 D 输入端的数据(高低电平)传到 Q 输出端。)   同步时序逻辑中最基本的储存元件是触发器。   同步逻辑是时钟之间有固定的因果关系。   同步时序逻辑的核心逻辑用触发器实现,电路的主要信号、输出信号灯都由某个时钟沿驱动产生。可以很好的避免毛刺,利于器件移植,有利于 STA、验证设计时序性能。   在 异步时序逻辑电路 中不存在单一的主控时钟,其工作节奏不一致,主要是用于产生地址译码器、FIFO 和异步 RAM 的读写控制信号脉冲。除了可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件。由于异步电路没有统一的时钟,所以状态变化的时刻是不稳定的

FIFO

主宰稳场 提交于 2019-11-30 07:01:20
FIFO是一种先入先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常方便,但缺点是只能顺序的写入数据、读出数据,其内部地址是由内部读写指针自动加1完成,不能像普通存储器那样由地址线读取或者写入某个地址。 FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集,另一端是计算机的PCI总线,假设AD采集的速率是16位100K sps,那么每秒的数据量为100K x 16bit=1.6Mbps,而PCI总线的速度为33MHZ,总线宽度是32bit,其最大传输速率为1056Mbps,在两个不同的时钟域间采用FIFO作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO,例如单片机的8位数据输出。 FIFO的分类根据FIFO工作的时钟域,分为同步FIFO和异步FIFO。同步FIFO是指读写时钟为同一时钟。在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致,读写时钟相互独立。 FIFO设计的难点在于怎么判断FIFO的空满状态。为了保证数据正确的写入和读出,而不发生溢出或读空的状态出现,必须保证FIFO在满的情况下,不能进行写操作。在空的状态下不能进行读操作。 同步FIFO的实现代码: 1 module fifo( //信号定义---读、写、data_in,data_out,clk,复位,空,满 2 input [7:0] datain

关于模拟化数字化仪的触发和同步

人盡茶涼 提交于 2019-11-30 00:11:28
介绍 数字化仪用于将电信号转换为一系列测量值,然后输出为幅度值随时间变化的数字数组。为了使这些信息有用,时间信息通常与特定参考点相关,参考点通常是触发位置。触发点可以是从测量信号中引用,也可以来自其他外部源。触发功能是将时间测量值与特定的已知时间点联系起来。对于重复信号,触发器必须稳定才能将一次采集的测量结果与其他采集进行比较。当将多个数字化仪或相关的采集仪器集成到一个多通道系统中时,只有当所有通道都参考公共时间轴时,才能得到较好的数据。这要求系统的数据采集元件与由同一事件触发的所有数字化仪通道的时间同步。本应用笔记将重点介绍触发和同步的相关内容。 触发 触发是仪器采集和数字化信号的基本功能。最常见的触发方法是使用数字化仪某个通道的输入信号。基本原理是检测到波形上的定义点,并将此“触发事件”标记为已采集数据上的一个已知位置。图1提供了一个基本的边沿触发的例子。信号源是输入通道,触发事件发生在波形上升沿越过 500mV 的触发电平时。当触发事件发生时,已采集信号上的位置被标记为时间轴上的零时间点,如图中的光标位置所示。如果信号是重复的,每次进行新采集时,数字化仪都会在同一点触发,从而实现稳定的显示。 图1 信号波形,电平和时序的范围变化较大,所以要求数字化仪触发电路非常灵活。图2显示了 M4i.4451系列数字化仪的触发“引擎”的框图。它提供了现代数字化仪支持的多种触发条件的示例。

MII、RMII、GMII接口的详细介绍

我怕爱的太早我们不能终老 提交于 2019-11-29 21:32:54
概述: MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个MAC和PHY之间的管理接口。 数据接口包括分别用于发送器和接收器的两条独立信道,每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。 管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。MII (Management interface)只有两条信号线。 MII标准接口用于连接Fast Ethernet MAC-block与PHY。表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。在其他速率下工作的与MII等效的接口有:AUI(10M 以太网)、GMII(Gigabit 以太网)和XAUI(10-Gigabit 以太网)。 MII总线 在IEEE802.3中规定的MII总线是一种用于将不同类型的PHY与相同网络控制器(MAC)相连接的通用总线。网络控制器可以用同样的硬件接口与任何PHY进行连接。 MII相关接口介绍: 以太网媒体接口有:MII RMII SMII GMII 所有的这些接口都从MII而来,MII是(Medium Independent Interface)的意思,是指不用考虑媒体是铜轴、光纤

移位寄存器的 IP核调取及应用

六眼飞鱼酱① 提交于 2019-11-29 13:20:25
写在前面的话 做很多图像算法的时候 , 我们经常需要用到模板运算 (如 sobel 图像边缘检测、中值滤波、均值滤波等等),处理这些问题的时候,我们可以借助 altera 提供的移位寄存器 IP 核来简化我们的设计,从而提高设计效率。本节,梦翼师兄和大家一起学习这个适合用于模板运算的移位寄存器 IP 核的用法。 功能要求 假设数据在一个ROM中以如下图所示的方式存放,列加行的值作为该数的地址(如e的地址就是8+1=9)。 address 0 1 2 3 4 5 6 7 0 a d g j m p aa bb 8 b e h k n q dd cc 16 c f i l o r ee ff 24 s t u v w rr gg hh …… y z uu vv ww qq ii jj 在图像处理领域,要实现Sobel或者均值滤波等算法,则需要按照3*3矩阵的格式提取数据,如下图所示:(现在想要每次取出3列数据为一组,如第一列数据:a、b、c 第二列数据:d、e、f 第三列数据:g、h、i) 解决方案:在这儿我想给大家介绍一个叫做Shift_register的 IP 核来实现这种功能,而且还有很重要的一点就是我们可以利用这种方法来实现流水线操作,我们暂且就将其看做是移位寄存的 “FIFO”吧。 如果我们将该IP 核配置成如下图所示的两个 “FIFO”

第二季-专题7-ARM跑快了---时钟初始化

Deadly 提交于 2019-11-29 04:14:32
专题7-ARM跑快了---时钟初始化 一.概念解析 1.时钟脉冲信号 时钟脉冲信号:按一定的电压幅度,一定的时间间隔连续发出的脉冲信号。时钟脉冲信号是时序逻辑的基础,它用于决定逻辑单元中的状态核实更新。数字芯片中众多的晶体管都工作在开关状态,他们的导通和管段动作无不适按照时钟信号的节奏进行的。 2.时钟频率 时钟脉冲频率:在单位时间(如1秒)内产生的时钟脉冲个数。 3.时钟源 时钟信号有两种产生的方式: 晶振和锁相环 PLL 晶振: (1)晶振全称晶体振荡器,是用石英晶体经精密切割磨削并且镀上电极焊上引线做成。这种晶体有一个很重要的特性,如果给他通电,他就会产生机械震荡,他们有一个很重要的特点,其震荡频率与他们的形状,材料,切割方向等密切相关。由于适应晶体化学性能非常稳定,热膨胀系数非常小,其震荡频率与非常稳定,由于控制几何尺寸可以做到很精密,因此,其谐振频率也很精确。 (2)晶体震荡器时钟的有点包括结构简单和噪声低,以及可以客户提供精确的定制频率等方面;但另一方面,它的缺点也比较明显,例如其频率仅由晶体决定,通常是特定晶体被制成客户所需的振荡器,导致生产成本高、交贷周期较长,不利于客户加快产品上市时间,而且难以获得非标准的频率。 锁相环PLL (1)PPL(锁相环)合成器是一种更为复杂的系统时钟源

Linux时间y设置

房东的猫 提交于 2019-11-29 03:51:42
1, linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步。 2,修改硬件时钟 查看硬件时钟命令: # hwclock --show 设置硬件时间: # hwclock --set --date="09/18/18 10:35:25" (月/日/年 时:分:秒) 3,修改系统时间。 用date命令将日期设置为2018年9月18日 # date -s 09/18/18 (月/日/年) 将时间设置为10点38分15秒 date -s 10:38:15 4,同步系统时钟和硬件时钟 重启 Linux系统后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock命令来同步系统时钟和硬件时钟。 硬件时钟与系统时钟同步: # hwclock --hctosys 或者 # clock --hctosys 上面命令中,--hctosys表示Hardware Clock to SYStem clock。 系统时钟和硬件时钟同步: # hwclock --systohc 或者 clock --systohc 5

UCOS中的OSStatInit()函数

自古美人都是妖i 提交于 2019-11-29 00:32:01
ucos启动以后,会建立两个任务,空闲任务和统计任务(如果配置了的话),我们经常会在代码里看到OSStatInit(),其实这个函数使用的时候要小心了。 作者原著中提到,OSStatInit()要在建立的第一个,并且只有一个任务的时候调用,所以会经常见到下面的结构: int main(void) { OSInit(); OSStart(); } void AppTask(void *pdata) { } 这样做是因为统计任务计算CPU利用率的需要。 之所以说,调用这个函数要注意,主要原因就是因为在OSStatInit()中调用OSTimeDly发生了任务的调度,而这一点特别容易被忽略掉。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- void OSStatInit (void) #if OS_TASK_STAT_EN > 0 void OSStatInit (void) { #if OS_CRITICAL_METHOD == 3 OS_CPU_SR cpu_sr; #endif OSTimeDly(2); OS_ENTER_CRITICAL();

传统同步设计中的功耗

陌路散爱 提交于 2019-11-28 21:51:32
在传统设计风格中,系统时钟控制每个寄存器时钟端,功耗由3部分组成 1.每个时钟沿变化的 组合逻辑 所产生的功耗(触发器驱动这些组合逻辑); 2. 触发器本身 产生的功耗(即使触发器的输入和内部状态未变化,该功耗仍然存在); 3.设计中时钟树产生的功耗。 时钟树几乎消耗了整个芯片的功耗的50%,因此最好始终在 根部 产生或关闭时钟,以使整个时钟树都关闭; 解决方案 用门控时钟: 1.不含锁存器的门控时钟,只简单的使用单个门(与门,或门)      此要求使能信号宽度覆盖时钟高电平时时间,   不然会产生 过早截断时钟      或者产生多个时钟脉冲毛刺    2.基于锁存器的门控时钟:      这样只要使能信号在下降沿时满足条件就可以很好的实现门控;   注意:使用下降沿有效的时钟,使用或门进行控制,并用正沿触发错存器寄存使能信号。 来源: https://www.cnblogs.com/duanxianfengzhengfly/p/11428289.html

FPGA面试题

♀尐吖头ヾ 提交于 2019-11-28 08:37:55
FPGA面试题——网上资料整理 2019-08-23 21:22:30 1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系。 异步逻辑是各时钟之间没有固定的因果关系。 〔补充〕: 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质: 电路设计的难点在时序设计,时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 4:建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的时间。 保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的时间