题解 | #4位数值比较器电路#

4位数值比较器电路

https://www.nowcoder.com/practice/e02fde10f1914527b6b6871b97aef86d

`timescale 1ns/1ns

module comparator_4(
    input       [3:0]       A       ,
    input      [3:0]        B       ,
 
    output   wire       Y2    , //A>B
    output   wire        Y1    , //A=B
    output   wire        Y0      //A<B
);
//assign Y2=((A[3]>B[3])?1:0)||(A[3]=B[3]?(A[2]>B[2]?1:0):0)||((A[3]=B[3])?((A[2]=B[2])?((A[1]>B[1])?1:0):0):0)||((A[3]=B[3])?((A[2]=B[2])?((A[1]=B[1])?(A[0]>B[0]:1):0):0):0)

//assign Y1=((A[3]=B[3])?((A[2]=B[2])?((A[1]=B[1])?(A[0]=B[0]:1):0):0):0)

//assign Y0=((A[3]<B[3])?1:0)||(A[3]=B[3]?(A[2]<B[2]?1:0):0)||((A[3]=B[3])?((A[2]=B[2])?((A[1]<B[1])?1:0):0):0)||((A[3]=B[3])?((A[2]=B[2])?((A[1]=B[1])?(A[0]<B[0]:1):0):0):0)

assign Y2=(A[3]&!B[3])|(!(A[3]^B[3])&(A[2]&!B[2]))|(!(A[3]^B[3])&!(A[2]^B[2])&(A[1]&!B[1]))|(!(A[3]^B[3])&!(A[2]^B[2])&!(A[1]^B[1])&(A[0]&!B[0]));
assign Y1=!(A[3]^B[3])&!(A[2]^B[2])&!(A[1]^B[1])&!(A[0]^B[0]);
assign Y0=(!A[3]&B[3])|(!(A[3]^B[3])&(!A[2]&B[2]))|(!(A[3]^B[3])&!(A[2]^B[2])&(!A[1]&B[1]))|(!(A[3]^B[3])&!(A[2]^B[2])&!(A[1]^B[1])&(!A[0]&B[0]));
endmodule

一开始是用那个标注的写,但是这样不是门电路;然后试了一下下面的居然成功了
刚学,还没分清什么是门电路什么是rtl,勿喷
全部评论

相关推荐

10-29 22:30
吉林大学 Java
同专业学长学姐,去互联网大厂的起薪&nbsp;15k+,去国企&nbsp;IT&nbsp;岗的也有&nbsp;12k+,就连去中小厂的都基本&nbsp;13k&nbsp;起步😤&nbsp;我投的传统行业技术岗,拼死拼活拿到&nbsp;1Woffer,本来还挺开心,结果逛了圈牛客直接破防,同是校招生,行业差距怎么就这么大啊!
喵喵喵6_6:应该哪里不对吧,大厂都是20k以上的,10k那种对于985本的学生基本就是点击一下过了笔试就送的,我前两天刚拿了一个11k,笔试完第2天就打电话了,非科班。坏消息是c++岗开这么低真是刷新认知了
校招生月薪1W算什么水平
点赞 评论 收藏
分享
09-13 08:41
服装/纺织设计
那一天的Java_J...:你第一次参加面试吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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