使用累加器建造加法器和計數器
累加器是一個非常有用的裝置。它可以儲存插入到其中的任何內容的總和。建造累加器要先從上升邊緣檢測器開始:
上升邊緣檢測器是一種裝置,當輸入端從關閉到開啟時輸出信號。你也可以通過倒置邏輯燈來創建一個下降邊緣檢測器,它只在輸入端從打開到關閉時輸出脈衝。如果你將一系列的下降邊緣檢測器並排放置並從右向左連接,你將得到一個累加器:
當線路被觸發時,累加器儲存的值以相應位的2的冪值增加。只需將最右邊的電線連接到觸發器上,就可以將累加器用作計數器。您還可以同時觸發多條線路,以使累加器可以增加任意值。注意,如果累加器內的值超過11111111(最大值),則會發生溢出,導致其發生重置。
通過倒置所有的邏輯燈(從而將它們轉換為上升邊緣檢測器),您可以反轉累加器,從而使插入到其中的資料被減去。
疊加單一的組件以建造更複雜的裝置
在這之前,我們知道了如何建造各種可以在1bit(八個數位)的數位上運行的裝置,從D觸發器到移位器再到累加器。現在是時候將它們放在一起來建造更完善的裝置了。
這可以通過將裝置堆建在一個類似架子的結構中,以一種非常緊湊的組件組裝方式來完成。
例如,這裡有一個D觸發器陣列和一個累加器連接在一起:
上面一行是D觸發器陣列,下面一行是累加器,擺放的石磚只是為了幫助連接電路。
請注意,看我是如何使用單線傳輸特定bit的所有信號的。 我本可以用單獨一種顏色的電線來做D觸發器,而對累加器中的每一位使用另一種顏色的電線連接,但是將同一根電線連接到每一個與一個bit相連接的裝置上要容易得多,也更有整齊性。
更換電線顏色也很重要,就像我對藍線和綠線所做的那樣,因為這樣可以讓兩個bit相互連接而不產生干擾。
最後,注意一下如何使用單獨的一組紅線連接累加器中的D觸發器。如果我沒有這樣做,那麽來自D觸發器的信號將啟動累加器中的下降邊緣(沿)觸發器。
無論如何,這只是一個如何組合設備的基本例子。在構建更大的設備堆棧時,請記住我提到的規則(每比特一根垂直線、交替的電線顏色和單獨的觸發器線),因為我將在後面的教學中展示的大多數設備都將使用這些規則。
使用比較器比較數值
比較器是將兩個數值作為輸入,並確定它們是相等的還是一個值大於另一個值的裝置(比較大小)。
要建造一個二進製數值的比較器,需要考慮關於二進製數的兩個很明顯但是重要的事實: 1大於0;1在較高的地方(即左邊)的數值大於1在較低的地方。
知道這些之後, 您可以比較兩個二進製數字,方法是從左到右掃描它們,並找到第一個出現在同一位置的兩個位不匹配的情況。
例如,00110110大於00110010。
如果您查看每個數字中最左邊的位,然後一次向右移動一位,直到找到不匹配的位為止,你就會知道,結果是1的位,就必須是更大的數字。
如果,在比較數字時,沒有匹配過一對不同的位,那麽你就知道這兩個數字是相等的。
下面是使用故障燈門實現此過程的方法:
這個比較器包含一個單比特比較(一行) ,它會觸發三個輸出端中的一個,從上到下的輸出端的情況分別是藍色=綠色、藍色>綠色和藍色<綠色。
如果是單獨比較一個位,你可以看到藍線和綠線的位都連接到頂端的一對故障燈門。如果位不同,這對門將向紅線發送信號,如果它們相同則向黃線發送信號,從而繼續下一位的比較。
如果位不同,則紅線觸發一對僅由綠線控制的故障燈門。 如果綠線連接的位關閉,則 “藍色>綠色” 的輸出端將被觸發,因為藍線連接的位必須打開。 但是,如果綠線連接的位打開,則觸發 “藍色<綠色” 的輸出端。
來源:遊俠網