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

数据选择器实现逻辑电路

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 14:00
白火同学:其实你可以了解一下HR在Boss聊天的机制,想赢牌的前提是先会玩牌。 如果HR长时间没有理你,有可能是因为你的消息被其他应聘者的消息给挤到下面了,HR从上到下有可能只看个三四百个人就要到理想数量的简历了,而你恰好没有被看到,时间一长,你的消息在越来越下面。这种情况就需要你自己活跃一下,把消息提上去。 也可能是HR招的合适的人选了,但会一直挂着岗位,为了省重新开招聘岗位的钱,方便后面随时修改招聘要求。 当然也可能是HR吃饱了没事耍你玩,要了你的简历又不看,就看你自己怎么理解了。
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务