摘要:圖1是很多為了提高系統(tǒng)時鐘采用的拆分大組合邏輯的方法,但是沒有提供具體如何拆分的實例。我覺得實例才是重要的。但我不明白在寫代碼時,如何知道這樣寫會被綜合成一個很大的邏輯,一些簡單的可以想到(比如大的計數(shù)器應(yīng)該分成多個來做),但是更復(fù)雜的實在是不好理解??梢酝ㄟ^流水線的方式分拆組合邏輯,這也是一種提高芯片速
圖1是很多為了提高系統(tǒng)時鐘采用的拆分大組合邏輯的方法,但是沒有提供具體如何拆分的實例。我覺得實例才是重要的。但我不明白在寫代碼時,如何知道這樣寫會被綜合成一個很大的邏輯,一些簡單的可以想到(比如大的計數(shù)器應(yīng)該分成多個來做),但是更復(fù)雜的實在是不好理解。
可以通過流水線的方式分拆組合邏輯,這也是一種提高芯片速度的一種方式。 在組合邏輯中間插入寄存器,設(shè)計成流水。 很典型的例子就是調(diào)度器,如果做64調(diào)度器,可能中間的延時太長,不能滿足系統(tǒng)速度要求,這時候就可以做成一級16調(diào)度,一級4調(diào)度,來完成64調(diào)度的功能。
用加法器做例子,設(shè)輸入ABCD輸出OUT 上半部分就是: ut = A+B+C+D;
下半部分就是:
always @(posedge clk)
begin
sumreg1 <= sum1;
sumreg2 <= sum2;
sumreg3 < = sum3; end
assign sum1 = A+B;
assign sum2 = C+D;
assign sum3 = sumrge1+sumreg2;
assign UT = sumreg3;
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取