2014-04-05 87 views
1

我對VHDL很陌生,所以我在這個問題上遇到了麻煩。vhdl用if語句檢查範圍

我的程序的一部分是測量電容器充電所需的時間,然後查看充電時間所處的範圍。 我希望看到的是,如果計數的範圍H43044下瀑布 -^h 43238或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; 

我確信這些語句的下一個計數下降,但我得到任何輸出。我想知道這是否是解決這個問題的正確方法。

+0

我試圖用OR代替和,它給了我一個輸出,但不是我所需要的。 – EcEng

+0

然後,無論這個片段外面有什麼問題,或者在執行這個片段時,count都不會進入這些窄範圍中的任何一個。 –

+0

很難說沒有更多的代碼。什麼是計數類型?你有什麼包可見?根據代碼中隱含的內容,我的期望是,您已經有一個數學包可見,支持信號計數的「> =」,但如果您不這樣做,則可以解釋事情。 –

回答

1

只是爲了關閉這個問題,事實證明我在我的測試平臺中使用了錯誤的時鐘,我推測我的錯誤是因爲我在上面的段中呈現了邏輯,因爲所有其他代碼都工作得很好。現在我知道這是檢查範圍的正確方法。感謝大家。