题解 | #位拆分与运算#

位拆分与运算

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

//注意仅在sel = 0时输入有效; `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// reg [4:0] outputdata; reg [15:0] d_reg; reg valid ; always@(posedge clk or negedge rst)begin if(~rst)begin outputdata <= 5'd0; valid <= 1'd0; d_reg <= 16'd0; end else if(sel == 0)begin outputdata <= 5'd0; valid <= 1'd0; d_reg <= d; end else if(sel == 1)begin outputdata <= {1'b0,d_reg[3:0]} + {1'b0,d_reg[7:4]}; valid <= 1'd1; end else if(sel == 2)begin outputdata <= {1'b0,d_reg[3:0]} + {1'b0,d_reg[11:8]}; valid <= 1'd1; end else if(sel == 3)begin outputdata <= {1'b0,d_reg[3:0]} + {1'b0,d_reg[15:12]}; valid <= 1'd1; end end

assign out = outputdata;
assign validout = valid;

//**code// endmodule

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-10 15:24
高考前一晚在OPPO手机上设置了早上5:30的闹钟,然而闹钟并未按时响起。直到妈妈做好早餐后,在6:27打开手机才发现闹钟未触发,“气得早上饭都没吃”。资本家你赢了
永不遗忘:我来解释一下 :Oppo 手机晚上两点会自动进行系统更新,这个系统更新会重置掉所有设置好的闹钟,而且他也不会告诉你,而且只有 Oppo 会这样,华为苹果小米三星都不会
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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