2013-02-06 66 views

回答

2

不,整數合成就好了。 Don't use conv_integer though - 來自舊的非標準庫。

你想use ieee.numeric_std;然後to_integer(unsigned(some_vector));

如果你仍然要訪問的位,並把向量作爲一個數字,然後使用符號或無符號類型 - 它們定義位向量(這仍然可以有-,Z等),其行爲與數字相同,因此您可以編寫unsigned_vector <= unsigned_vector + 1

1

你會失去很多,與標準邏輯矢量登場,如具有值「Z」或「X」的功能。如果您需要訪問這些位,請將其保留爲std_logic_vector,或將其轉換爲numeric_std。如果你不這樣做,你需要做一些奇特的算術,也許最好有一個整數。在一天結束時它的所有位。它通常最好保持在頂層的向量類型(std_logic_vector,unsigned,signed等),以便將每個位映射到特定的引腳,否則,可以使用任何您想要的類型。不要忘記你現在正在設計硬件,而不是軟件,而且有所不同。