找回密码
 注册
关于网站域名变更的通知
查看: 310|回复: 3
打印 上一主题 下一主题

verilog中减法相关问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-7 18:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
我设置一个初值为0的计数器counter[23:0],一个输入信号B[23:0]。设置一个初始值为0的falg寄存器。1 E$ L- |! s3 T: _# |. ^  h
veriloG代码如下:( m% z# n, o# B  Q, G- d8 h
8 K- Y) o# b; m
IF(counter==B-1)
  g( t; D2 o6 k0 D7 K0 p! B- Obegin3 q/ Q7 A) ^# R9 T0 ?
          counter<=0;
# ]8 p* J! p: v9 M5 H          flag<=1;
7 Y. D4 a0 X3 l  {9 J( @end+ A4 C/ {6 m4 S* i/ E1 F
else begin/ }4 t% l' k( \
        counter<=counter+1;9 e+ |1 j# N# b$ M% o, E
        flag<=0;: s6 x( x: |) T4 i# I0 ]
       end9 ]/ O2 K& T* x/ ^) a) I

# |) z' U0 j$ ~' S6 v
2 J- L' @& J0 p% k
当B=0时,我的仿真结果中发现,flag信号并没有置位。我想问一下,在FPGA中,当B=0时,B-1是24'hFFFFFF吗?如果是的话,当counter计数到24'hFFFFFF时条件已经满足了,为什么我的flag信号没有置位呢?还是说verilog在计算时,可以判断正负?
* Q; v1 h! T" m希望哪位大神可以帮忙解决问题,谢谢。
, B" q  A9 q0 O$ [! H+ |

该用户从未签到

2#
发表于 2020-7-7 18:31 | 只看该作者
后面设置了一个wire型的M【23:0】,
# T1 c6 L" m) l; w8 {0 S) l5 P且assign M=B-1;+ p' G3 z) Q: Y5 }1 i8 ?: \
然后将代码变成:0 d. p; w" G% L$ a$ Y4 R/ l

! G6 c/ W; q; T% @$ n, iif(counter==M)
/ p' O3 m% Q; h# f% ]; |  t/ cbegin0 R4 m# W5 X: ]9 p6 a, g
          counter<=0;
# A* f3 L+ ?& s9 R+ g9 d          flag<=1;( K* b2 W& w2 c  D+ L0 D
end, H+ e# E+ G9 C6 ^- k3 Z) K
else begin
% |' a0 i- F! C- g        counter<=counter+1;' Z# M9 S* z' _4 m; {" ~9 {
        flag<=0;" U. r  k1 d9 U( u& f
       end
7 X9 l8 Y- {& G9 d5 n0 j; ]' MB=0的情况下,得出的仿真结果中,M=24‘HFFFFFF;. L, k% t4 \! `7 u
而flag信号在counter计数到24‘hFFFFFF时正确置位了。

该用户从未签到

3#
 楼主| 发表于 2020-7-7 18:31 | 只看该作者
我自己找到问题了,我发现判断B-1时,由于没有给1设置位宽,它自己当成32bit做减法了,改成B-1‘b1就好了。’

点评

当成32位宽做减法会有什么问题呢?  详情 回复 发表于 2020-7-8 11:14

该用户从未签到

4#
发表于 2020-7-8 11:14 | 只看该作者
outline9 发表于 2020-7-7 18:313 x  R5 ?1 y, F% R. J9 c) ?; V
我自己找到问题了,我发现判断B-1时,由于没有给1设置位宽,它自己当成32bit做减法了,改成B-1‘b1就好了。 ...
; g& K+ l, t5 I# ~6 E" I
当成32位宽做减法会有什么问题呢?
1 H# F' A8 F) J' j' @- J) x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-13 03:18 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表