Altera器件時(shí)間匹配問(wèn)題的解決方案
2.3 重新設計電路
毛刺是信號趨于穩定前不必要的開(kāi)關(guān)動(dòng)作,使每個(gè)時(shí)鐘沿改變了寄存器間組合邏輯的輸入。對每個(gè)節點(diǎn)而言,不同的輸入路徑有不同的延時(shí),這將多次改變狀態(tài)。節點(diǎn)上的毛刺多少與該節點(diǎn)的邏輯深度,也就是節點(diǎn)至最初輸入的邏輯門(mén)個(gè)數有關(guān)。到達節點(diǎn)的邏輯錐體越深、越寬,毛刺也越多。降低邏輯深度,減少邏輯錐體的開(kāi)關(guān)輸入可減少這類(lèi)毛剌。時(shí)序驅動(dòng)合成以及邏輯單元的合理映射能減少邏輯級的數量。
如果一個(gè)計數器的輸出端接一個(gè)組合電路,這個(gè)組合電路的輸出端產(chǎn)生了毛刺,最好的解決方法是重新設計電路,只要在這一時(shí)刻改變計數器輸出端子的輸出順序,就可以消除下一級組合電路輸出端的毛刺。例如,在下面程序中,在這一時(shí)刻改變q0、q1、q2輸出順序,就能解決計數器輸出所接的組合電路輸出端毛刺的問(wèn)題。
subdesign modcount
(clk,reset:input;
q[2..0]

)
variable
counter3:machine of bits(rr[2..0])
with states(r0=B101, --換成r5的輸出
r1=B100, --換成r4的輸出
r2=B000, --換成r0的輸出
r3=B001, --換成r1的輸出
r4=B011, --換成r3的輸出
r5=B010, --換成r2的輸出
r6=B110,
r7=B111);
begin
q[ ]=rr[ ];
counter3.reset=reset;
counter3.clk=clk;
CASE counter3 IS
when r0=>counter3=r1;
when r1=>counter3=r2;
when r2=>counter3=r3;
when r3=>counter3=r4;
when r4=>counter3=r5;
when r5=>counter3=r6;
when r6=>counter3=r7;
when r7=>counter3=r0;
END CASE;
End ;
3 行波時(shí)鐘時(shí)間匹配問(wèn)題
行波時(shí)鐘是計數器通常使用的一種時(shí)鐘方式,而使用行波時(shí)鐘是可能引起潛在時(shí)間匹配問(wèn)題的另一個(gè)因素。所謂行波時(shí)鐘是指一個(gè)寄存器的輸出為另一個(gè)寄存器產(chǎn)生時(shí)鐘,而不是使用一個(gè)公共的系統時(shí)鐘。如果仔細設計,行波時(shí)鐘可以像全局時(shí)鐘一樣可靠工作,但是行波時(shí)鐘使得與電路有關(guān)的定時(shí)計算變得很復雜。行波時(shí)鐘在行波鏈上各寄存器時(shí)鐘之間將產(chǎn)生較大的時(shí)間偏移,并且會(huì )超出最壞情況下的建立時(shí)間、保持時(shí)間和電路中時(shí)鐘到輸出的延時(shí),使系統的實(shí)際速度下降。在圖5(a)中使用行波時(shí)鐘所示電路的時(shí)鐘周期依賴(lài)于計數器最低位的變化沿計數器傳播到最高位所花的時(shí)間,這個(gè)周期與計數器的位數有關(guān)。隨著(zhù)逐位進(jìn)位計數器的位數增加,系統的速度將下降,為此可使用同步電路來(lái)解決這個(gè)問(wèn)題,如圖5(b)所示。當把異步計數器改成同步操作時(shí),系統的速度由寄存器的建立和保持時(shí)間決定,而不是由計數器的位數決定。同步電路不需要使用附加的資源,就可以提高計數器的速度,并消除出現非法計數數值的可能性。
還可以通過(guò)在MAX+PLUSII中仔細地分配資源,來(lái)提高設計的可靠性。在MAX器件中通過(guò)PIA的信號將會(huì )有時(shí)間延時(shí)。為消除這種延時(shí),可以在MAX+PLUSⅡ中進(jìn)行團體分配,也就是將計數器鄰接的位安排在同一個(gè)LAB中的諸宏單元內。
4 結束語(yǔ)
在組合電路中,從信號輸入到穩定輸出需要一定的時(shí)間。由于從輸入到輸出的過(guò)程中,不同通路上門(mén)的級數不同,或者門(mén)電路平均延遲時(shí)間的差異,使信號從輸入經(jīng)不同通道傳輸到輸出級的時(shí)間不同,由于這個(gè)原因,就產(chǎn)生了毛刺。這是一個(gè)普遍性的問(wèn)題。本文對解決毛刺的方法作了一個(gè)總結,有利于大家快速、準確設計穩定的集成電路。在這個(gè)問(wèn)題上,AHDL語(yǔ)言比VHDL語(yǔ)言要直觀(guān)、易于理解。從宏觀(guān)上看,要解決Altera器件設計中的時(shí)間匹配問(wèn)題,要使用同步設計。采用同步電路設計也可以使電路免受外部因素影響(如硅處理工藝和溫度變動(dòng))而造成的時(shí)間匹配問(wèn)題。
評論