多功能数据处理器
题目描述
根据指示信号select,对输入信号a,b实现不同的运算。输入信号a,b为8bit有符号数,当select信号为0,输出a;当select信号为1,输出b;当select信号为2,输出a+b;当select信号为3,输出a-b;
接口信号图如下
输入描述:
clk:系统时钟
rst_n:复位信号,低电平有效
a,b:8bit位宽的有符号数
select:2bit位宽的无符号数
输出描述:
c:9bit位宽的有符号数
`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)beginif(!rst_n)c <= 9'b0;elsebegincase(select)2'b00: c <= a;2'b01: c <= b;2'b10: c <= a + b;2'b11: c <= a - b;default: c <= 9'b0;endcaseendend
endmodule