基于LabVIEW的數(shù)字虛擬芯片構(gòu)建方法及應(yīng)用
0 引言
虛擬儀器LabVIEW目前已廣泛應(yīng)用于測試領(lǐng)域,出發(fā)點和歸宿是“軟件化的真實儀器”。LabVIEW同時又是一個優(yōu)秀的仿真系統(tǒng),但真正處于仿真目的使用的并不多見,本文提出數(shù)字“虛擬芯片”概念,并基于LabVIEW實現(xiàn)仿真運用。
所謂“虛擬芯片”,是在充分利用LabVIEW圖形化語言風(fēng)格和強大信號處理功能的基礎(chǔ)上,設(shè)計具有一定顯示界面的虛擬輸入/輸出端子、能完成相應(yīng)的數(shù)字邏輯運算功能或數(shù)字信號處理功能的計算機程序,也就是LabVIEW的VI。應(yīng)當(dāng)說這是新時期數(shù)字邏輯電路設(shè)計、實驗或教學(xué)的一種新舉措,基于LabVIEW的數(shù)字虛擬芯片和原理圖設(shè)計與其他仿真系統(tǒng)相比,不但有自身的特點,也是對虛擬儀器系統(tǒng)LabVIEW應(yīng)用新領(lǐng)域的拓展和補充。
1 基于LabVIEW實現(xiàn)虛擬數(shù)字邏輯電路仿真的可行性及優(yōu)點
由前面板實現(xiàn)數(shù)字電路的各種控制和顯示,由程序流程圖實現(xiàn)數(shù)字電路的邏輯運算功能,是基于虛擬儀器LabVIEW進行數(shù)字邏輯電路仿真設(shè)計的基礎(chǔ)。LabVIEW的前面板提供了大量數(shù)值、布爾控件。后面板提供了大量的函數(shù)模塊,使用這些函數(shù)可以很方便地調(diào)用或設(shè)計出各種門電路、編碼器、譯碼器、運算器、存儲器、觸發(fā)器、定時器、ADC/DAC等數(shù)字電路設(shè)計中常用的器件模塊。在數(shù)字電路中,高電平和低電平2種邏輯狀態(tài)可用前面板中的布爾控件提供;而電路設(shè)計中的各種模擬量可以用各種數(shù)值型控件及函數(shù)信號發(fā)生器產(chǎn)生和提供?;贚abVIEW實現(xiàn)虛擬數(shù)字邏輯電路的可行性及優(yōu)點,還表現(xiàn)在以下幾方面:
(1)可充分使用LabVIEW強大的輸入/輸出控件資源
(2)LabVIEW中的圖形化語言風(fēng)格適合數(shù)字電路的邏輯圖構(gòu)建:
布爾控件圖標(biāo)與數(shù)字邏輯門電路符號相近;圖形化的G語言風(fēng)格適合邏輯圖的連接。
(3)可開發(fā)通用或?qū)S玫臄?shù)字虛擬芯片庫(模塊庫)
(4)LabVIEW虛擬儀器可實現(xiàn)與外部數(shù)據(jù)的交換
2 基于LabVIEW的數(shù)字虛擬芯片設(shè)計方法
下面從一個有異步復(fù)位、置位端子的虛擬觸發(fā)器單元設(shè)計開始,以LabVIEW中邏輯運算VI作為虛擬“門電路”單元,構(gòu)建通用數(shù)字邏輯芯片、計數(shù)器74160虛擬“芯片”,討論并實現(xiàn)該虛擬芯片的仿真應(yīng)用。
2.1 具備異步復(fù)位、置位端的虛擬觸發(fā)器設(shè)計
低電平有效的異步置位、復(fù)位功能的虛擬JK觸發(fā)器特性方程可表示為:
當(dāng)滿足約束條件RD+SD=1,即RD、SD不同時為有效電平(邏輯值0)時,這2個端子可作為異步置位端(SD)和異步復(fù)位端(RD),即有:
使用過程中應(yīng)當(dāng)注意滿足約束條件(當(dāng)RD+SD=O時,始終有QN+1=O)。
根據(jù)式(1)構(gòu)建的低電平有效的異步置位、復(fù)位功能的JK觸發(fā)器LabVIEW后面板如圖1所示,其異步置位、復(fù)位端動作不受同步CP控制,直接實現(xiàn)操作(觸發(fā)器狀態(tài)直接被置位或復(fù)位)。為實現(xiàn)CP輸入下降沿有效的動作方式,程序中引入了條件結(jié)構(gòu)控制。當(dāng)無有效CP邊沿輸入時,輸入觸發(fā)器端子的數(shù)據(jù)是J=K=“false”,等價于J=K=0,觸發(fā)器處于保持狀態(tài);只有當(dāng)有效CP下降沿輸入時,觸發(fā)器才接收輸入控件J,K的數(shù)據(jù),實現(xiàn)相應(yīng)的動作。圖1中左下角部分程序就是實現(xiàn)CP下降沿輸入有效的控制程序部份。
定義圖1中VI的各輸入、輸出端子,編輯好相應(yīng)的VI圖標(biāo),將其保存為一獨立VI文件,最后得到對應(yīng)的VI圖標(biāo)及連線如圖2所示。這樣的VI圖標(biāo)即可看作一個虛擬觸發(fā)器。
評論