ADCのコントローラVHDLの緊急支援

M

mtech84

Guest
こんにちはすべて、このエラーコードは以下のとおり得ている私は
エラー(10405)エラーでCONTROLLER.vhd VHDLの:(6

<img src=¥"http://www.edaboard.com/images/smiles/icon_cool.gif¥" alt=¥"クール¥" border=¥"0¥" />

:"to_bitvector"識別子の近く、またはできないオブジェクトを決定型で-のタイプを発見0可能¥

..助け機能¥だけではなく、少しは私に削除エラー試みた使用私がしなければならないものはto_bitvector iを
コード:===============================
図書館は、IEEE;のUSE IEEE.std_logic_1164.ALLを。
のUSE STD.textio.ALL;-------------------------------------------------- ------------------------------
-エンティティ宣言
-------------------------------------------------- ------------------------------

エンティティコントローラは
一般的な(
にCONSTANTのsWait:整数:= 0;

定数はsSample:整数:= 1;

にCONSTANTのsConv:整数:= 2;

にCONSTANTのsDone:整数:= 3);

ポート(CLKを:におけるビット; -クロック入力
移動:におけるビット; -行く= 1変換を実行する
有効:売り切れビット; -有効= 1、変換が完了
結果:OUTのbit_vector(7 downto 0); - 8ビットの結果
サンプル:売り切れビットは、 - Hに掲載&回路
価値の損失:OUTのbit_vector(0 downto 0); - DACに
cmpは:におけるビット); -コンパレータから- LEDG:OUTのSTD_LOGIC_VECTOR(8 DOWNTO 5);
- HEX0:OUTのSTD_LOGIC_VECTOR(0〜6)

ENDの制御装置;

のコントローラのコントローラアーキテクチャです

bit_vector(1 DOWNTO 0); -現在の状態のステートマシン:シグナル状態
シグナルマスク:bit_vector(7 DOWNTO 0); -テキストにビット検索のバイナリ
中間信号-有効
シグナルvalid_xhdl1:ビット;
信号の結果中間-
シグナルresult_xhdl2:bit_vector(7 DOWNTO 0);
信号のサンプル中級-
シグナルsample_xhdl3:ビット;
信号の値の中間-
シグナルvalue_xhdl4:bit_vector(7 DOWNTO 0);
---状態の割り当て

-一定のsWait:整数:= 0;
-一定のsSample:整数:= 0;
-一定のsConv:整数:= 0;
-一定のsDone:整数:= 0;

のBEGIN

有効<= valid_xhdl1;
結果<= result_xhdl2;
サンプル<= sample_xhdl3;
価値の損失の<= value_xhdl4;

-同期設計

過程

のBEGIN

)まで待って(CLK'EVENTとCLK = '1';
し)''1 IFを行く=(ない
状態<= to_bitvector(sWait、2); -停止し、リセット0 =場合に行く
ELSEの
ケースの状態は
-マシンの状態の状態を選択し、次の

のWHEN to_bitvector(sWait、2)⇒
状態<= to_bitvector(2 sSample);
のWHEN to_bitvector(sWait、2)⇒
-ので、新しい変換を開始する
状態<は= to_bitvector(sConv、2); -次の状態に変換入力してください
マスク<は="10000000"; -リセットマスクのみMSBファーストに
result_xhdl2 <="00000000"; -明確な結果
のWHEN to_bitvector(sConv、2)⇒

-セットビットを考慮する場合でコンパレータが大きな入力を示す値は現在よりも、他のままビットクリア

その後のIF(cmpは= '1')
result_xhdl2 <= result_xhdl2のORマスク;
端が。

-シフトマスク時間、次の次のビットをしようとすると

マスク<= ShiftRight(マスク、1);
-行わ終了後されているLSBは

次に、(マスク(場合は0)= '1')
状態<= to_bitvector(sDone、2);
端が。

>がto_bitvectorは(sDONE、2)=

他人=>が
NULLを。

ENDのケース。

端が。
エンドプロセス;

sample_xhdl3 <= to_bit(状態= to_bitvector(2 sSample、));

value_xhdl4 <= result_xhdl2のORマスク;

valid_xhdl1 <= to_bit(状態= to_bitvector(2 sDone、));ENDの制御装置;

==================追加分後52:plzは......返信『THX .....

 
あなたはライブラリですstd_logic_1164のみを使用し、それはない数値データ型を持つため、定数を整数理解しない。あなたは状態できる定数のためにSTD_LOGIC_VECTORの単純使用するか、変数の状態のタイプを定義する列挙。

一般的に、ときにライブラリを特にて使用する場合、それによってサポートされているはずです試して理解型のデータが、。

std_logic_vector整数をするに変換すると、指定する必要がする場合は、表¥現署名付きまたは署名のない。

私もコードをのbit_vectorタイプを使用して目的を参照してくださいしない。std_logic_vectorで十¥分でしょう。

 

Welcome to EDABoard.com

Sponsor

Back
Top