verilog的 "/"(除号)怎么用?

modulediv(clk,a,b,c);input[3:0]a;input[3:0]b;inputclk;output[3:0]c;reg[3:0]c;always@(... module div(clk,a,b,c);
input [3:0] a;
input [3:0] b;
input clk;
output[3:0] c;
reg [3:0]c;
always @(posedge clk)
begin c<=a/b;
end
endmodule
这程序仿真能有什么结果啊
展开
 我来答
HP_ccyz2012
推荐于2016-12-01 · TA获得超过131个赞
知道答主
回答量:97
采纳率:0%
帮助的人:56.3万
展开全部
verilog中基本不存在直接用“/”做除法,除法的运算时间长,基本上一个周期可能都算不完,
一般采用近似方法代替:
1、除以2的n次方时,可以采用丢位的方法,比如a除以2,可以写成a[3:1].
2、一般的除法,比如你上面的a/b,都会转成乘法来做,如a*(1/b),其中1/b的分子可以放大1024倍后再做计算。
上面是我经常用的方法,希望能帮到你。
我suis123
2018-04-17 · TA获得超过7703个赞
知道小有建树答主
回答量:10
采纳率:100%
帮助的人:4452
展开全部

verilog中基本不存在直接用“/”做除法,除法的运算时间长,基本上一个周期可能都算不完,
一般采用近似方法代替:
1、除以2的n次方时,可以采用丢位的方法,比如a除以2,可以写成a[3:1].
2、一般的除法,比如你上面的a/b,都会转成乘法来做,如a*(1/b),其中1/b的分子可以放大1024倍后再做计算。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tn瓶邪
推荐于2016-02-11 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:111万
展开全部
   1.用除号“/”就意味着在一个时钟周期内可以得到商
  2.用除号“/”和用除法模块lpm_divider是一样的,因为我看到两者最后都是调用了扩展名为tdf的LPM_DIVIDE文件。
  3.如果不考虑面积,可以直接用除号“/”而不用自己写一个数个周期才能出结果的除法算法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风临晚0907
2012-11-09 · TA获得超过109个赞
知道答主
回答量:68
采纳率:0%
帮助的人:30.8万
展开全部
用除号听麻烦的吧,看看有没有已经写好的核来实现,直接用/的话,会出现问题,直接除只有为2或者2^n还好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jj102
2012-11-09 · TA获得超过167个赞
知道答主
回答量:155
采纳率:0%
帮助的人:88.9万
展开全部
不确定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式