题解 | #位拆分与运算#

位拆分与运算

https://www.nowcoder.com/practice/1649582a755a4fabb9763d07e62a9752

`timescale 1ns/1ns

module data_cal(
input clk,
input rst,
input [15:0]d,
input [1:0]sel,

output [4:0]out,
output validout
);
//*************code***********//

wire [15:0]d0;

assign validout = (sel == 2'd0) ? 0 : 1;

assign d0 = (validout == 0) ? d : d0;

assign out = (validout == 0) ? 0 : (sel == 2'd1) ? d0[3:0] + d0[7:4] : (sel == 2'd2) ? d0[3:0] +d0[11:8] : d0[3:0] +d0[15:12]; 

//*************code***********//
endmodule

寄存一下输入的d值,随后使用三目运算符进行后续的sel处理

全部评论

相关推荐

10-22 20:17
已编辑
门头沟学院 Python
敢逐云霄志:后端没92学历+大厂实习基本别想在秋招约面了,笔试可能都不会给你发,我双非本3段实习,一大,中,一小,中大厂笔试做了一堆,大厂就只有字节给面,其他全没动静,根本轮不到双非。
你觉得第一学历对求职有影...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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