本文从硬件的角度来解释就会交换芯片Buffer资源稀缺的原因
1 为什么需要时钟
从一个简单的加法器说起
数字电路分为时序逻辑和数字逻辑,以上电路为加法器,为典型的数字逻辑。理想的情况下,输入信号1和信号2,立刻输出结果。
实际的物理电路中,必然会存在时延,Inpu1和Inpu2信号本身也是经过其它逻辑器件计算以后的结果,必然存在不同的时延。Inpu1输入为1,Inpu2输入为1,Output的正确结果应该为2。假设Input2的延时较大,读取Output时,Input的输入为之前的老数据0,Output的结果就为1,读出了错误的数据。
引入上图的的时钟电路。 lip-flop:为触发器,是时钟上升沿触发,可存储1bitdata,是register的基本组成单位。当上升沿到达时,Input1的数据保存到锁存器中,后面的一个时钟周期内,数据保持不变。只要时钟周期大于Inpu1和Inpu2的最大延时,可以保证在一个时钟周期内,Output获取正确的数据。
这样做实际上就是让逻辑1的工作结果卡在了寄存器2的输入口,等待下一个时钟上升沿,再和逻辑2的工作结果一同被采样,付出的代价就是,让逻辑1这条支路的工作速度强制变慢以同步.