Spartan 3E キットを持っています。そのキットには 4 つのスイッチがあり、4 つのプッシュ ボタンがあります。
私の論文では 16 ビット入力が必要ですが、8 ビットに変換します。
今私の問題は、4つのスイッチがあり、4ビットしか入力できず、プッシュボタンを使用せずに他の4ビットを入力できることです。
Spartan 3E キットを使用して、外部インターフェイスを使用して余分な 4 ビットを与える方法を知っている人がいたら、よろしくお願いします。
Spartan 3E キットを持っています。そのキットには 4 つのスイッチがあり、4 つのプッシュ ボタンがあります。
私の論文では 16 ビット入力が必要ですが、8 ビットに変換します。
今私の問題は、4つのスイッチがあり、4ビットしか入力できず、プッシュボタンを使用せずに他の4ビットを入力できることです。
Spartan 3E キットを使用して、外部インターフェイスを使用して余分な 4 ビットを与える方法を知っている人がいたら、よろしくお願いします。
利用可能なオプションはたくさんあります。
http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf
明らかに、あなたが言及した組み込みのボタンとスイッチがあり、使用できるロータリープッシュボタンがあります。以下は、完全に組み込まれているわけではありませんが、簡単に利用できるその他のオプションです (最も簡単なオプションを最初に示します)。
Hirose 100 ピン FX2 エッジ コネクタからの 43 の I/Oは、追加のボタン/スイッチをこれらの I/O に接続できます。次に、組み込みのボタン/スイッチと同じように、VHDL を記述して I/O を監視します。
RS-232 シリアル ポート、PC のシリアル ポートに接続し、端末プログラムを開いて通信し、何が起こるかを確認します。これを機能させるには、やはり別の vhdl ブロックが必要ですが、ここから始めます。
http://forums.xilinx.com/t5/Xilinx-Boards-and-Kits/Rs232-port-on-Spartan-3-starter-board/td-p/19282
PS/2 キーボード ポート、キーボードを差し込むことができます。ここでも、実際にキーボードを読み取るためにいくつかの vhdl ロジックを追加する必要があります。
http://www.youtube.com/watch?v=aZeutF6d0Z4
10/100 イーサネット 物理層インターフェイス、イーサネット経由で通信できます。MAC は EDK Platform Studio の Base System Builder の一部として利用できるようで、MicroBlaze ソフトコアでコードを記述してイーサネットと通信できます。
入力をすばやく調整する必要がない場合は、プッシュボタンを使用して、スイッチをベクターの独自の 4 ビット部分にラッチするだけです。たとえば (16 ビットのベクトルを読み込む場合):
process(clk)
begin
if(rising_edge(clk)) then
case pushbuttons is
when "0001" =>
data(15 downto 12) <= switches;
when "0010" =>
data(11 downto 8) <= switches;
when "0100" =>
data(7 downto 4) <= switches;
when "1000" =>
data(3 downto 0) <= switches;
when others =>
end case;
end if;
end process;
8 ビット入力のみが必要な場合は、case ステートメントの上半分を切り取るだけです。