用電路實(shí)現pascal三角形運算
電路設計
首先構建一個(gè)4級pascal三角形電路,其中CLOCK是時(shí)鐘信號,IN1、IN2、IN3、IN4分別對應于pascal三角形的前4行,CLEAR是清零信號。IN1、IN2、IN3、IN4輸入之前將觸發(fā)器清零,防止輸出不定態(tài)。D0、D1、D2、D3是從低到高的四位輸出,SIGN是符號位,這五位構成輸出。值得注意的是,IN4經(jīng)過(guò)與自己直接相連的D觸發(fā)器產(chǎn)生的數只有一位,然而它的補碼需要4位,只好在高位加零,這樣補碼電路就可以簡(jiǎn)化,圖7就是經(jīng)過(guò)簡(jiǎn)化的電路圖。為了增加電路的直觀(guān)性,這里省略了電路中所有D觸發(fā)器的時(shí)鐘信號和清零信號,所有D觸發(fā)器的清零信號和時(shí)鐘信號分別連在一起。
真值表
IN4 | IN3 | IN2 | IN1 | CP1 | CP2 | CP3 | CP4 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | -1 | 0 | 0 |
0 | 0 | 1 | 1 | 2 | -1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | -2 | 1 | 0 |
0 | 1 | 0 | 1 | 2 | -2 | 1 | 0 |
0 | 1 | 1 | 0 | 2 | -3 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | -3 | 3 | -1 |
1 | 0 | 0 | 1 | 2 | -3 | 3 | -1 |
1 | 0 | 1 | 0 | 2 | -4 | 3 | -1 |
1 | 0 | 1 | 1 | 3 | -4 | 3 | -1 |
1 | 1 | 0 | 0 | 2 | -5 | 4 | -1 |
1 | 1 | 0 | 1 | 3 | -5 | 4 | -1 |
1 | 1 | 1 | 0 | 3 | -6 | 4 | -1 |
1 | 1 | 1 | 1 | 4 | -6 | 4 | -1 |
電路的驗證與擴展
取IN1、IN2、IN3、IN4從0001到1111,并且給每組值以足夠的變化周期,可以得到下面的真值表。在viewlogic用XILINX公司的XC4000庫進(jìn)行模擬,除了可以忽略的毛刺和初始時(shí)無(wú)關(guān)緊要的不定態(tài)之外,得到的波形圖與真值表完全一致,其中CP1、CP2、CP3、CP4分別對應于第1、2、3、4時(shí)鐘,周期波形圖如圖8所示。
圖8 波形圖
三級的電路得到驗證之后,根據同樣的原理,可以在四級的基礎上進(jìn)行任意級的構建。
小結
本文給出了pascal三角形運算電路的設計思想與實(shí)現方法,以及在viewlogic下的驗證,并且還可以根據需要進(jìn)行任意級的擴展。Pascal三角形在版圖布局布線(xiàn)優(yōu)化等方面的具體應用可以參考有關(guān)文獻,在此不再贅述。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論