趙顯紅,張曉紅,張立文
(河南科技大學(xué) 電氣工程學(xué)院,河南 洛陽(yáng) 471023)
數(shù)字電路系統(tǒng)中,計(jì)數(shù)器是使用最廣泛的時(shí)序邏輯電路,其分析方法非常具有典型性。由觸發(fā)器構(gòu)成的計(jì)數(shù)器分為同步和異步兩類。同步計(jì)數(shù)器中全部觸發(fā)器均用同一個(gè)外部時(shí)鐘脈沖觸發(fā);而異步計(jì)數(shù)器中各觸發(fā)器則可以采用不同的時(shí)鐘信號(hào)。因?yàn)橥接?jì)數(shù)器中各觸發(fā)器采用同一時(shí)鐘,在分析過(guò)程中通常不考慮外部時(shí)鐘的影響,分析過(guò)程較為簡(jiǎn)單;但是,由于異步計(jì)數(shù)器中觸發(fā)器的時(shí)鐘信號(hào)不是同時(shí)起作用,工作節(jié)拍不一致,分析時(shí)必須同時(shí)考慮觸發(fā)器的輸入、電路的初態(tài)、時(shí)鐘信號(hào)等,這就使得分析過(guò)程變得更復(fù)雜更困難。傳統(tǒng)上的異步計(jì)數(shù)器的分析方法與同步計(jì)數(shù)器的分析方法有較大的差異[1]。
教科書計(jì)數(shù)器的分析方法通常采用迭代的方法,同時(shí)考慮時(shí)鐘信號(hào)的影響,計(jì)算量非常大[1-3];文獻(xiàn)中有采用卡諾圖分析法[4],其實(shí)質(zhì)仍然是填寫真值表方式;唐志興采用矩陣分析法,從數(shù)學(xué)模型出發(fā),解決含有未知原狀態(tài)變量的問(wèn)題[5];嚴(yán)單貴等的分析方法是采用將次態(tài)方程化為狀態(tài)變量的最小項(xiàng)的標(biāo)準(zhǔn)形式,但是僅用于同步計(jì)數(shù)器[6];張繼軍將同步與異步時(shí)序邏輯電路的分析方法進(jìn)行了統(tǒng)一,在分析電路中仍比較繁瑣[7]。
在現(xiàn)有的分析異步計(jì)數(shù)器的方法中,大多比較復(fù)雜。沒有統(tǒng)一的思路[8,9]。常常采用的方法仍然是迭代法。而利用上述同步計(jì)數(shù)器的分析方法,因?yàn)闀r(shí)鐘信號(hào)的影響,無(wú)法按照次態(tài)方程、狀態(tài)轉(zhuǎn)換表的填寫方法一次性完成。
本文以由多個(gè)觸發(fā)器構(gòu)成的異步計(jì)數(shù)器為例,給出一種新的分析方法,僅通過(guò)修改驅(qū)動(dòng)方程,而其它分析過(guò)程不變。這種新的方法來(lái)分析計(jì)數(shù)器,獲得了與同步計(jì)數(shù)器一樣簡(jiǎn)單的狀態(tài)轉(zhuǎn)換表的填寫,簡(jiǎn)單完美地實(shí)現(xiàn)了同步和異步分析方法的統(tǒng)一。
分析計(jì)數(shù)器的兩個(gè)最重要的指標(biāo)是計(jì)數(shù)器的模值和自啟動(dòng)特性,狀態(tài)轉(zhuǎn)換表能完整表述這兩點(diǎn)。通常的分析方法是:1) 寫出驅(qū)動(dòng)方程;2) 求出狀態(tài)方程(即次態(tài)方程)和輸出方程;3) 填寫狀態(tài)轉(zhuǎn)換表。
狀態(tài)轉(zhuǎn)換表的填寫,可以通過(guò)兩種方法完成:1) 可以通過(guò)給定初始值,通過(guò)代入次態(tài)方程獲得次態(tài)值,將次態(tài)重新作為初態(tài),反復(fù)迭代從而獲得狀態(tài)轉(zhuǎn)換表。2) 通過(guò)將次態(tài)方程化為狀態(tài)的最小項(xiàng)之和的標(biāo)準(zhǔn)形式,類似填寫組合邏輯電路的真值表的方法,直接填寫狀態(tài)轉(zhuǎn)換表。后者是較為優(yōu)秀便捷的方法[6]。
圖1 同步計(jì)數(shù)器
第一步,首先求出各JK觸發(fā)器的驅(qū)動(dòng)方程,如下方程組所示:
(1)
將式(1)帶入JK觸發(fā)器的特性方程Q*=JQ′+K′Q中去,于是得到電路的次態(tài)方程,并化成最小項(xiàng)之和的標(biāo)準(zhǔn)形式。
根據(jù)邏輯圖寫出輸出方程為Y=Q3Q2=∑m(6.7)。
第二步,創(chuàng)建狀態(tài)轉(zhuǎn)換表。
表1 真值表1
邏輯原理:設(shè)n個(gè)觸發(fā)器構(gòu)成的計(jì)數(shù)器,第i個(gè)觸發(fā)器,驅(qū)動(dòng)方程為Mi1,時(shí)鐘信號(hào)由前面所有起作用的觸發(fā)器的時(shí)鐘信號(hào)決定,設(shè)其分別為clkr0、clkr1、clkr2、……clkrj,其中1≤j≤n。時(shí)鐘脈沖觸發(fā)時(shí),主觸發(fā)器高電平觸發(fā)從觸發(fā)器低電平觸發(fā),則采用原變量;主觸發(fā)器低電平觸發(fā)從觸發(fā)器高電平觸發(fā),則采用反變量。時(shí)鐘邊沿觸發(fā)時(shí),下降沿采用原變量,上升沿采用反變量。
將時(shí)鐘信號(hào)作為驅(qū)動(dòng)方程的一部分必要條件,則原驅(qū)動(dòng)方程變?yōu)椋?/p>
(3)
將新的驅(qū)動(dòng)方程帶入相應(yīng)特征方程,即得到次態(tài)方程。其余過(guò)程完全類似同步時(shí)序邏輯電路。使用JK觸發(fā)器構(gòu)成的異步十進(jìn)制加法計(jì)數(shù)器為例來(lái)說(shuō)明新方法。
圖2 異步計(jì)數(shù)器
第一步,變化后的驅(qū)動(dòng)方程。
觸發(fā)器FF0:時(shí)鐘clk0下降沿觸發(fā),因?yàn)樵摃r(shí)鐘為整個(gè)電路的外部時(shí)鐘,故令clk0=1。原驅(qū)動(dòng)方程J0=0,K0=1,代入(3)式得到新驅(qū)動(dòng)方程:J0=1,K0=1。
觸發(fā)器FF2:時(shí)鐘由clk0、clk1和clk2的下降沿觸發(fā),clk0·clk1·clk2=1·Q0·Q1。原驅(qū)動(dòng)方程J2=1,K2=1,代入(3)式得到新驅(qū)動(dòng)方程:J2=Q1Q0,K2=Q1Q0。
觸發(fā)器FF3:時(shí)鐘由clk0和clk3的下降沿觸發(fā),clk0·clk3=1·Q0。原驅(qū)動(dòng)方程J3=Q2Q1,K3=1,代入(3)式得到新驅(qū)動(dòng)方程:J3=Q2Q1Q0,K3=Q1Q0。
第二步,獲得次態(tài)方程。
將新的驅(qū)動(dòng)方程帶入JK觸發(fā)器的特性方程Q*=JQ′+K′Q中去,得到電路的次態(tài)方程,并化成最小項(xiàng)之和的標(biāo)準(zhǔn)形式。
(4)
將相應(yīng)最小項(xiàng)的位置填入1,其余的地方均填入0??傻萌绫?所示狀態(tài)轉(zhuǎn)換表。很方便得出分析結(jié)果,該時(shí)序邏輯電路為加法計(jì)數(shù)器,計(jì)數(shù)模值為10,且具有自啟動(dòng)能力。
推導(dǎo)了異步時(shí)序邏輯電路計(jì)數(shù)器的次態(tài)方程的求取過(guò)程。通過(guò)修改異步計(jì)數(shù)器的驅(qū)動(dòng)方程,將次態(tài)方程簡(jiǎn)化為最小項(xiàng)之和的標(biāo)準(zhǔn)形式,簡(jiǎn)單快捷地填寫真值表,獲得時(shí)序邏輯電路的變化規(guī)律,同時(shí)便于檢查電路的自啟動(dòng)性。實(shí)現(xiàn)了由觸發(fā)器構(gòu)成的同步和異步計(jì)數(shù)器分析方法的統(tǒng)一。