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