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

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            
);
//将Y的表达式展开,可以得到Y=s0's1‘D0+s0s1'D1+s0's1D2+s0s1D3,目标式L=ab+ac'+bc,用a/b/c+a'/b'/c'=1可以扩展得到L=ab+ab'c'+a'bc,比较可知s0=a,s1=b,D0=0 D1=c' D2=c D3=1
    data_sel sel0(
        .S0(A),
        .S1(B),
        .D0(0),
        .D1(~C),
        .D2(C),
        .D3(1),
        .Y(L)
    );
endmodule
全部评论

相关推荐

如题
投递阿里巴巴集团等公司10个岗位 >
点赞 评论 收藏
分享
牛客383479252号:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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