|
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 v2 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+ |
|
|