複製鏈接
請複製以下鏈接發送給好友

時序邏輯

鎖定
計算機出現後的最初幾十年裏,計算機實質上是一個巨大的計算器,數字被錄入,計算結果被輸出。直到20世紀70年代,科學家們才意識到需要正確地驗證這些計算結果。隨着電腦變得更強大,軟件更先進,多任務和變化的數據核查變得更加困難。
中文名
時序邏輯
別    名
時態邏輯

時序邏輯概念

由多個觸發器和多個組合邏輯塊組成的網絡。常用的有:計數器、複雜的數據流動控制邏輯、運算控制邏輯、指令分析和操作控制邏輯。同步時序邏輯是設計複雜的數字邏輯系統的核心。時序邏輯藉助於狀態寄存器記住它目前所處的狀態。在不同的狀態下,即使所有的輸入都相同,其輸出也不一定相同。

時序邏輯被引入計算科學

在計算機出現後的最初幾十年裏,計算機實質上是一個巨大的計算器,數字被錄入,計算結果被輸出。直到20世紀70年代,科學家們才意識到需要正確地驗證這些計算結果。隨着電腦變得更強大,軟件更先進,多任務和筆畫的數據核查變得更加困難。因此,程序員不得不考慮到時間推移下系統的行為。在這個契機下,時序邏輯被引入計算科學,這是計算科學發展歷史的重要轉折點。
時序邏輯也叫時態邏輯(temporallogic),是計算機科學裏一個很專業很重要的領域。時序邏輯被用來描述為表現和推理關於時間限定的命題的規則和符號化的任何系統,主要用於形式驗證。20世紀60年代Arthur Prior提出介入的基於模態邏輯的特殊的時間邏輯系統,這一理論後來被艾米爾 伯努利等邏輯學家進一步發展。
後來,Pnueli在斯坦福大學IBM Waston 研究中心從事博士後的研究工作,從這時開始,他將工作研究方向轉移到計算機科學領域。1973年,他創辦了特拉維夫大學計算機科學系,並擔任第一任院長。1977 年,Pnueli開創性地把時態邏輯引入計算機科學,他的時態邏輯是非經典邏輯中的一種,研究如何處理含有時間信息的事件的命題和謂詞。現在通常稱為時序邏輯的計算機系統,就出現在這一年,Pnueli 在子編程語言與系統驗證方面做出的傑出貢獻具有里程碑意義。
“Pnueli實現了這一邏輯,這是計算機科學的完美契合”,賴斯大學計算工程的摩西教授如是説。1996 年度圖靈獎頒獎典禮上,該獎項的題詞評價Pnueli 1977年的論文“引發了對系統的動態行為推理的基本模式轉變”。這個很傑出的技術誕生後即在軟件工程界引起轟動,掀起了軟件工程中的一場革命,目前已成為開發反應式系統和併發式系統時進行規格説明和驗證的工具,在芯片、硬件的設計上已經廣泛運用。
1981年,Pnueli 回到魏茲曼成為計算機科學系的教授。1999年,Pnueli加入美國紐約大學計算機科學系並出任教授一職。此外,和國外絕大多數教授一樣,Pnueli 並不拘泥於純學術的研究和教學。Pnueli 成立了幾家軟件公司,1971年成立Mini-Systems ,1984年成立AdCad。他還和朋友一起在美國馬薩諸塞州創辦了另一家公司:iLogixInc,Pnueli 擔任iLogixInc 公司的首席科學家。
Pnueli為人謙遜隨和,與中國的淵源甚深。他和2008年去世的我國著名邏輯和軟件學家唐稚松是至交,二人均是時態邏輯方面是業界領跑人。唐稚松教授提出了世界上第一個可執行時序邏輯語言XYZ/E。如果説Pnueli獲1996年圖靈獎的最大貢獻,是因開創性地將時序邏輯引入計算科學,那麼唐稚松則是第一次將這種時序邏輯形式化理論與最新軟件技術結合起來,應用該語言將狀態轉換的控制機制引入到邏輯系統之中的人。Pnueli 赴美接受圖靈獎前夕,在寫給唐稚松的信中説:“我完全相信,由於使時態邏輯成為具有‘深遠影響’的理念,你應該分享這一榮譽(指圖靈獎)中一個很有意義的部分。”
除了圖靈獎,Pnueli還曾獲得獎項無數,其中就包括以色列獎,這是以色列給出美國國家科學院外籍院士的成員的最高榮譽。

時序邏輯時序邏輯電路

數字電路根據邏輯功能的不同特點,可以分成兩大類,一類叫組合邏輯電路(簡稱組合電路),另一類叫做時序邏輯電路(簡稱時序電路)。組合邏輯電路在邏輯功能上的特點是任意時刻的輸出僅僅取決於該時刻的輸入,與電路原來的狀態無關。而時序邏輯電路在邏輯功能上的特點是任意時刻的輸出不僅取決於當時的輸入信號,而且還取決於電路原來的狀態,或者説,還與以前的輸入有關。

時序邏輯簡介

時序邏輯電路是數字邏輯電路的重要組成部分,時序邏輯電路又稱時序電路,主要由存儲電路和組合邏輯電路兩部分組成。它和我們熟悉的其他電路不同,其在任何一個時刻的輸出狀態由當時的輸入信號和電路原來的狀態共同決定,而它的狀態主要是由存儲電路來記憶和表示的。同時時序邏輯電路在結構以及功能上的特殊性,相較其他種類的數字邏輯電路而言,往往具有難度大、電路複雜並且應用範圍廣的特點[1]。
在數字電路通常分為組合邏輯電路時序邏輯電路兩大類,組合邏輯電路的有關內容在前面的章節裏已經作了介紹,組合邏輯電路的特點是輸入的變化直接反映了輸出的變化,其輸出的狀態僅取決於輸入的當前的狀態,與輸入、輸出的原始狀態無關,而時序電路是一種輸出不僅與當前的輸入有關,而且與其輸出狀態的原始狀態有關,其相當於在組合邏輯的輸入端加上了一個反饋輸入,在其電路中有一個存儲電路,其可以將輸出的狀態保持住,我們可以用框圖來描述時序電路的構成。
輸出是輸入及輸出前一個時刻的狀態的函數,這時就無法用組合邏輯電路的函數表達式的方法來表示其輸出函數表達式了,在這裏引入了現態(Present state)和次態(Next State)的概念,當現態表示現在的狀態(通常用Qn來表示),而次態表示輸入發生變化後其輸出的狀態 (通常用Qn 1表示),那麼輸入變化後的輸出狀態表示為
Qn 1=f(X,Qn)
其中:X為輸入變量。
下面通過兩個波形圖來幫助建立時序電路中存儲器的概念:
有四段輸入RS都為0的情況,但其輸出Q的狀態不同,這取決於輸出的原始狀態;但多了一個CP,這時輸出Q不僅取決於輸入RS、輸出Q的原始狀態,而且取決CP的狀態,僅當CP為高電平時,輸入的狀態才能影響輸出的狀態。通常將上面的兩種類型分為兩種形式的存儲器電路:鎖存器(Latch)和觸發器(Flip-flop),其兩者的區別在於其輸出狀態的變化是否取決於CP(時鐘脈衝Clock Pulse)。將所有的電路稱為鎖存器,電路稱為觸發器電路。
時序邏輯電路的特點:任意時刻的輸出不僅取決於該時刻的輸入,而且還和電路原來的狀態有關,所以時序電路具有記憶功能。

時序邏輯三種邏輯器件

時序邏輯電路應用很廣泛,根據所要求的邏輯功能不同進行劃分,它的種類也比較繁多。在具體的授課環節中,主要選取了應用較廣、具有典型時序邏輯電路特徵的三種邏輯器件進行比較詳細地介紹[1]。
1.計數器
一般來説,計數器主要由觸發器組成,用以統計輸入計數脈衝CP的個數。計數器的輸出通常為現態的函數。計數器累計輸入脈衝的最大數目稱為計數器的“模”,用M表示。如M=6計數器,又稱六進制計數器。所以,計數器的“模”實際上為電路的有效狀態數[1]。
同步七進制加法計數器的邏輯圖計數器的種類很多,特點各異。主要分類如下:按計數進制可分為:二進制計數器、十進制計數器、任意進制計數器。按計數增減可分為:加法計數器、減法計數器、加/減計數器,又稱可逆計數器。按計數器中觸發器翻轉是否同步可分為:異步計數器同步計數器[1]。
2.寄存器
寄存器是存放數碼、運算結果或指令的電路,移位寄存器不但可存放數碼,而且在移位脈衝作用下,寄存器中的數碼可根據需要向左或向右移位。寄存器和移位寄存器是數字系統和計算機中常用的基本邏輯部件,應用很廣。一個觸發器可存儲一位二進制代碼, n個觸發器可存儲n位二進制代碼。因此,觸發器是寄存器和移位寄存器的重要組成部分。對寄存器中的觸發器只要求它們具有置0或者置1功能即可,無論是用同步結構的觸發器,還是用主從結構或者邊沿觸發的觸發器,都可以組成寄存器[1]。
順序脈衝是指在每個循環週期內,在時間上按一定先後順序排列的脈衝信號。產生順序脈衝信號的電路稱為順序脈衝發生器。在數字系統中,常用以控制某些設備按照事先規定的順序進行運算或操作[1]。

時序邏輯特點

時序邏輯電路其任一時刻的輸出不僅取決於該時刻的輸入,而且還與過去各時刻的輸入有關。常見的時序邏輯電路有觸發器計數器寄存器等。由於時序邏輯電路具有存儲或記憶的功能,檢修起來就比較複雜。
帶有時序邏輯電路的數字電路主要故障分析:
1. 時鐘:時鐘是整個系統的同步信號,當時鍾出現故障時會帶來整體的功能故障。時鐘脈衝丟失會導致系統數據總線、地址總線或控制總線沒有動作。時鐘脈衝的速率、振幅、寬度、形狀及相位發生變化均可能引發故障。
2. 復位:含有微處理器(MPU)的設備,即使是最小系統,一般都具有復位功能。復位脈衝在系統上電時加載到MPU上,或在特定情況下使程序回到最初狀態(例如,看門狗Watchdog程序)。當復位脈衝不能發生、信號過窄、信號幅度不對、轉換中有干擾或轉換太慢時,程序就可能在錯誤的地址啓動,導致程序混亂。
3. 總線:總線傳遞指令系列和控制事件,一般有地址總線、數據總線和控制總線。當總線即使只有一位發生錯誤時,也會嚴重影響系統功能,出現錯誤尋址、錯誤數據或錯誤操作等。總線錯誤可能發生在總線驅動器中,也可能發生在接收數據位的其它元件中。
4. 中斷:帶微處理器(MPU)的系統一般都能夠響應中斷信號或設備請求,產生控制邏輯,以暫時中斷程序執行,轉到特殊程序,為中斷設備服務,然後自動回到主程序。中斷錯誤主要是中斷線路粘附(此時系統操作非常緩慢)或受到干擾(系統錯誤響應中斷請求)。
5. 信號衰減和畸變:長的並行總線和控制線可能會發生交互串擾和傳輸線故障,表現為相鄰的信號線出現尖峯脈衝(交互串擾),或驅動線上形成減幅振盪(相當於邏輯電平的多次轉換),從而可能加入錯誤數據或控制信號。發生信號衰減的可能原因比較多,常見的有高濕度環境、長的傳輸線、高速率轉換等。而大的電子干擾源會產生電磁干擾(EMI),導致信號畸變,引起電路的功能紊亂 [1] 
參考資料
  • 1.    唐稚松. 時序邏輯程序設計與軟件工程.上,時序邏輯語言[M]. 科學出版社, 1999.