# スターターキット編

**URL:** <https://sitcp.bbtech.co.jp/t/topic/19>\
**Category:** 紹介・解説  / introduction\
**Created:** [2019 年 5 月 13 日午前 1:59 UTC](https://sitcp.bbtech.co.jp/t/topic/19 "2019-05-13T01:59:01Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 1:59 UTC](https://sitcp.bbtech.co.jp/t/topic/19/1 "2019-05-13T01:59:01Z")

</div>

```auto
※ 2010年当時の内容をそのまま掲載しております。
  リンク切れなどございますが、ご容赦ください

```

はじめまして、mamehachi です！  
BBT で、FPGA 見習いやってます。  
まだ、まだ、駆け出しです&nbsp;  
  
これから SiTCP について学ぼうと思っているところです。  
  
さて、何から始めようかな…  
  
SiTCP って何が嬉しいんだろう。  
データをイーサネット上で転送できるFPGA用のライブラリか～。  
プログラムを組まずに、お気軽に転送できるってことかな…  
ネットワークのプログラミングは難しそうだから、これは、うれしいな！  
  
う～ん。他にもいいことがあるのかな？  
Dr. Bean 教えてください。

---

<div class="post-metadata">

**Author:** ![Dr.Bean](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/d/85f322/32.png) [@Dr.Bean](https://sitcp.bbtech.co.jp/u/Dr.Bean)\
**Post date:** [2019 年 5 月 13 日午前 2:02 UTC](https://sitcp.bbtech.co.jp/t/topic/19/2 "2019-05-13T02:02:21Z")

</div>

なんじゃ、まだまだ、修行が足りんの～。  
目先の楽さだけに目を付けおって…  
  
確かに、ハードウエアだけで、TCP のサーバーとして機能するから、  
  
ソフトを組まなくて良いのじゃが、もっと注目せんといかん特徴があるのじゃよ。  
  
  
  
ハードウエアで実装しているから、高速で安定した転送ができるのじゃよ。  
  
最近は、FPGA に CPU を実装することもできるのじゃが、高速には動作せぬのじゃ。  
  
それに、ライブラリが小さいから、中規模クラスのFPGAでユーザの回路と  
  
共に実装することができるのもこのライブラリのウリじゃ。  
  
UDP のよる通信で、レジスタの設定も出来るのじゃぞ。  
  
  
  
[内田先生のページ](http://esysinfo00.kek.jp/SiTCP/)があるから、ちゃんと、目を通しておきなさい！  
  
  
  
確か、先日、注文しておいた Xilinx の[「Spartan-3A スタータ キット」](http://japan.xilinx.com/products/devkits/HW-SPAR3A-SK-UNI-G.htm)が  
  
届いていたはずじゃ。  
  
[SiTCP User Community](https://sitcp.bbtech.co.jp/)&nbsp;にあるサンプルを、動かしてみてはどうじゃ。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:02 UTC](https://sitcp.bbtech.co.jp/t/topic/19/3 "2019-05-13T02:02:45Z")

</div>

分かりました。  
  
[「Spartan-3A スタータ キット」](http://japan.xilinx.com/products/devkits/HW-SPAR3A-SK-UNI-G.htm)&nbsp;で SiTCP を動かしてみます。  
  
スタータキットを、探さないと…

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:20 UTC](https://sitcp.bbtech.co.jp/t/topic/19/4 "2019-05-13T02:20:31Z")

</div>

こんにちは、mamehachi です。

Xilinx の[「Spartan-3A スタータ キット」](http://japan.xilinx.com/products/devkits/HW-SPAR3A-SK-UNI-G.htm)手に入れました！

 ![xrz33svq6zbo](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/23a2dfd833232c437dc78c67f75aec3e9d229fc1.jpeg)

さて、早速、開封。  
  
  
  
基板、マニュアル、USBケーブル、CD が入っていますね。

 ![yhqpfi7f1dd5](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/2b5a04b00737dd60c42f2bffc562b0ceae93aa15.jpeg)

 ![fznzdzhg3us5](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/8954aa2eca297b6a60635d09953c67a7e237d197.jpeg)

 ![p7wadczjpwil](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/7c833cfdfe8405d79e43d7f54cccf3369ab98097.jpeg)

マニュアルといっても、動作確認ぐらいしか書いてないな～。  
  
  
  
まずは、「Start Here」と書かれたマニュアルに従って動作確認をしてみよう。  
  
ちゃんと動作するのかちょっとドキドキするな～。  
  
  
  
電源を接続して、電源スイッチをON…

```
`

Welcome to S3A &

S3AN Starter Kit

`
```
```
  
とLCDに表示されました。  
  
そして、約１秒後、コンフィグレーションのメニュー表示になりました。  
  

 ![j4qxjzct7gw2](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/d421541a3127e393f42c974a5b0fcdcfb0984400.jpeg)

無事起動しました～！  
  
  
  
  
  
詳しいマニュアルは、オンラインにあるのか～。  
  
検索、検索…  
  
  
  
[スタータキットの資料が置いてあるページ](http://japan.xilinx.com/support/documentation/spar3a-sk.htm)がありました。  
  
  
  
このボードは REVISION D だから  
  
[「Spartan-3A/3AN FPGA スタータ キット ボード ユーザー ガイド」](http://japan.xilinx.com/support/documentation/boards_and_kits/j_ug334.pdf)  
  
でいいようだな。後で、目を通しておこう。  
  
  
  
資料探している途中で ISE12 って見かけたけど、CD には、ISE11 って書いてあるな～。  
  
ISE11 でいいのかな？  
  
  
  
こんな時は、Dr.Been に聞いてみよう。  
  
どうなんですか？

---

<div class="post-metadata">

**Author:** ![Dr.Bean](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/d/85f322/32.png) [@Dr.Bean](https://sitcp.bbtech.co.jp/u/Dr.Bean)\
**Post date:** [2019 年 5 月 13 日午前 2:22 UTC](https://sitcp.bbtech.co.jp/t/topic/19/5 "2019-05-13T02:22:24Z")

</div>

知ってるとは思うが、ISE は、xilinx が提供している開発環境じゃ。  
  
ISE12 が最新じゃが、スタータキット用の SiTCP のサンプルは、ISE11 用なので、  
  
今回は、xilinx がフリーで提供している[ISE11の WebPack](http://japan.xilinx.com/tools/webpack.htm) をインストールするのが良いぞ。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:22 UTC](https://sitcp.bbtech.co.jp/t/topic/19/6 "2019-05-13T02:22:47Z")

</div>

こんにちは、mamehachi です。

&nbsp;

今回は、ISE11 の WebPACK を、インストールします。

&nbsp;

[ISE WebPACK のページ](http://japan.xilinx.com/tools/webpack.htm)から

[「Windows および Linux 用 ISE WebPACK ソフトウェアのダウンロード」](http://japan.xilinx.com/support/download/index.htm)をクリック。

&nbsp;

ISE のいろんなバージョンがおいてあるぞ。

Dr. Been が ISE11 を使うように、言っていたな～。

ISE11 にもいろいろバージョンがあるけど、11.1 をまずインストールしないといけないみたいだな。

11.1 の All Platforms (WebPACK)をダウンロード...

&nbsp;

ん、ユーザ登録をしないといけないのか。

英語だからめんどくさいけど、必要な項目を埋めればいいだけか。なんとか終了。

&nbsp;

2.67GB もあるから結構時間がかかるな～。

&nbsp;

Windows のソフトで tar ってめずらしいけど、

Lhaplus で tar の展開できるのかな。

お、出来そうだ...

&nbsp;&nbsp;

 ![f4mf31q19sbr](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/056d44472790f10d9ca479c448fa7d1ae5c88b64.jpeg)

&nbsp;

あれ、こんな表示が出てしまった。

うまく解凍できないみたいだな～。

&nbsp;

Dr. Been なんで解凍できないのですか？

---

<div class="post-metadata">

**Author:** ![Dr.Bean](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/d/85f322/32.png) [@Dr.Bean](https://sitcp.bbtech.co.jp/u/Dr.Bean)\
**Post date:** [2019 年 5 月 13 日午前 2:23 UTC](https://sitcp.bbtech.co.jp/t/topic/19/7 "2019-05-13T02:23:55Z")

</div>

これは、100 文字より長いファイル名を使えるようにする GNU 独自の拡張に  
対応していないからじゃよ。ワシも以前、悩んだものじゃ。  
  
[tar のマニュアル](http://www.gnu.org/software/tar/manual/html_chapter/Formats.html#SEC130GNU)に多少記述があるぞ。  
そうじゃの～、[古いバージョンのマニュアル](http://www.delorie.com/gnu/docs/tar/tar_114.html)の説明のほうが分かりやすいかもしれんの～。  
  
どちらも英語じゃから、お主にはちょっと辛いかの～。  
[「tar @LongLink」で検索](http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q=tar+%40LongLink)してみるのが良いかもしれんの～。  
このことについて、ブログなど書いている人が結構おるから、参考になるじゃろう。  
  
Laplus は、GNU 独自拡張に対応していないようじゃから、他のツールを探すのが良いぞ。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:24 UTC](https://sitcp.bbtech.co.jp/t/topic/19/8 "2019-05-13T02:24:33Z")

</div>

他のツールって言われても、大丈夫なのはどれなんだろう～。

Dr. Been も冷たいよな～。お勧めのツールを教えてくれればいいのに！

  

Dr. Been が教えてくれないなら、Google 先生に聞いてみよう...

  

tar の解凍ができそうだから、とりあえず&nbsp;[7-ZIP](http://sevenzip.sourceforge.jp/)&nbsp;を試そう。

Windows XP だから、32bit版をダウンロードして、実行。

インストール先を指示するだけで簡単に終了。

さて、解凍できるのかな～。

  

tar ファイルを右クリックすると...おー、「7-ZIP」のメニューが増えてる。

&nbsp;  

 ![bdokdotpyd2n](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/203daaefab3c064e06b8fd3a418b866ef4c98151.jpeg)

&nbsp;  

[ここに解凍]を選択...

&nbsp;&nbsp;

 

 ![ipv82z08voxq](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/f1252a38899ff3dd4ec152a80b51e4d86c0d2e69.jpeg)

 
  

 
無事、解凍できるかな～。
 
  

 
終わった。
 
エラー表示もでなかったし、「Xilinx\_11.1\_WebPack\_SFD」ディレクトリも出来ているから
 
うまくいったっぽいぞ。
 
  

 
ディレクトリを開いて...
 
う～ん、「xsetup.exe」でいいのかな。ちょっと、linux っぽい名前だな～。
 
「xsetup.exe」を実行。
 
  

 
&nbsp;
 

 ![f3ud20usdqcw](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/91e6bcfaf0c55c266ac82bc813891ba48bc0fb7d.jpeg)

 

  
 

いろいろ設定があるけど、全部デフォルトでいいみたいだな～。  

&nbsp;  

 ![z52p1mopl9c7](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/bb89350585fd67a1454afe9dc89e6b177dd5ee35.jpeg)

&nbsp;

[インストール]ボタンをクリック。

  

インストールが始まったけど...結構掛かるな～。

  

おっと、ダイアログボックスが出ている。

  

 ![pr7wjmdpne8b](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/22433ef37a9fbfb860a6f6e96d893fcae22fdd82.jpeg)

&nbsp;  

一時間弱はかかったかな。

あれ、まだ続くのか...

VC++ 関連のものみたいだけど、これはすぐ終了。

  

次は、ライセンスか～。

&nbsp;  

 ![5vzhld3p7h79](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/dbc38c5e89ed02dc1131ef70a1fa6e0933d35482.jpeg)

&nbsp;  

[Start ISE WebPack] を選択して、[Next]をクリック。

  

Xilinx のサイトが表示されるのか～。いや、いや、結構手間がかかるな～。

WebPACK Lisense を選んで...お、e-mail でライセンスファイルが送信されるのか...

&nbsp;  

 ![z9jyx82a43y9](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/21e42f28ac8cdea546a8d6fe2fe0658478289013.jpeg)

&nbsp;  

[Copy License...] をクリックして、送られてきたファイルを指定してして、[close]。

  

さすがにこれで終了かな？

  

おっと、次は Update か～。

&nbsp;  

 ![zs2rtnvl0q5x](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/b9123061761e6eb38b6284af5a3570598bcd0a77.jpeg)

&nbsp;  

[Check for Updates] をクリック。

&nbsp;  

 ![9c68o1risb8d](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/b6f5a5f9624d6f95637245e7dd81ef6008d4f04c.jpeg)

&nbsp;  

[OK] をクリック。

&nbsp;  

 ![2d6ffhdyg6wo](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/b6f2cbfbc6a31eeef6893345043961982415c8fa.jpeg)

  

あれ、エラー表示だ！

  

う～ん、とりあえず、リトライしてみるか。

ん、また同じダイアログだ。ダメか。

とすると、キャンセルするしかないか。

  

 ![g3jq9aewrwhy](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/29a56fa64d94eed7246ed24aa3a2bfda583aded6.jpeg)

&nbsp;  

一応、完了。いまいち、すっきりしないけど...

  

11.5 が最新だから、update はしないとまずいんだろうな～。

また、Dr. Been に聞くか...

「なんじゃ、そんなこともわからんのか」な～んて嫌味のひとつも言われそうだな...

  

気を取り直して、まずは起動してみよう。

デスクトップ上の [Xilinx ISE 11] をダブルクリック。

  

お～、立ち上がった。

&nbsp;  

 ![6421nvt0de0r](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/4acb992b1f7f7165d4094ea9ce68db928abaecc9.jpeg)

&nbsp;  

メニューの [Help]-[XilinxUpdate...] というのがあるぞ。

お、インストールの時と同じだ。

  

 ![ek6wdt4qwuze](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/7e349f2d73868cfeebee89bc8e92faca1babe147.jpeg)

&nbsp;  

[Yes]。

&nbsp;  

 ![1u72q0214g4p](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/4afc2582bd0bc0368a436a1a14c898a32f8bba0a.jpeg)

&nbsp;  

ん、[License State] が [Invalid] の項目があるな～。

ちょっと、あやしいぞ。

外して、試してみよう。

&nbsp;  

 ![cllzz6ekkvwj](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/b12c15af7c3eba67a74d3ed13c43c976ee264bf2.jpeg)

&nbsp;  

一旦、アプリケーションを止めるのか。

[Yes]をクリック。

&nbsp;  

 ![28rn259n4w2t](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/f8a930e49ab32e5a16a7d13984bfa6a3a20319cc.jpeg)

&nbsp;  

かなり時間がかかるみたいだな～。。

全然進まないから、ちょっと、出掛けてこよう。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:24 UTC](https://sitcp.bbtech.co.jp/t/topic/19/9 "2019-05-13T02:24:54Z")

</div>

やっと、update 終わりました。

  

３時間位かかったのかな。

  

さてと、もう一度起動してみよう。

  

[Help]-[About...]

で、バージョン表示。

&nbsp;  

 ![gf0frdvvbbi3](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/48f751f3f1132a52bbce32a6ec17a84ab8606f23.jpeg)

&nbsp;  

無事、11.5 になった。

良かった良かった。

Dr. Been に聞かずに済んだし&nbsp; 

  

さてと、次はやっとサンプル版の起動だな。

やったことは大したことはないけど、意外と時間がかかったな～。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:25 UTC](https://sitcp.bbtech.co.jp/t/topic/19/10 "2019-05-13T02:25:20Z")

</div>

こんにちは、mamehachi です。  
やっと、SiTCP に辿りつきました～&nbsp;  
   
まずは、サンプル版をSiTCPサイトからダウンロードしてこよう！  
SiTCP のメインメニューから[ダウンロード](https://sitcp.bbtech.co.jp/modules/d3downloads/)を開いて、  
 [「Sample source for Xilinx Spartan 3A Starter kit」](https://sitcp.bbtech.co.jp/modules/d3downloads/index.php?page=visit&cid=1&lid=5)をクリックしてダウンロード。  
   
XC3ASKSample.4.0.zip が、ダウンロードできました。  
ZIP ファイルを解凍すると、XC3A\_SK\_SiTCP デレクトリができたぞ。  
   
ISE を立ち上げよう。  
ん～。file メニューを見ると、[Open Project] があるな～。これだろう。  
ファイルの種類に「\*.xise」ってあるから、拡張子が「xise」のファイルを  
探せばいいんだな。

 ![sbry4ff4zha4](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/3aad45afbd4548dbaf5c6f3bd71045524b057a15.jpeg)

お、XC3A\_SK\_SiTCP/ISE11 の中に「ISE11.xise」ってファイルがあったぞ。  
これだな。開いてみよう。

 ![w6d02g1ybgo4](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/5ca491db108ee9b994021e35f7940fee927592e2.jpeg)

再生のアイコンをクリックすればいいのかな。  
  
あれ、コンパイル済みなのか～。何も起こらないな～。  
  
コンパイルしてみたいから、  
  
XC3A\_SK\_SiTCP/src/S3A\_SK\_SiTCP.V  
  
を変更せずに保存しなおして、タイムスタンプを更新してみよう。  
  
  
  
もう一回、再生[Implement Top Module]をクリック。  
  
  
  
お～、コンパイルできたみたいだ。  
  
warning は出ているけど、大丈夫だろう。

&nbsp;

 ![i0npewu69iqb](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/7cbe760aee4b114dd8ae91809fa74b75ab18cfe1.jpeg)

  

「Generate Programming File」が「？」だな～。  
   
再生アイコンのヒント表示に、「Implement Top Module」ってでるな～。  
これは、Implement までみたいだな。  
   
う～ん、どうすればいいんだろう。  
[Generate Programing File] を右クリックするとしてみるか...

&nbsp;

 ![z8cpc20bb6f0](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/d16f366e6507db6016d65676675e78d62978c9bb.jpeg)

[Run] かな。  
  
   
  
ちょっと待つと…  
  
   
  
出来たみたいだ。

&nbsp;

 ![ais4yd6xomjq](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/ec7df9a1922da6ed0ca868331d4baf42931d2e49.jpeg)

さ～て、スタータキットで動かすぞ！  
  
って、どうすればいいんだ。  
  
[Configure target Device] っぽいけど。  
  
ユーザーズガイドを、見てもこの辺りについては詳しく書いてないようだな～。

Dr.Been に聞いてみよう。  
どうすればいいんですか？

---

<div class="post-metadata">

**Author:** ![Dr.Bean](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/d/85f322/32.png) [@Dr.Bean](https://sitcp.bbtech.co.jp/u/Dr.Bean)\
**Post date:** [2019 年 5 月 13 日午前 2:25 UTC](https://sitcp.bbtech.co.jp/t/topic/19/11 "2019-05-13T02:25:37Z")

</div>

そうじゃの～。  
スタータキットの FLASH に書き込むことも出来るのじゃが、  
今回は USB ケーブルを使って JTAG で直接 FPGA をプログラムするのが  
簡単で良いじゃろう。  
スタータキットの設定の変更も必要ないしの～。  
  
まずは、ISE の [Configure Target Device] にある  
[Manage Configure Project(iMPACt)] をダブルクリックして  
起動するのじゃ。  
立ち上がったら、[Boundary Scan] を選択して、  
[Initialize Chain] を実行すると、  
後は、なんとなく分かるじゃろう。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:26 UTC](https://sitcp.bbtech.co.jp/t/topic/19/12 "2019-05-13T02:26:11Z")

</div>

USB ケーブルか～。  
確か、キットについていたはずだ...。  
USB ケーブルで、PCとスタータキットを接続して、  
電源を入れてみよう。

 ![gykurbcstwtt](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/bb0e43726344f30765b5ed2f6a60d4b7f7c85f3f.jpeg)  

あ、ドライバーのインストールするのか～。  
  
[いいえ、今回は接続しません] を選択して、[次へ] をクリック。&nbsp;

 ![hwsz1jbrbn4t](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/d70549098935b2e8278ae8bbd150036238e0d5ce.jpeg)

[ソフトウェアを自動的にインストールする] を選択して、[次へ] をクリック。

 ![don4rw28ky7g](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/c347d27fea1c216a1913a91c579faa4b4f69c183.jpeg)

さーて、動かしてみよう！&nbsp;

 ![gykurbcstwtt](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/bb0e43726344f30765b5ed2f6a60d4b7f7c85f3f.jpeg)

と思ったらまた同じダイアログが表示されたぞ。

また、ドライバーのインストールなのかな？  
同じ手順で、... 完了。  
   
あれ～、また、出てきたな～。  
大丈夫なのかな～。  
もう一度、繰り返すか...完了。  
   
今度は、ダイアログが出てこない。  
良かった、先にすすめる&nbsp;&nbsp;

 ![n7xd5ofhjpld](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/240ba379a0c434fa55296c801e14a675bc21a6bd.jpeg)

[Manage Configuration Project(iMPACT)] をダブルクリック。&nbsp;

 ![j19cfqu9esbg](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/e637ff4755ccdb46acfb87f85857a675d2c37746.jpeg)

Boundary Scan って、Dr.Bean が言っていたな～。  
  
  
  
[Boundary Scan] を、クリック。  
  
ん、何も起きないな～。じゃ、ダブルクリック。&nbsp;

 ![6cwyvgwkz97c](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/ca1b675a61c6080bef85f1b29b1f95dda65e6e0c.jpeg)

「Right click to Add Device or Initialize JTAG chain」って出たぞ。  
  
Dr.Bean が[Initialize Chain] を実行しろと言っていたのは、これだな。  
  
「Right click」と書かれている付近を右クリックすると…

 ![6qsxshbid1zs](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/17d441284cc32388fdae7ebefb1d65a031bb4e74.jpeg)

[Initialize Chain] を、クリック。  
  
お～、FPGA が、表示された！

 ![1linvl657f4i](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/6a36d930d26cb0ae0714ff4deab8e3a4ede19a8b.jpeg)

「Do you want to continue and assign configuration files(s)?」  
  
って聞いているから、[Yes] かな。

 ![s6aqmrllrv1d](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/6f65baa9b0d357a0855f181aa5d85ebef0661f79.jpeg)

表示されている、「s3a\_sk\_sitcp.bit」を指定すれば、良さそうだな。  
  
   
  
[Open] をクリック。

 ![b5jrkhrnxs4e](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/da6324a431ad5eedddd503453143631b49b96ae6.jpeg)

FLASH は使わないと言っていたから、[No] でいいだろう。

 ![sri58bvqiz9g](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/4d28e8e3da6a280b75c326013dd5e592b52b7dfe.jpeg)

あれ、また出てきたぞ。  
  
あ、xcf04s に色が付いているな～。  
  
一個ずつ選択するみたいだな。  
  
FLASH だから、[Bypass] でいいかな。

 ![mzr8satpcpo1](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/00dca1c2fdb058a1479ba0a8894803311d18cec4.jpeg)

デフォルトで大丈夫だろう。  
  
   
  
[OK] をクリック。  
  
   
xc3s700a を右クリックするんじゃないかな～。

 ![styq85dwhwqw](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/b92301ee275e1409816733f2dc06c0c48116ad9e.jpeg)

予想通りだ&nbsp;&nbsp;  
[Program] をクリック。

 ![6wg9kxlis0tv](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/d5976057249fad8c7ecccaa0027f26baea97c234.jpeg)

お、どうだろう。

 ![0exkl1s5hshg](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/4f58a07931fabb318fcd3b622968a6a3f17486b4.jpeg)

うまくいったみたいだ！  
  
スタータキットの LED 表示が変わったぞ。

 ![h30mqjf2jwgk](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/da49401d61cea4bff9b7404a3e51f76fdc5ff934.jpeg)

LD7 のみ点滅するようになりました。  
  
   
  
動作しているみたいだな～。  
  
LED の表示以外に起動確認の方法はないのかな～？

---

<div class="post-metadata">

**Author:** ![Dr.Bean](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/d/85f322/32.png) [@Dr.Bean](https://sitcp.bbtech.co.jp/u/Dr.Bean)\
**Post date:** [2019 年 5 月 13 日午前 2:26 UTC](https://sitcp.bbtech.co.jp/t/topic/19/13 "2019-05-13T02:26:47Z")

</div>

まずは、ping を打って、導通確認をするのが良いじゃろう。

サンプル版は、SiTCP のデフォルトの IP アドレスを使用しているのじゃ。  
 `IP address: 192.168.10.16<br>TCP port: 24<br>UDP port: 4660`

デフォルトは、これじゃ。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:27 UTC](https://sitcp.bbtech.co.jp/t/topic/19/14 "2019-05-13T02:27:17Z")

</div>

分かりました。PING で確認してみます。  
  
  
  
まず、クロスケーブルでPC と接続しよう。  
  
スタータキットのRJ-45コネクタのLEDが緑色で点灯したから、  
  
LINK は、無事上がったみたいだな～。  
  
   
  
コマンドプロンプトを起動して、  
  
PING…えっとアドレスが、192.168.10.16…

 ![bt26kiaq07ha](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/f6c4b49d583e6567d0f9fad15f28a49fcf79d941.jpeg)

&nbsp; &nbsp;&nbsp;  
あれ、 失敗だ&nbsp;&nbsp;  
  
あ～、そうか、ネットワークの設定をしなきゃ。  
  
  
  
[スタート]-[コントロールパネル]  
  
  
  
で、コントロールパネルを表示して、  
  
[ネットワーク接続]をダブルクリック。

 ![iingl555uh21](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/5cd58d82644ab3bcb4c9d403712e607306454d7d.jpeg)

[ローカルエリア接続] をダブルクリック。

 ![rg4bbwdz0qad](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/8960446f7a10565fe6b1690435e55c2a8670a22c.jpeg)

[プロパティ] をクリック。

[インターネット プロトコル (TCP/IP)] をダブルクリック。  
  
  
  
スタータキットが、192.168.10.16 だから、

 ![348358cz5qm4](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/7b581c84caeefb0a714ee5aed3f496f794ab2b59.jpeg)

でいいだろう。  
  
  
  
今度は、うまくいくかな。  
  
もう一度、ping を実行。

 ![6ngc4mvvh598](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/354e4381a2c3fc6d9ca05be8cb6d3a2d264e0e74.jpeg)

お、応答が返ってきた～！&nbsp;&nbsp;&nbsp;&nbsp;  
  
ちゃんと、動いているようだ&nbsp;  
  
次回は、機能の確認をしてみます！

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:28 UTC](https://sitcp.bbtech.co.jp/t/topic/19/15 "2019-05-13T02:28:33Z")

</div>

こんにちは、mamehachi です。  
  
  
  
今回は、SiTCP を動かして、その機能を確認してみます。  
  
  
  
さて、どうしようかな。  
  
確か、[SiTCP User Community Site のダウンロード](https://sitcp.bbtech.co.jp/modules/d3downloads/)に「SiTCP Utility」が  
  
あったけど、使えるんじゃないかな～。  
  
  
  
「[SiTCP Utility](https://sitcp.bbtech.co.jp/modules/d3downloads/index.php?page=visit&cid=2&lid=8)」 をダウンロードしてみよう。  
  
  
  
SiTcpUtil.0.9.2e.zip がダウンロードできました。

 ![cv37bmei63m6](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/0877caa4f23525e8ae5ae27aefd586884ff1f98d.jpeg)

中を見てみると、「setup.exe」があるな～。  
  
一応、解凍してから、実行。

 ![tjdxjcxg8emz](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/cb8c4864d4b4b7bf6c18ec967a923177491d9d1f.jpeg)

[実行]をクリック。

 ![q1sldhjoy94m](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/4b54aecf74d21abef172d6be023cf3068d0d52c2.jpeg)

[同意する]をクリック。  
  
そういえば、SiTCP Utility のダウンロードの説明に、

注意：.NET Framework3.5のインストールには数十分かかる場合があります。

って書いてあったな～。  
結構時間が掛かるのかな～。  
ちょっと、放っておくか...

 ![psoppqy07w5e](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/a14fe717874a9a3f7e92eadb4134d51886b44bdc.jpeg)

あ、終わってる&nbsp;  
  
10分弱ぐらいかな～。意外と早かったな～。  
  
  
[インストール」をクリックだな。

 ![bxs3m6x132w4](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/9522f70750ad127a08c8cb007e6ba0284c4dd49f.jpeg)

お、インストール終了したと思ったら、起動した&nbsp;  
  
  
  
アドレスやポートは、Dr.Bean の言っていたデフォルト値になっているみたいだな。  
  
まずは、UDP から確認してみよう。  
  
  
  
[制御(UDP)]タブをクリック。

 ![re5g6htp518f](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/52558cc1ab97df40cbd5e8a8263587282f3ba423.jpeg)

レジスタアドレスは 0 で、試してみよう。  
  
[読み出し] をクリック。

 ![ohu8ls6s5zmv](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/244f505788f8c6eb0a6ecc5fe16b3f82cf087b06.jpeg)

おっ。目が動いた…ちょっと、ビックリ&nbsp;  
  
  
  
とりあえず、何か読めたな～。  
  
  
  
今度は適当に書き込んでみよう。

 ![ohwzgml4xlnp](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/d41ba02156469033138146fb532d9200feda4b52.jpeg)

こんな感じでデータを書いて、[書き込み] をクリック。

 ![30r0ir475uvh](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/f61c1da84761a934318e3b696b7c85204c7f2cca.jpeg)

お、LED の表示が変わったぞ！  
  
  
  
読みだしてみよう、[読み出し]をクリック。

 ![cs1n1cqlqgzy](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/1e02f69f98545401a08e586db3a9dba685cf18df.jpeg)

アドレス 8 以降が、書けるみたいだな～。  
  
でも、アドレス 9 は、書けないのかな？  
  
  
  
LED は、下位 7 bit と考えると、0x19 だな～。  
  
とすると、アドレス 8 が LED なのかな？  
  
  
  
アドレス 8 に 0x55 を書き換えてみよう。

 ![mq0nek4hbf2n](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/c90a5d1d865f2295c9b57a1c85eae7ad49d658b3.jpeg)

[書き込み]をクリック。

 ![acksk85317ck](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/75fadb4270f1af0587ff84f30ac294ac5c9bd144.jpeg)

お～、予想通りだ&nbsp;  
  
  
  
UDP は、動作しているようだな。  
  
  
  
次は、TCP をやってみよう  
  
  
  
[データ(TCP)]タブをクリック。

 ![e9nho1mk4id1](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/e5b4411d9d821fb39a87688c33b70ecca4d3c03b.jpeg)

[受信開始]をクリック。

 ![31u5d6oqj2l3](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/560edcbf81035458ac1bd7e2b74d5a1760df743f.jpeg)

何も受信できないみたいだな～。  
  
  
  
Dr. Bean に聞いてみよう。  
  
なんで、受信できないのですか？

---

<div class="post-metadata">

**Author:** ![Dr.Bean](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/d/85f322/32.png) [@Dr.Bean](https://sitcp.bbtech.co.jp/u/Dr.Bean)\
**Post date:** [2019 年 5 月 13 日午前 2:28 UTC](https://sitcp.bbtech.co.jp/t/topic/19/16 "2019-05-13T02:28:47Z")

</div>

仕様も分からずに、闇雲にやってもうまくいかんぞ。  
簡単だから、ソースを見てどう動くのか調べてみなさい！

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:29 UTC](https://sitcp.bbtech.co.jp/t/topic/19/17 "2019-05-13T02:29:56Z")

</div>

分かりました。見てみます。

ソースは、確か、

XC3A\_SK\_SiTCP¥Src

にあったはず。

S3A\_SK\_SiTCP.V を見てみよう。

思ったより分量がないぞ。  
理解できそうだ

```plaintext
//--------------------------------------------------------------
// LED
//---------------------------------------------------------------
    reg [23:0] ledCnt;

    always@ (posedge CLK25M or posedge RST) begin
        if(RST)begin
            ledCnt[23:0] <= 24'd0;

```

```auto
        end else begin
            ledCnt[23:0] <= ledCnt[23:0] + 24'd1;
        end
    end

    assign LED[7] = ledCnt[23] & ledCnt[22];

```

```auto
これは、点滅している LED の記述だな～。

えーと、肝心の TCP は、どこかな。

```

```auto
  SiTCP(
    .CLK (CLK25M ), // in : System Clock
    .RST (RST ), // in : System reset

    （略)

  // User I/F
    
    （略）
    
  // FIFO I/F
    .TCP_RX_WC (TCP_RX_WC<span>[15:0] ), // in : Rx FIFO write
    .TCP_RX_WR (TCP_RX_WR ), // out: Write enable
    .TCP_RX_DATA (TCP_RX_DATA[7:0]), // out: Write data[7:0]
    .TCP_TX_FULL (TCP_TX_FULL ), // out: Almost full flag
    .TCP_TX_WR (TCP_TX_WR ), // in : Write enable
    .TCP_TX_DATA (TCP_TX_DATA[7:0]), // in : Write data[7:0]

    （略）
  );

//---------------------------------------------------------------
// TCP loopback FIFOl
//---------------------------------------------------------------

  assign TCP_RX_WC[15:11] = 5'b11111;

  sitcp_fifo sitcp_fifo(
    .clk (CLK25M ),
    .rst (TCP_OPEN ),
    .data_count (TCP_RX_WC[10:0] ),
    .full (),
    .wr_en (TCP_RX_WR ),
    .din (TCP_RX_DATA[7:0] ),
    .empty (sitcpFifoEmpty ),
    .rd_en (sitcpFifoRe ),
    .dout (TCP_TX_DATA[7:0] ),
    .valid (TCP_TX_WR )
  );

  assign sitcpFifoRe = ~TCP_TX_FULL & ~sitcpFifoEmpty;

```

---

<div class="post-metadata">

**Author:** ![Dr.Bean](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/d/85f322/32.png) [@Dr.Bean](https://sitcp.bbtech.co.jp/u/Dr.Bean)\
**Post date:** [2019 年 5 月 13 日午前 2:30 UTC](https://sitcp.bbtech.co.jp/t/topic/19/18 "2019-05-13T02:30:12Z")

</div>

そうじゃの～。  
telnet で接続して、echo が返ることを確認するのが良いじゃろう。  
telnet コマンドは、デフォルトで port 番号 23 を使うのじゃが、  
指定することも可能なのじゃよ。  
指定の仕方は、コマンドのヘルプででも調べるのじゃな。

---

<div class="post-metadata">

**Author:** ![mamehachi](https://sitcp.bbtech.co.jp/letter_avatar_proxy/v4/letter/m/b5a626/32.png) [@mamehachi](https://sitcp.bbtech.co.jp/u/mamehachi)\
**Post date:** [2019 年 5 月 13 日午前 2:32 UTC](https://sitcp.bbtech.co.jp/t/topic/19/19 "2019-05-13T02:32:17Z")

</div>

そっか～。  
telnet で、確認できるのか～。  
さて、コマンドプロンプトを起動しよう。

telnet -h で、分かるかな～。

 ![kg6hs02t679p](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/3ac9201455b4029767972c687e4367a66a6f0b4f.jpeg)

なるほど、アドレスの後にポート番号を書けばいいんだな。

telnet 192.168.10.16 24

 ![3inaukxnarw1](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/57e7f640f6c206fbdb0e0717ea475bc73a3a979a.jpeg)

おー、ちゃんと echo が返ってきている。

一応、TCP での通信の確認は出来たな～。  
かなり低速でだけど

そうだ、UDP のソースも見てみよう！

XC3A\_SK\_SiTCP¥Src¥S3A\_SK\_SiTCP.V

を見てみると…

```auto
//--------------------------------------------------------------
// Slow control
//--------------------------------------------------------------
  RBCP_REG RBCP_REG(
    // System
    .CLK (CLK25M ), // in : System clock
    .RST (SiTCP_RST ), // in : System reset
    .LED (LED[6:0] ), // out : LED[6:0]
    .DIP_SW (SW[3:0] ), // in : DIP_SW[3:0]
    // RBCP I/F
    .RBCP_ACT (RBCP_ACT ), // in : Active
    .RBCP_ADDR (RBCP_ADDR[31:0]), // in : Address[31:0]
    .RBCP_WE (RBCP_WE ), // in : Write enable
    .RBCP_WD (RBCP_WD[7:0] ), // in : Write data[7:0]
    .RBCP_RE (RBCP_RE ), // in : Read enable
    .RBCP_RD (RBCP_RD[7:0] ), // out : Read data[7:0]
    .RBCP_ACK (RBCP_ACK ) // out : Acknowledge
  );

//--------------------------------------------------------------

```

となっているな～。  
このモジュールを見れば、分かりそうだ。

XC3A\_SK\_SiTCP¥Src¥ にあるもうひとつのファイルが、それだな～。

RBCP\_REG.v を開いてみよう！

このソースも短いから理解できそうだ。

```auto
//--------------------------------------
// Read data mux.
//--------------------------------------
    reg [7:0] muxRegDataA ;
    reg muxRegAck ;

    always@ (posedge CLK) begin
        case(regAddr[3:0])
            4'h0: muxRegDataA[7:0] <= X00Data[7:0];
            4'h1: muxRegDataA[7:0] <= X01Data[7:0];
            4'h2: muxRegDataA[7:0] <= X02Data[7:0];
            4'h3: muxRegDataA[7:0] <= X03Data[7:0];
            4'h4: muxRegDataA[7:0] <= X04Data[7:0];
            4'h5: muxRegDataA[7:0] <= X05Data[7:0];
            4'h6: muxRegDataA[7:0] <= X06Data[7:0];
            4'h7: muxRegDataA[7:0] <= X07Data[7:0];
            4'h8: muxRegDataA[7:0] <= X08Data[7:0];
            4'h9: muxRegDataA[7:0] <= X09Data[7:0];
            4'hA: muxRegDataA[7:0] <= X0AData[7:0];
            4'hB: muxRegDataA[7:0] <= X0BData[7:0];
            4'hC: muxRegDataA[7:0] <= X0CData[7:0];
            4'hD: muxRegDataA[7:0] <= X0DData[7:0];
            4'hE: muxRegDataA[7:0] <= X0EData[7:0];
            default:muxRegDataA[7:0] <= X0FData[7:0];
        endcase

        muxRegAck&nbsp; <= regCs & (regRe | regWe);
    end

```

  
データが16個あって、アドレス0から順に割り当てられているんだな。  
  

> 

```auto
  assign {X00Data[7:0],X01Data[7:0],X02Data[7:0],X03Data[7:0]} = `FPGA_VER;
  assign {X04Data[7:0],X05Data[7:0],X06Data[7:0],X07Data[7:0]} = `FPGA_ID;

  assign X08Data[7:0] = regX08Data[7:0];
  assign X09Data[7:0] = {4'd0,DIP_SW[3:0]};
  assign X0AData[7:0] = regX0AData[7:0];
  assign X0BData[7:0] = regX0BData[7:0];
  assign X0CData[7:0] = regX0CData[7:0];
  assign X0DData[7:0] = regX0DData[7:0];
  assign X0EData[7:0] = regX0EData[7:0];
  assign X0FData[7:0] = regX0FData[7:0];

```

お、書き換えられなかったところは、Version と FPGA の ID 表示だったのか～。  
X09Data[7:0] に DIP SW の内容が代入されているぞ。  
アドレス 9 だけ、値が 0x00 で不思議だったんだよな～。  
後で、DIP SW の値を変えて、試してみよう！

```auto
//--------------------------------------
// Sig. assignment for outputs
//--------------------------------------
     wire [6:0] LED;

     assign LED[6:0] = X08Data[6:0];

```

X08Data[6:0] が、LED に代入されている。  
確かに、アドレス 8 の値に書き込んだら LED の表示が変化していたな～。  
  
他のアドレスは、レジスタ接続されているんだ。  
  
よし、大体理解できたぞ。  
  
DIP SW を試してみよう！  
  
DIP SW の値を変更して...  
  

 ![xjjdknlz20hg](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/6131e0d95b7d01b92a07d18bef6b689962855a40.jpeg)

SiTCP Utility で、[制御(UDP)] を選択して、[読み出し] をクリック。

 ![2b5kdy3pd5t4](https://testsitcp2.bbtech.co.jp/uploads/default/original/1X/9eb9b39703dcad683d4270a73e4f05c040f96a91.jpeg)

  
  
0x00 から 0x05 に変わりました。  
ちゃんと、DIP SW の値が反映されているな～。  
  
  
SiTCP の一通りの機能を確認できました～。  
まだまだ、これからですが、SiTCP と FPGA に関する理解が深まったような気がします&nbsp;  
スタータキット編は、今回をもって終了です。  
  
また、何かに挑戦するときに、お会いしましょう！
