FPGA|CPLD|ASIC论坛
登录
直播中
小菜鸡
6年用户
49经验值
擅长:可编程逻辑 嵌入式技术 控制/MCU
私信
关注
[经验]
【雨的FPGA笔记】基础知识-------同步电路设计
FPGA
笔记
基础知识
电路设计
FPGA
的同步
电路
设计基础知识
同步电路设计将系统的状态变化与时钟信号同步,通过这种方法降低电路设计难度。
一、触发器
定义:一种储存1个二进制位的存储单元,可以用做时序逻辑电路的记忆
元件
。FPGA逻辑单元内的D触发器(D-FF)就是一种在时钟的上升沿(或下降沿)将输入信号的变化传送至输出的边缘触发器。
输入--------|D Q |--------输出
时钟--------|CLK 非Q|---------反向输出
D
CLK
Q
非Q
X
L
Qn
非Qn
L
上升沿
L
H
H
上升沿
H
L
X
H
Qn
非Qn
X
下降沿
Qn
非Qn
触发器真值表
二、建立时间和保持时间
CMOS工艺下的触发器结构,先有传输门和两个反向器组成的一个循环电路,也叫锁存器,再由前后两级锁存器按主从结构连接而成。前级锁存器的值会将时钟输入的变化井然有序的存入后级锁存器。为了防止时钟信号变化时输入信号发生冒险,从而使稳定的输入信号进入前级锁存器,前级锁存器的时钟应该与产生输入信号的电路时钟反向。
触发器原理
当CLK=0(主锁存器工作)时,前级锁存器将输入D的值保存进来,后级锁存器维持上一个周期的数据。由于前级和后级的反相器环路之间的传送门是关闭状态,所以前级信号才不会传递到后级。
当CLK=1(从锁存器工作)时,前级反相器环路中保存的数据会传输到后级,同时输入D的信号会被隔离在外。如果此时前级反向器环路中的信号没有循坏一圈以上,就会出现电位在0和1之间摇摆,这就是所谓的
亚稳态
。由于亚稳态时间比延时时间长,在该阶段读取数据可能会引入错误,所以引
入建立时间
来约束在时钟上升沿到来前输入D保持稳定的时间。
当CLK=1时,如果输入D在传输门关闭前就发生变化,那么本该在下一周期读取的数据就会提前进入锁存器,从而引发反向环路振荡或者产生亚稳态。所以在CLK=1之后也需要输入D维持一定的时间,这部分时间称为
保持时间约束
。
FPGA内的触发器都要遵循
建立时间
和
保持时间
等时序上的约束。
三、时序分析
逻辑综合
:由Verilog HDL或VHDL编写的RTL(寄存器传输级)设计代码生成网表(逻辑门间的配线信息)的过程。
布局布线
:最终决定逻辑综合所生成的电路网表在FPGA中以何种方式实现的两道工序。
为了保证设计好的电路能够正常工作,既要保证逻辑正确,还要保证时序正确。从逻辑综合到布局布线,每一步都会对生成的电路进行评估分析。
仿真
耗时,需要对每个逻辑值分析,并且进行动态时序分析,所以耗时长,FPGA一般采用
静态时序分析
(简称STA)。这种方法只需要提供电路网表就可以全面评估检验,并且在原理上也只需遍历一次电路拓扑结构,所以分析速度快。许多EDA工具也采用STA验证电路能否按要求速度正确工作。
时序分析包括对设计电路的建立时间分析和保持时间分析,能够进行时序分析。主要是评估FPGA上设计电路的延迟是否满足时序约束。布线的延迟取决于FPGA设计电路的摆放位置和所使用的布线。
当FPGA的性能和逻辑门资源富余时编译过程较为容易;如果资源和设计规模相当的话布线过程时间就会长一点。时序分析必须检查所有的路径上的逻辑延迟和布线延迟的时序余裕,确保满足建立时间和保持时间的时序约束。
四、单相时钟同步电路
FPGA的设计中的输入信号会被先送到FF(触发器),输出信号则必须从FF引出,并且所有的FF都由同相的时钟驱动。这种设计属于由同一时钟的同一边沿同步动作的电路类型,而反相时钟(相位反转的时钟或反方向的边沿)不属于此类。基本上采用单一时钟进行同步较理想。
时钟偏移
:信号到达时间的错位称为时钟偏移。现实生活中的时钟信号布线太长,时钟信号驱动的负荷(扇出数),布线延迟等原因会导致出现时间差。和逻辑门电路的延迟一样,会对时钟周期的设定产生影响。时钟设计是集成电路时序设计重要的一环。
时钟抖动
:时钟振荡器的变动或者信号变形,时钟边沿会偏离平均位置。
为保证所有的FF的输入时钟信号同步,需要将时钟偏移和时钟抖动控制在一定范围之内。
FPGA已经实现了多层时钟树结构,通过驱动能力强的专用布线将时钟偏移的连接在整个芯片的FF上,所以时钟设计比ASCI容易。
立即学习>>梦翼师兄FPGA培训(视频加板卡),手把手带你入门FPGA
更多回帖
rotate(-90deg);
回复
相关帖子
FPGA
笔记
基础知识
电路设计
【
雨
的
FPGA
笔记
】
基础知识
-------构成
3525
【
雨
的
FPGA
笔记
】
基础知识
-------逻辑
电路
(1)
3664
【
雨
的
FPGA
笔记
】
基础知识
-------逻辑
电路
(2)
3043
电路设计
VHDL设计
基础知识
3022
电路设计
基础知识
——电容
1721
电子
电路设计
的
基础知识
3
常见
电路设计
关键
基础知识
汇总
1064
电路设计
关键
基础知识
精华集锦
0
电子
电路设计
的
基础知识
解析
18
集成
电路设计
基础知识
28913
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分