








1 Simulink邏輯仿真模塊庫(kù)及使用方法介紹
1.1基本邏輯模塊介紹
在Simulink庫(kù)內(nèi)Logic and Bit Operations子庫(kù)內(nèi)有邏輯運(yùn)算常用模塊,在測(cè)試用例中我們常用的是:與、或、非、與非,或非等邏輯模塊。在Simulink模塊庫(kù)中采用Logic Operator模塊,雙擊其圖標(biāo)后可以根據(jù)需要的邏輯功能對(duì)Operator下拉菜單選項(xiàng)進(jìn)行選擇,從而可得到不同邏輯運(yùn)算關(guān)系。該模塊輸入狀態(tài)個(gè)數(shù)同樣可在參數(shù)設(shè)置內(nèi)修改。
1.2常用組合邏輯模塊介紹
常用的組合邏輯模塊有R-S觸發(fā)器、J-K觸發(fā)器以及D觸發(fā)器,這些模塊在Simulink Extras庫(kù)下的Flip Flops子庫(kù)內(nèi),每個(gè)模塊的參數(shù)也可參照上述方法進(jìn)行修改。
1.3自定義組合邏輯模塊

除了上述已經(jīng)給定的常用模塊以外,Simulink提供了自定義組合邏輯模塊(Combinatorial Logic),Combinatorial Logic模塊存在于Simulink庫(kù)內(nèi)的Logic and Bit Operations子庫(kù)內(nèi)。其根據(jù)輸入輸出狀態(tài)的要求,修改模塊的狀態(tài)參數(shù)即可得到滿足要求的功能模塊。例如欲得到“三取二”邏輯模塊,如采用基本邏輯需要多個(gè)模塊進(jìn)行組合方能實(shí)現(xiàn),這里我們采用自定義邏輯模塊,只需修改其參數(shù)即可用實(shí)現(xiàn)同樣功能。首先按照輸入狀態(tài)依次列寫得到真值表,然后根據(jù)“三取二”真值表列出的輸出狀態(tài)[0;0;0;1;0;1,1;1],將自定義組合邏輯模塊的TruthTable參數(shù)同樣修改為[0;0;0;1;0;1;1;1],并用三輸入Mux模塊與該自定義模塊連接后,進(jìn)行封裝即可得到“三取二”模塊方便以后取用。
1.4邏輯仿真信號(hào)源、轉(zhuǎn)換與顯示模塊
Simulink庫(kù)中source和sink分別是信號(hào)源和信號(hào)顯示模塊庫(kù),里面有仿真所需的各種信號(hào)源以及顯示模塊,進(jìn)行邏輯運(yùn)算與仿真可以采用Pulse Generator模塊作為信號(hào)源,以Sink子庫(kù)內(nèi)的Scope模塊作為顯示模塊,二者參數(shù)可以分別進(jìn)行修改以滿足實(shí)際仿真的需要。
在應(yīng)用Pulse Generator模塊作為觸發(fā)器的信號(hào)源進(jìn)行邏輯仿真時(shí)會(huì)提示輸入信號(hào)類型不匹配的情況,此時(shí)只需要在其后端連接一個(gè)信號(hào)類型轉(zhuǎn)換模塊(Data TypeConversion)即可,該模塊在Simulink庫(kù)的Commonly Used Blocks子庫(kù)內(nèi),將其輸出數(shù)據(jù)類型修改為Boolean即可。為了方便可將該模塊與觸發(fā)器封裝在一個(gè)模塊內(nèi),后續(xù)直接選用即可。
2 仿真實(shí)例
圖1的邏輯仿真中采用的自定義模塊定義為“三取二”邏輯,將A、B、C、D四個(gè)輸入脈沖周期分別取為2s、4s、8s、16s,仿真時(shí)間設(shè)定為17s,仿真后得到如圖六所示波形:
根據(jù)圖2我們可快速準(zhǔn)確的判斷出每種輸入狀態(tài)引起輸出狀態(tài)的變化情況。
3 結(jié)語(yǔ)
本文采用了Matlab中的Simulink仿真作為數(shù)字邏輯運(yùn)算的基本工具,快速準(zhǔn)確的分析出所有可能的輸入狀態(tài)下其最終輸出狀態(tài)的變化情況,經(jīng)實(shí)際檢驗(yàn)該方法減小了邏輯分析中人因出錯(cuò)的概率,提高了邏輯圖分析的效