时钟是整个电路最重要、最特别的信号,体系内大部分器材的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要十分小, 不然就可能形成时序逻辑状况犯错;因此明晰FPGA规划中决议体系时钟的要素,尽量较小时钟的延时对确保规划的安稳性有十分重要的含义。
树立时刻与坚持时刻
树立时刻(Tsu:set up time)是指在时钟沿到来之前数据从不安稳到安稳所需的时刻,假如树立的时刻不满意要求那么数据将不能在这个时钟上升沿被安稳的打入触发器;坚持时刻(Th:hold time)是指数据安稳后坚持的时刻,假如坚持时刻不满意要求那么数据相同也不能被安稳的打入触发器。树立与坚持时刻的简略示意图如下图1所示。
图1 坚持时刻与树立时刻的示意图
在FPGA规划的同一个模块中常常是包括组合逻辑与时序逻辑,为了确保在这些逻辑的接口处数据能安稳的被处理,那么对树立时刻与坚持时刻树立明晰的概念十分重要。下面在认识了树立时刻与坚持时刻的概念上考虑如下的问题。举一个常见的比如。
图2 同步规划中的一个根本模型
图2为一致选用一个时钟的同步规划中一个根本的模型。图中Tco是触发器的数据输出的延时;Tdelay是组合逻辑的延时;Tsetup是触发器的树立时刻;Tpd为时钟的延时。假如榜首个触发器D1树立时刻最大为T1max,最小为T1min,组合逻辑的延时最大为T2max,最小为T2min。问第二个触发器D2立时刻T3与坚持时刻T4应该满意什么条件,或者是知道了T3与T4那么能容许的最大时钟周期是多少。这个问题是在规划中有必要考虑的问题,只要弄清了这个问题才干确保所规划的组合逻辑的延时是否满意了要求。
下面经过时序图来剖析:设榜首个触发器的输入为D1,输出为Q1,第二个触发器的输入为D2,输出为Q2;
时钟一致在上升沿进行采样,为了便于剖析咱们评论两种状况即榜首:假定时钟的延时Tpd为零,其实这种状况在FPGA规划中是常常满意的,由于在FPGA 规划中一般是选用一致的体系时钟,也便是使用从大局时钟管脚输入的时钟,这样在内部时钟的延时完全能够忽略不计。这种状况下不用考虑坚持时刻,由于每个数据都是坚持一个时钟节拍一起又有线路的延时,也便是都是根据CLOCK的推迟远小于数据的推迟基础上,所以坚持时刻都能满意要求,重点是要关怀树立时刻,此刻假如D2的树立时刻满意要求那么时序图应该如图3所示。
从图中能够看出假如:
T-Tco-Tdelay>T3
即: Tdelay< T-Tco-T3
那么就满意了树立时刻的要求,其间T为时钟的周期,这种状况下第二个触发器就能在第二个时钟的升沿就能安稳的采到D2,时序图如图3所示。
图3 符合要求的时序图
假如组合逻辑的延时过大使得
T-Tco-Tdelay 那么将不满意要求,第二个触发器就在第二个时钟的升沿将采到的是一个不定态,如图4所示。那么电路将不能正常的作业。
图4 组合逻辑的延时过大时序不满意要求