スポンサーリンク

ここからは自作CPUを実際にFPGA上で動かす方法について見ていきたいと思います。Verilog HDLで作成した回路をFPGA上で動作させるには、まず回路の入出力端子をFPGAのどのピンに割り振るかを定義する必要があります。Quartusにはピンプランナーというツールがあるので、そのツールを使ってCPUの端子をFPGAの持つピンに割り振っていきます。

Quartusのメニューから「Assignments」->「Pin Planner」を選択します。

 

ピンプランナーが開きます。プロジェクト作成時に指定したFPGAの型番に従って、実際のFPGAデバイスのピン配置などが表示されます。

 

設定する端子の”Location”の列をダブルクリックすると以下のようになります。この状態で入力欄の右端に表示されている下向きの三角マークをクリックすると実際のFPGAデバイスが持つピン名リストが表示されます。

 

デバイスのピン名リストが表示されるので、その中から端子と接続したいピン名を選択します。FPGAデバイスのどのピンを使用すれば良いかはFPGA基板のマニュアルなどを見て決めます。

 

例えば私が動作確認に使用したFPGA基板上では50[MHz]のクロック発振器がFPGA (EP3C16F484C6)の”G21″というピンに接続されていました。クロック信号を”clk”端子に入力するために、以下の設定では”clk”端子の”Location”列に”G21″を割り振っています。

 

残りの端子についても同様にピンを割り振っていきます。

 

スポンサーリンク

ピンプランナーで使用されなかったピンの動作はQuartusの設定によって異なります。未使用ピンの設定によっては外部回路との接続に問題が生じる可能性があるので念のために確認しておくのが良いでしょう。

以下の手順で未使用ピンの設定が確認できます。

Quartusのメニューから「Assignments」->「Device…」を選択します。

 

“Device and Pin Options…”を押します。

 

以下の画面が表示されますので、左側の”Category:”欄から”Unused Pins”を選択します。

 

“Unused Pins”の設定が表示されます。

未使用ピンの設定として、特定の電圧が出力されるような状態は場合によっては問題が生じることがあります。具体的には未使用ピンがGNDに設定されている場合などに、外部回路からその未使用ピンへ電源が接続されていたりするとデバイスがショートしてしまうようなことが考えられます。比較的に安全と思われる設定は以下の”As input tri-stated with weak pull-up”などの設定です。

 

<戻る       次へ>

 

スポンサーリンク