题解 | 多功能数据处理器

`timescale 1ns/1ns
module data_select(
	input clk,
	input rst_n,
	input signed[7:0]a,
	input signed[7:0]b,
	input [1:0]select,
	output reg signed [8:0]c
);
always@(posedge clk or negedge rst_n)begin
	if(rst_n == 0)begin
		c <= 9'd0;
	end
	else begin
		case(select)
			0:begin
				c <= {a[7],a};
			end
			1:begin
				c <= {b[7],b};
			end
			2:begin
				c <= {a[7],a} + {b[7],b};
			end
			3:begin
				c <= {a[7],a} - {b[7],b};
			end
		endcase
	end
end
endmodule

全部评论

相关推荐

立枫:整体内容太多了,实习经历太少了,以及格式行间距不统一
0offer是寒冬太冷还...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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