题解 | #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,勿喷
全部评论

相关推荐

06-26 17:24
已编辑
宁波大学 Java
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
白火同学:只是实习的话,你这份简历应该也差不多了。真要优化的话,因为面实习的话,没有开发经验,面试更重视技术栈水平。 1、重视JavaSE的基础吧,集合、泛型算是比较基础的基础,多线程、反射、JVM内存模型才是基础; 2、技术栈写到具体的点,比如Elasticsearch的使用写到某个点,限制面试官自由发挥,防止问了相关问题最后又答不上,如果真没把握建议不写,降低面试官的心理预期; 3、技术栈不要重复,比如技术栈第二条和第八条可以合并改为“熟悉Redis中间件,包括基本数据结构、缓存策略、持久化机制,了解缓存三剑客及其解决方案,并有相关项目经验。”; 4、项目指标量化,比如“达到xx秒的响应速度”(不过这个就有点偏校招社招的要求了,实习简历不写也无伤大雅)。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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