请教大侠们,如何在CPLD里实现除法运算?
请教一下各位大侠,我现在碰到了一个问题,不知道大家能不能帮我解决一下??就是如何在CPLD芯片里,实现除法运算。我用的是verilog语言。
举个例子吧,我现在有个四位的十进制数:abcd。a是千位数,b是百位数,c是十位数,d是个位数。然后我另外有四个寄存器x1,x2,x3,x4。我想得到的结果是x1=a,x2=b,x3=c,x4=d。这样的算法,以前在C语言好像很容易实现,即x1=abcd/1000,x2=abcd/100%10,x3=abcd/10%10,x4=abcd%10。但是在verilog里,这样一算,CPLD占用量巨大。肯定不合适。
不知道哪位大哥能帮帮我,谢谢!!
在线等待!! 1,除以2的n次;
2,移位相减; 除以2我也知道的,问题是现在我要除以10,除以100的样子呀!! 你是要转bcd码吧?用判断来实现! 晕死,你这哪是要做除法啊?进来的数abcd已经是十进制了啊,不是二进制的!
module xxx (
input abcd,
output x1,
output x2,
output x3,
output x4
);
assign x1 = abcd;
assign x2 = abcd;
assign x3 = abcd;
assign x4 = abcd;
endmodule LS正解 MARK 4楼,输出x1,x2,x3,x4怎么是abcd的各个位的值啊?
页:
[1]