If statement vhdl使用if语句检查范围

If statement vhdl使用if语句检查范围,if-statement,vhdl,counter,rc,If Statement,Vhdl,Counter,Rc,我对VHDL非常陌生,所以我在这个问题上遇到了麻烦 我的程序的一部分是测量电容器充电所需的时间,然后看看充电时间在哪个范围内。 我想看看计数是否在H43044-H43238或H8c424-H8c618范围内 if ((count >= x"43044") and (count <= x"43238"))then d3 <= '1'; --enable output elsif ((count >= x"8c424") and (count <= x"8c61

我对VHDL非常陌生,所以我在这个问题上遇到了麻烦

我的程序的一部分是测量电容器充电所需的时间,然后看看充电时间在哪个范围内。 我想看看计数是否在H43044-H43238或H8c424-H8c618范围内

if ((count >= x"43044") and (count <= x"43238"))then
    d3 <= '1'; --enable output
elsif ((count >= x"8c424") and (count <= x"8c618"))  then
    d4 <= '1';
end if;

if((计数>=x“43044”)和(count为了结束这个问题,我发现我在测试台上使用了错误的时钟,我假设我的错误是我在上面部分中表示逻辑的方式,因为所有其他代码都工作得很好。现在我知道这是检查范围的正确方法。谢谢大家。

我尝试使用或代替and,它给了我一个输出,但not我需要的。那么要么这个片段外有什么错误,要么在执行这个片段时count没有进入这些狭窄的范围。如果没有更多的代码,很难说。count的类型是什么?你有什么可见的包?根据代码中隐含的内容,我的期望是你已经有了一个数学pa支持“>=”的可见包装对于信号计数,但如果你不这样做,这就可以解释问题了。你能给我们看一下
计数的声明吗?
?谢谢大家的回复,问题是正如Brian所说的,我的测试时间完全错过了窗口。要清楚的是,范围是以20ns的时钟周期计算的,但我使用的是2ns测试台,因此所有计数没有射程。