1、FIFO深度计算
1)计算思维:计算深度=(写入的数据个数)-(在写入时间内可读出数据个数)
2)判断有解的依据:在求解之前需要验证一下在允许的最大时间长度内写入的数据量是否等于读出的数据量,保证有解;即写入burst数据时间必须大于等于读出burst数据时间,不然数据就会越累积越多,使得FIFO的深度必须为无穷大。
3)最小深度的条件:读写的速率应该相差最大,也就是说需要找出最大的写速率和最小的读速率
2、建立时间与保持时间
1)建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。
2)保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。
3)公式推导思维:
分析的是FF2是否满足
(1)对于建立时间:
在两级触发器的电路中,因为对于FF2来说,只要在上升沿采集到数据即可,FF1采集到的数据有一整个时钟周期的时间传递给FF2,因为要满足建立时间要求,这要求数据比时钟慢,以保证在FF2上升沿时数据稳定。
所以公式可表示为Tdata_path+Tsetup≤Tperiod
(2)对于保持时间:
与建立时间不同,建立时间FF1与FF2分析的时钟上升沿不在同一时刻,分析保持时间时,分析的是FF1与FF2时钟同一时刻上升沿。
满足保持时间就是为了保证FF2采样当前数据时,不被FF1传送过来的新数据充掉。即保证新数据到达得比时钟慢,也就是数据延时要比保持时间要大。如果最小的保持时间比数据的延时时间要小,会导致当前数据没有保持到最小的保持时间,就被新到来的数据刷新掉,导致当前的数据不能正确采样到。
所以公式可以表示为:Tdata_path-Thold≥0