题解 | #数据选择器实现逻辑电路#(真值表)

数据选择器实现逻辑电路

https://www.nowcoder.com/practice/00b0d01b71234d0b97dd4ab64f522ed9

`timescale 1ns/1ns

module data_sel(
   input             S0     ,
   input             S1     ,
   input             D0     ,
   input             D1     ,
   input             D2     ,
   input             D3     ,
   
   output wire        Y    
);

assign Y = ~S1 & (~S0&D0 | S0&D1) | S1&(~S0&D2 | S0&D3);
     
endmodule

module sel_exp(
   input             A     ,
   input             B     ,
   input             C     ,
   
   output wire       L            
);

data_sel data_sel(
   .S0 (B)       ,
   .S1 (A)       ,
   .D0 (1'b0)    ,
   .D1 (C)       ,
   .D2 (~C)      ,
   .D3 (1'b1)    ,
   
   .Y (L)   
);
endmodule

首先 需要将逻辑函数 化成最小项形式 通过真值表 或者 定理:A+~A = 1;

所画函数为L = (~A & B & C) | (A &~B &~C) | (A & B &~C)| (A & B &C)

令S1 = A S0 = B 则

~A & B & C 变为 ~S1 & S0 & D1 所以 D1 取 C

A &~B &~C 变为 S1 & ~S0 & D2 所以 D2 取 ~C

因为 A & B 变为 S1 & S0 D3 取 1 就可以直接满足

因为没有 用到 ~S1 & ~S0 所以 D0 取 0

全部评论

相关推荐

10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务