








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

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