文章目录
一、问题描述
假设你有两个8位二进制补码数,a[7:0]和b[7:0]。这两个数相加得到s[7:0]。同时计算出符号位是否产生溢出。
模块声明
module top_module (
input [7:0] a,
input [7:0] b,
output [7:0] s,
output overflow
);
思路:
因为有符号的数相加,通常两个正数或都两个负数相加会产生符号位溢出。有两种方法计算,一种是比较两个数的符号。另外一种是通过最后两位的进位计算得到。
二、verilog源码
module top_module (
input [7:0] a,</