錯誤使用派生時鐘對邏輯時序的影響
MCLKB3 《= MCLK_EXT;
MCLKB2 《= MCLKB3;
MCLKB 《= MCLKB2;
MCLK 《= MCLKB | MCLKB2 | MCLKB3;
end
end
兩個從邏輯功能上看是一樣的,但修改后因為只使用CLK48M時鐘,邏輯都是以CLK48M為觸發(fā)時鐘,省去了一級觸發(fā)器的延時,于是大大縮短了從源到目的寄存器的延時。提高了最高時鐘速率。編譯后打印CLK48M系統(tǒng)時鐘最高頻率信息如下:
Info: Clock “CLK48M” has Internal fmax of 77.08 MHz between source register “img_lgc:img|DATABUF[13]” and destination register “img_lgc:img|CAM_D[6]” (period= 12.974 ns)
可以看到CLK48M最高頻率可以達到77.08M,這個頻率是由“img_lgc:img|DATABUF[13]”到“img_lgc:img|CAM_D[6]”之間的路徑?jīng)Q定的。后面再繼續(xù)針對該網(wǎng)絡(luò)做優(yōu)化。
這種使用衍生時鐘的方法是很多人邏輯設(shè)計中存在的錯誤(因為對時序影響非常嚴重,所以這里稱它為一個錯誤也不為過),因為比較有典型性,所以特意整理了一下,希望引起初級邏輯工程師的注意。
評論