描述
根据输入信号a,b的大小关系,求解两个数的差值:输入信号a,b为8bit位宽的无符号数。如果a>b,则输出a-b,如果a≤b,则输出b-a。
接口信号图如下:
输入描述:
clk:系统时钟
rst_n:复位信号,低电平有效
a,b:8bit位宽的无符号数
输出描述:
c:8bit位宽的无符号数
解答:
分析:
对a与b进行比较,然后判断输出哪一个。
代码如下:
`timescale 1ns/1ns
module data_minus(
input logic clk,
input logic rst_n,
input logic [7:0]a,
input logic [7:0]b,
output logic [8:0]c
);
always@(posedge clk or negedge rst_n) begin
if (!rst_n) begin
c <= 'd0;
end else begin
if (a >b) begin
c <= a-b;
end else begin
c <= b-a;
end
end
end
endmodule