Simulink建模与仿真学习笔记之组合逻辑(Combinatorial Logic)

本文深入解析了Simulink中的组合逻辑模块,通过加法电路和RS触发器两个实例,详细展示了如何利用该模块实现真值表,适用于数字电路设计与仿真。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块概要

模块名称:Combinatorial Logic

所在库:Logic and Bit Operations

 

模块功能:

实现真值表。

 

 

模块外形:

 

默认参数:

 

模块分析:

默认参数中的真值表为3路输入,2路输出。

由于有3路输入,因此真值表中有2^3 = 8行。

每一行的输出元素有2个。

 

实例分析

1,加法电路

假设现在要实现一个带进位的加法电路。参考:

https://blog.youkuaiyun.com/booksyhay/article/details/80704522

【需求】

输入:3路,分别为A、B、C

输出:2路,分别为HI、LO

要求:对A、B、C这三个一位的二进制相加,计算结果为一个两位的二进制数,分别为高位HI和低位LO。

真值表为:

 ABCHILO
00000
00101
01001
01110
10001
10110
11010
11111

Combinatorial Logic模块的参数为HI和LO对应的矩阵,即:

0 0;

0 1;

0 1;

1 0;

0 1;

1 0;

1 0;

1 1;

刚好就是默认参数 [0 0;0 1;0 1;1 0;0 1;1 0;1 0;1 1] !!

 

【验证】

搭建以下模型,可以验证结果。

 

注意:A、B、C这三个constant模块的输出类型要改为boolean型。

 

 

2,RS触发器电路

假设现在要实现一个RS触发器。

参考电路:https://blog.youkuaiyun.com/booksyhay/article/details/82492913

 

【需求】

输入:2路信号,R和S

输出:2路信号,Q和!Q

要求:

  • 当R和S不相同时,输出Q取决于R和S的值。当R为1,则Q=1;当S为1,则Q=0;
  • 当R和S相同时,输出Q保持不变。
  • Q和!Q为互补的值。

 

分析

先整理出RS触发的真值表:

RSQ
00Q0
011
100
11Q0

 

由于输出需要“保持”上一次的结果,因此需要一个memory模块。

Combinatorial Logic模块有3个输入,2个输出。

完整的真值表为:

RS触发器真值表
Q0SRQ!Q
00001
00101
01010
01101
10010
10101
11010
11110

 

搭建模型

 

模块参数为:

[0 1;0 1;1 0;0 1;1 0;0 1;1 0;1 0]

 

 

参考资料

Combinatorial Logic

https://ww2.mathworks.cn/help/simulink/slref/combinatoriallogic.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值