【数字IC设计】Verilog计算x/255的商和余数

2023-12-23 20:41:15

问题描述

已知x是16位无符号整数,求x除以255的余数和商。尽量降低实现方式的硬件开销(包括面积和时序)

思路

由于除数255是一个常数,因此,直观上给人的感觉就是应该有相应的优化方法,即相对于除数可变的实现方式,在面积、时序方面应该有所改善。
对于该问题,本文给出了如下所示的解决方式:

hi = x[15:8]
lo = x[7:0]
则有:
x = hi * 256 + lo
对上式稍做变换,有
x = 255 * hi + (hi + lo)
我们假设x除以255的商和余数分别为q和r,则
当hi + lo < 255时

q=hi
r=hi+lo

当hi+lo>=255时

q=hi+1
r=hi+lo

文章来源:https://blog.csdn.net/qq_40268672/article/details/135172782
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。