ZKX's LAB

verilog 求余数 关于verilog取余问题

2021-04-25知识6

verilog任意整数求余运算 reg[4:0]a;reg[16:0]b;a<;=b%10

关于verilog中的乘法除法 IP核,就是一个官方制作的逻辑模块。和普通用户做的模块一样,有输入端口、输出端口。同步触发器IP核,有clk端口、除数端口、被除数输入端口、商输出端口、余数输出端口。。

真心求学!求问一个verilog32位整数除法器算法的数学推导 我个人认为也不2113需要什么推导,举个例5261子就能看懂了:假设4bit的两数相除4102 a/b,商和余数最多1653只有4位(假设1101/0010也就是13除以2得6余1)我们先自己做二进制除法,则首先看a的MSB,若比除数小则看前两位,大则减除数,然后看余数,以此类推直到最后看到LSB;而上述算法道理一样,a左移进前四位目的就在于从a本身的MSB开始看起,移4次则是看到LSB为止,期间若比除数大,则减去除数,注意减完以后正是此时所剩的余数。而商呢则加到了这个数的末尾,因为只要比除数大,商就是1,而商0则是直接左移了,因为会自动补0。这里比较巧因为商可以随此时的a继续左移,然后新的商会继续加到末尾。经过比对会发现移4位后左右两边分别就是余数和商。画个简单的图:其他的例子可以自己试着画一下,这个算法就是把我们自己做除法的步骤一步步表示出来,不难理解。如果还有什么问题欢迎共同探讨

#verilog 语法#verilog 移位运算#verilog 求余数#system verilog

随机阅读

qrcode
访问手机版