题解 | #数据选择器实现逻辑电路#

数据选择器实现逻辑电路

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

本题和之前的38译码器的题类型,主要区别在于输入项不同了,需要我们进行筛选,和之前的题一样,首先列出真值表,比较发现,S0和S1与AB完美契合,只需对C与D0-D3进行适配,观察真值表发现,D0需为0,D1为~C,D2为C,D3为1,当然如果调换AB的顺序,中间D1和D2需要进行更换
`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    u_data_sel(
       .S0     (A),            //本题和之前的38译码器的题类似,都是通过某一个芯片器件实现某一个定向的功能
       .S1     (B),            //但是与之前的不同,之前的输入项都是对应的,题目直接就是给好的,而此处的题看似选择器的输入要比表达式的要多
       .D0     (1'b0),         //实际需要通过两者的真值表去对比发现,这一个类型的题都是这样,包括38译码器的题,都是需要写出两个真值表
       .D1     (~C),           //然后根据真值表的值进行求解,可以发现本题的S0和S1是两个输入变量,而D0-D3都是输入和输出项
       .D2     (C),            //故C可以为D0-D4的项,同时看真值表可以发现,因为S0和S1都是0时,输出的都是0,而选择器输出D0,所以输入项D0必须要为0,
       .D3     (1'b1),         //同理01和C相同,则D1就需为C,10与C相反,则D2为~C,11输出全是1,则D3为1
       
       .Y      (L)
);
    
    
    
endmodule

全部评论

相关推荐

千疮百孔的象牙塔:我也在捣鼓im,你这个im好奇怪的样子,单看简历get不到点,im的消息及时性,消息可靠性,然后系统的可扩展性这几个关键问题都是怎么解决的从简历描述get不到,具体说消息怎么传,消息怎么推送,消息怎么存,消息安全怎么做的这些点感觉对应不起来
点赞 评论 收藏
分享
03-31 16:42
已编辑
郑州西亚斯学院 后端
Java抽象带篮子:你简历少了几个模块看上去就感觉信息很少,简历怎么写可以看看我发的帖子
点赞 评论 收藏
分享
存一千万就可以进大厂实习
石圪节公社发型师:有存一千万的实力还实习个嘚,直接躺平
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务