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