... | ... | @@ -34,21 +34,25 @@ $ cd work |
|
|
$ vivado&
|
|
|
```
|
|
|
|
|
|
![Screenshot__1_](uploads/a5b41a6eac7d03af526f5ccef90ab8ac/Screenshot__1_.png)
|
|
|
![adder4_001](uploads/442cb55228c6beae0e7ca8643876ca6a/adder4_001.png)
|
|
|
|
|
|
左上の File タブから File→Project→New とたどると、新規Project 作成用のウィザードが出てきます。
|
|
|
左上の File タブから File→Project→New とたどります。
|
|
|
|
|
|
![Screenshot__2_](uploads/4c0b91f4e97bbad225a7bbbc7f81c553/Screenshot__2_.png)
|
|
|
![adder4_002](uploads/2cc9254ba389a2a0a069a3daef41ee5d/adder4_002.png)
|
|
|
|
|
|
新規Project 作成用のウィザードが出てきます。
|
|
|
|
|
|
![adder4_003](uploads/cd0a1683dc6ab1dbad4d977f68593591/adder4_003.png)
|
|
|
|
|
|
`Project name` は adder4 など、適当なものに設定します。
|
|
|
`Project location` には作業用ディレクトリを適当に設定します。
|
|
|
`Create project subdirectory` にチェックがついていることを確認して、`Next >`を押します。
|
|
|
|
|
|
![Screenshot__3_](uploads/278a1a6af29e547d85e81c7d72392eef/Screenshot__3_.png)
|
|
|
![adder4_004](uploads/aedbce1d229cbbd4bde59e139762bf47/adder4_004.png)
|
|
|
|
|
|
`RTL Project` がチェックされていることを確認して、`Next >`を押します。
|
|
|
|
|
|
![Screenshot__4_](uploads/6afb8914699235af68f42fbedfdcf9e4/Screenshot__4_.png)
|
|
|
![adder4_005](uploads/e0d040adbb40b3aca262f0a70d9e0204/adder4_005.png)
|
|
|
|
|
|
先ほどダウンロードした後解凍した practice ディレクトリ内にある、`adder.v`、`top_module.v`、`testbench.v`をソースファイルとして追加し、`Next >`を押します。**この画像で示した順に追加しないと後の工程で失敗するので注意してください**。
|
|
|
ここで、`adder.v`は全加算器、`top_module.v`はトップモジュール、`testbench.v`はシミュレーションに用いるためのファイルです。
|
... | ... | @@ -57,29 +61,32 @@ Vivado では特に設定をしなくてもこうしたモジュール間の関 |
|
|
|
|
|
ここで使用したソースファイルが何を記述しているものなのかわからない場合、[ソースファイルの解説](./example)を参照してください。
|
|
|
|
|
|
![Screenshot__5_](uploads/9b7e5d05e5eff204dd18a7e1f6323931/Screenshot__5_.png)
|
|
|
![adder4_006](uploads/c5c162f9821e52a9eae14b05c1657ea2/adder4_006.png)
|
|
|
|
|
|
practice ディレクトリ内にある、`nexys.xdc`を制約 (constraints) ファイルとして追加したら、`Next >`を押します。
|
|
|
制約ファイルは使用する FPGA の設定用ファイルであり、ここに入出力ピンの設定が書かれています。
|
|
|
|
|
|
![Screenshot__6_](uploads/36f91e27868f533ca222ade9ef8923a2/Screenshot__6_.png)
|
|
|
![adder4_007](uploads/d85efeee8bf2f0eb94df769ec6fc63c8/adder4_007.png)
|
|
|
|
|
|
左上の `Boards` を選択した後、今回使う Nexys Video を選択したら`Next >`を押します。
|
|
|
Preview に画像が表示されないですが、特に問題はありません。
|
|
|
|
|
|
![Screenshot__7_](uploads/221ba5fcf2ea42456075e773ec73c7a3/Screenshot__7_.png)
|
|
|
![adder4_008](uploads/9283450315bcf08f601fc448a0d8a2cf/adder4_008.png)
|
|
|
|
|
|
正しくソースファイルや制約ファイルが読み込まれており、ターゲットボードが Nexys Video になっていることが確認できたら、`Finish`を押します。
|
|
|
|
|
|
![Screenshot__8_](uploads/13f7c75594c7fb1ba18d99de431f310b/Screenshot__8_.png)
|
|
|
![adder4_009](uploads/12f87a10002c398c6581cd8038837ca1/adder4_009.png)
|
|
|
|
|
|
プロジェクトが正しく作成されれば、上記のような画面が表示されます。
|
|
|
|
|
|
## シミュレーション
|
|
|
|
|
|
![Screenshot__13_](uploads/965ff23ac5e9b517785ae0bec1c8932e/Screenshot__13_.png)
|
|
|
![adder4_010](uploads/c40a428895f2076066f5dcb6aabe81dc/adder4_010.png)
|
|
|
|
|
|
左側の `Flow Navigator` から、 SIMULATION→Run Simulation→Run Behavioral Simulation を選択します。
|
|
|
|
|
|
![adder4_011](uploads/b3c80a663087aa64f563ea6d3bc05f9f/adder4_011.png)
|
|
|
|
|
|
一番右にあるウィンドウの Untitled 1 と書いてあるタブを選択すると、シミュレーション波形を見ることができます。
|
|
|
|
|
|
* Ctrlキー+マウススクロール で波形の拡大縮小ができます。
|
... | ... | @@ -92,25 +99,23 @@ Preview に画像が表示されないですが、特に問題はありません |
|
|
シミュレーション結果に問題がなければ、FPGA 上での動作確認へ進みます。
|
|
|
左側の Flow Navigator から、PROGRAM AND DEBUG→Generate Bitstreamを選択します。
|
|
|
|
|
|
![Screenshot__9_](uploads/b13f82fe72da9169cf82bc12f9d7a6ba/Screenshot__9_.png)
|
|
|
![adder4_012](uploads/f6ea24e7d5ceda9035abe9b5d4458bca/adder4_012.png)
|
|
|
|
|
|
Synthesis (論理合成、つまり RTL 記述からゲートレベルネットリストへの変換工程)や Implementation(配置配線、つまりゲートレベルネットリストから、FPGA 上における各ゲートの配置場所や配線経路を決定する工程)を順に行わずに Generate Bitstreamを選択したため、上記のようなウィンドウが表示されます。
|
|
|
|
|
|
`Yes` を選択すると、こうした工程と最終工程である Bitstreamデータ作成とを連続で行ってくれます。
|
|
|
|
|
|
![Screenshot__10_](uploads/d681d4b8d5f0ee69d14e5e952cdce742/Screenshot__10_.png)
|
|
|
![adder4_013](uploads/512b3479b1b90a8d2a39921f80c1c0c7/adder4_013.png)
|
|
|
|
|
|
Launch runs on local host にチェックがついていることを確認して `OK`を選択すると、論理合成、配置配線、Bitstream 生成作業が始まります。
|
|
|
|
|
|
数分程度で Bitstream Generation Completed と表示されるので、 `Open Hardware Manager`を選択し、`OK` を選択します。
|
|
|
|
|
|
### うまくいかない場合
|
|
|
![adder4_014](uploads/0ed549539e03c84e94b813161dac94b3/adder4_014.png)
|
|
|
|
|
|
#### The design is empty.と出る
|
|
|
数分程度で Bitstream Generation Completed と表示されるので、 `Open Hardware Manager`を選択し、`OK` を選択します。
|
|
|
|
|
|
プロジェクトの設定が間違っている可能性が高いです。このwikiに乗っている画像に注意しながら、もう一度プロジェクトを作り直してみてください。
|
|
|
The design is empty.と出る場合はプロジェクトの設定が間違っている可能性が高いです。このwikiに乗っている画像に注意しながら、もう一度プロジェクトを作り直してみてください。
|
|
|
|
|
|
![Screenshot__11_](uploads/e0038a6e2a93f8fc6081d891e3e1b895/Screenshot__11_.png)
|
|
|
![adder4_015](uploads/c4f16179701078527d62e8fd13e1c34c/adder4_015.png)
|
|
|
|
|
|
すると画面の上の方に No hardware target is open と表示されます。これはまだ FPGA を接続していないためです。
|
|
|
|
... | ... | @@ -119,17 +124,18 @@ Launch runs on local host にチェックがついていることを確認して |
|
|
FPGAボードにACアダプタをつなぎ、micro-USB-USBケーブルを介して PC と接続した後、電源を投入します。
|
|
|
ここで、プログラムを書き込むための PROG という端子のほかに、 UART通信用の UARTというmicroUSB端子も存在するので、注意してください。
|
|
|
|
|
|
![adder4_016](uploads/5073ffc78cdce554f9879f96521cee39/adder4_016.png)
|
|
|
|
|
|
画面上部に表示された、Open target から、Auto Connect を選択します。
|
|
|
Flow Navigator の Open Hardware Manager→Open Target から Auto Connect を選択することも可能です。
|
|
|
|
|
|
うまくいけば接続した FPGA が認識され、表示されるはずです。
|
|
|
|
|
|
![Screenshot__12_](uploads/54b13faa58171315f7b1a4f4b2affeff/Screenshot__12_.png)
|
|
|
![adder4_017](uploads/247a6806ebc7e135f2b830bace46486f/adder4_017.png)
|
|
|
|
|
|
同様に Program Device を選択し、表示された FPGA名を選択します。
|
|
|
|
|
|
![Screenshot__15_](uploads/e2a2cf97be481492ce984f6854ce7e7f/Screenshot__15_.png)
|
|
|
![adder4_018](uploads/c2610a38c81e3bbc8b4bda19b394d472/adder4_018.png)
|
|
|
|
|
|
上記のようなウィンドウが表示されます。ここで、Program とすると、先ほど作成した Bitstreamファイルが FPGA へと書き込まれます。
|
|
|
|
... | ... | |