【正文】
–第四組: K4=C4C3C2C1=C4K3 –第五組: K5=C5C4C3C2C1=C5K4 ? 每組組內產生進位的條件 –第 I 組第一位: Pi1= Qi1(i=1)或 Pi1= Qi1Ki1(當i> 1) –第 I 組第二位: Pi2= Qi2Pi1(i≥1) –第 I 組第三位: Pi3= Ki (i≥1) 計數器 ?當一個計數脈沖到來后 , 每一位應得到的值 Di, 是本位原來值與低位向它的進位的半加值 。 若該位是小組的最低位 , 進位來自低位小組 , 當所有低位小組均會產生進位時 , 才會有此進位;若該位不是本小組的最低位 , 那么 , 進位來自本組內該位相鄰的低位 。 ? 當 i=1時為第一組 – D11=Q11 – D12=Q12 ? P11=Q12 ? Q11 – D13=Q13 ? P12=Q13 ?(Q12P11)=Q13 ?(Q12Q13) 計數器 ?當 i=2時為第二組 – D21=Q21? K1 – D22=Q22 ? P21=Q22 ? Q21K1 – D23=Q23 ? P22=Q23 ?(Q22P21)=Q23 ?(Q22Q21K1) ?當 i=3時為第三組 – D31=Q31? K2 – D32=Q32 ? P31=Q32 ? Q31K2 – D33=Q33 ? P32=Q33 ?(Q32P31)=Q33 ?(Q32Q31K2) 十進制數的編碼與運算 ? 現在畫出計數器前 3組的電路圖 , 如圖 336所示 。 ?當位數相同時 , 該計數器最高工作頻率比上述電位進位型計數器最高工作頻率高得多 。 因此稱這種計數器為快速計數器 。 十進制數的編碼與運算 ?現在畫出計數器前 3組的電路圖,如圖 336所示 . 當位數相同時,該計數器最高工作頻率比上述電位進位型計數器最高工作頻率高得多。因此稱這種計數器為快速計數器。 圖 336 快速計數器前 3組電路圖 陣列邏輯電路 陣列邏輯電路近些年來得到了迅速的發(fā)展。所謂陣列,是指邏輯元件在硅片上以陣列形式排列。這種電路具有設計方便、芯片面積小、產品成品率高、用戶自編程、減少系統的硬件規(guī)模等優(yōu)點。 陣列邏輯電路 ? 陣列邏輯組件 ? ROM ? 可編程序邏輯陣列( PLA) 陣列邏輯組件 ? 讀 /寫存儲器 (Random Access Memory, RAM)是一種典型的陣列邏輯電路,它的存儲單元排列成陣列形式。 ? 只讀存儲器 (Read Only Memory, ROM)也是一種重要的陣列邏輯電路,主要由全譯碼的地址譯碼器和存儲單元體組成,前者是一種與陣列,后者則是或陣列。存儲體中寫入的信息是由用戶事先決定的,因此是用戶可編程的;而地址譯碼器則是用戶不可編程的。 ? 可編程序邏輯陣列 (Programmable Logic Array,PLA)是 ROM的變種,也可以說是一種新型的 ROM。它和 ROM的不同之處是 PLA的與陣列、 陣列邏輯組件 或陣列都是用戶可編程的。 PLA在組成控制器、存儲固定函數以及實現隨機邏輯中有廣泛的應用。 ? 可編程序陣列邏輯 (Programmable Array Logic,PAL)也是 ROM的變種,它和 ROM的不同之處是PAL的與陣列是用戶可編程的,而或陣列是用戶不可編程的。 PAL在計算機中也有廣泛的應用。 ? 可編程門陣列 (Programmable Gate Array,PGA)是一種邏輯很強的陣列邏輯電路。在芯片上制作了排成陣列形式的門電路,根據用戶需要對門陣列中的門電路進行互聯,以實現所需要的邏輯功能。 陣列邏輯組件 ? 可編程宏單元陣列 (Programmable Macrocell Array, PMA)是一種比 PGA功能更強、集成度更高的陣列電路,在芯片上排列成陣列的除門電路外還有觸發(fā)器、加法器、寄存器以及 ALU等。 一般把除讀 /寫存儲器以外的陣列邏輯電路統稱為可編程序邏輯器件 (Programmable Logic Devices, PLD)。限于篇幅,下面只介紹 ROM和PLA器件。 ROM ? 存儲器中存放信息的單元是存儲單元,它是由若干個二進制信息組成的,叫做“字”,每個二進制信息稱為“位”。為了尋找存入存儲器中的字,給每個字以編號,稱為地址碼,簡稱地址。 ? ROM主要由地址譯碼器和存儲單元體組成,如圖337所示。由于它工作時只是讀出信息,因此可以通過設置或不設置如三極管、二極管、熔絲等元件來表示存入的二進制信息,它的存儲單元和讀出線路都比較簡單。 ? 圖 338(a)是以熔絲為存儲元件的 8 4ROM(通常以字線 位線來表示存儲器的存儲容量 )的原理圖。它以保留熔絲表示存入的是 0,以熔斷熔絲表示存入的是 1。例如,存入字 1的內容是 1011。 圖 337 ROM的結構 圖 338 (a) 熔絲型 8 4ROM原理 ROM ROM的地址譯碼是與門的組合,它的輸出是全部地址輸入的最小項??梢园炎g碼器表示成如圖 338(b)所示的與陣列,圖中與陣列水平線和垂直線交叉處的點表示有與的聯系。存儲單元體實際上是或門的組合, ROM的輸出數即或門的個數。譯碼器的每個最小項都可能是或門的輸入,但是,某個最小項能否成為或門的輸入取決于存儲信息,因此存儲單元體可看成一個或陣列。根據上述分析,可以從另一個角度來看 ROM的結構:它由兩個陣列組成,即與門陣列和或門陣列,其中或的內容是由用戶設置的,因而它是可編程的,而與陣列是用來形成全部最小項的,因而是不可編程的。 圖 338 ROM結構 ROM 利用多個 ROM芯片可以進行字數擴展和位擴展??捎?ROM來產生多變量多輸出的組合邏輯函數。只要把所要實現的函數用真值表表示,把函數的輸入作為 ROM的地址輸入,把函數的輸出作為 ROM的輸出,把真值表作為 ROM的存儲內容, ROM就可以產生組合邏輯函數。 n個變量 m個輸出函數可用容量為 2n m 的 ROM來實現。用 ROM代替組合邏輯的優(yōu)點是無須對函數表達式進行化簡,真值表的內容只是原封不動地裝入 ROM。此外,可使印刷電路板布局規(guī)整,便于設計實現。由于在 ROM內部產生的是 n個變量的全部 2n個最小項,因此用 ROM來實現邏輯函數時,某些不用的最小項可能會閑置不用,這樣硅芯片面積利用不充分,這是它的缺點。 可編程序邏輯陣列 ? 當用戶要存入 ROM的字數少于 ROM所能提供的字數時, ROM中有許多存儲單元便會閑置不用,因而造成管芯面積的浪費。此外,在 ROM中,地址和字之間有一一對應的關系,對任何一個給定地址只能讀出一個字,因此,即使有若干個字的內容一樣,也無法節(jié)省單元。 PLA是一種特殊的只讀存儲器,它較好地解決了 ROM的上述缺點,用較少的存儲單元就能存儲大量的信息。同時, PLA在計算機微程序控制、組合及時序函數的產生、代碼轉換方面得到了廣泛的應用。 ? 現在通過把一張信息表 (見表 31)存入 PLA的過程來說明其原理。 輸 入 輸 出 X3 X2 X1 X0 F7 F6 F5 F4 F3 F2 F1 F0 L L L L L L L L L L L L L L L H L L L L L L L H L L H L L L L L L H L L L L H H L L L L H L L H L H L L L L L H L L L L L H L H L L H H H L L H L H H L L L L L L H L L L H H H L L H H L L L H H L L L L H L L L L L L H L L H L H L H L L L H H L H L L H L L L H L L H L H H L H L H H L L H H H L L L L L H L L L L H H L H L L L L H L L H H H H L H H H L L H L L H H H H H H H L L L L H 表 31 一張信息表 可編程序邏輯陣列 根據表 31寫出邏輯表達式 (通常是用一個與或表達式,即使輸出為 1的所有最小項的或 ),并進行化簡,可得下列結果。其中, X 為任意值。(請見書上 P87~P88,公式組 33 33 338) 最后,把式 (336)的邏輯函數畫成如圖 339所示的邏輯圖,它就是一個存入表 31所示信息的 PLA。 由圖可知, PLA也由兩部分組成。上半部分是一個形成 P 項的二極管與陣列 (即譯碼陣列 ),它和ROM的譯碼器相當, 9條 P 線稱為 PLA的字線;下半部分是形成輸出 F 的三極管或陣列 (即存儲陣列 ),它相當于 ROM的存儲矩陣。 可編程序邏輯陣列 顯然,若用 ROM來存儲表 31,則 ROM的與矩陣容量應為 16 8,其或矩陣應為 16 8。若用PLA來存儲表 31,則 PLA的與矩陣容量只需 9 8,其或矩陣容量只需 9 8??梢姡?PLA表存儲信息,它所需要的存儲容量往往要比 ROM小。 圖 339所示 PLA的讀出過程是:若X3X2X1X0=1001,則字線 P0、 P P8均被選中,其余字線均未被選,再經存儲矩陣,得 F0、F F6為 1,其余輸出均為 0。 PLA的輸出就和表31所示一樣。 圖 339 存儲表 31所示信息表的 PLA 可編程序邏輯陣列 在分析了信息是如何存入 PLA以及如何從 PLA讀出后,可以把 PLA的特點歸納如下。 (1)在 ROM中,地址譯碼器 (與陣列 )是完全譯碼器,它提供了輸入的全部最小項,每個地址對應一個字,譯碼器是用戶不可編程的。而 PLA,雖然也有一個地址譯碼器 (即與陣列 ),但它是一個非完全譯碼器,它的輸出不是輸入變量的最小項,而是某些輸入變量的乘積項,乘積項的個數小于 (或等于 )2n。此外,這個譯碼器是用戶可編程的。因此, PLA的與矩陣比 ROM的與矩陣節(jié)省了許多元件,因而節(jié)省了管芯面積。 可編程序邏輯陣列 (2)在 ROM中,地址和字是一一對應的,對于任一給定的地址,只能讀出一個字。而在 PLA中,一個地址可以同時 (即并行地 )讀出兩個或兩個以上的字 (即P項 ),在 PLA輸出端,所得的是讀出字的或。此外,多個地址碼能訪問同一個 P項。這樣, PLA就能用較少的單元存儲較多的信息。 (3)在 ROM中,信息表是原封不動地裝入存儲陣列中的。在 PLA中,存儲信息不是原封不動地裝入的,而是經過簡化、壓縮后裝入的,它和信息表不再是簡單的一一對應關系了。 可編程序邏輯陣列 圖 340是圖 339所示電路的 PLA器件電路圖。兩者的不同之處是,前者是可編程的,后者是根據實際需要設計好的電路,不可編程。圖 340中,有4個輸入端、 8個輸出端, 9個乘積項。與陣列規(guī)模是 8 9,或陣列規(guī)模是 9 8。采用熔絲作存儲元件。在電路的輸出處設置了和輸出端數目相等的異或門及三態(tài)門。異或門的一端的熔絲接地,由它來決定存入 PLA的內容究竟是以原碼還是以反碼形式輸出:若異或門的熔絲保留,則輸出為原碼;若異或門的熔絲熔斷,則輸出為反碼。這種異或門又稱為求反異或門。 圖 340 PLA器件電路