« ADS54J60の隠しレジスタ(2) | トップページ | 振込手数料はどちらが負担するべきか »

2017.07.29

特電のArtix-7ボードでもEthernetのパケットを出せた!

特電のArtix-7ボードに拡張ベースボードを装着して、Arty用に作ったハードウェアUDP/IPコアを乗せたらEthernetのパケットを出せるようにになりました。

1405790560_fextbase_2

Artyとの違いはLANのチップの違いになります。Artyは100BASEのイーサの信号をMIIといってデータバスを4本、クロック25MHzで送る方式ですが、特電の拡張ベースボードはRMIIといってデータバス2本、クロック50MHzで送る方式です。

現在あるデザインはArty用なので、特電ボードに移植するにはMII2RMIIのコアが必要になります。

もちろんこういったコアはXILINXが用意してくれているので、Vivadoで+ボタンを押して追加するだけです。

Mii2rmii

なんとなくでつなぎました。

Artyとの違いですが、Artyは25MHzのリファレンスクロックがFPGA→LANチップという方向でしたが、特電ボードでは50MHzのクロックがLANチップ→FPGAという方向なので、その違いを直します。

するとイーサコアは外部クロックで動くようになるのですが、いままでは内部クロックだったので一抹の不安はあります。

Ethercore

外部クロックで動くように見せながら実は外部クロックを使っていない・・とかいう設計なっているかもしれません。ソースコードを見る限り、ちゃんと外部クロックで動くようになっていたので一安心。

えいや、で論理合成してみたらChipScopeのクロックがないとかでdbg_hub/clk でエラーが出ます。クロックをいろいろ変えたので接続が切れたようです。

VivadoのChipScopeの設定がどこにあるか探したのですが、ここにあるようです。

Chipscope_1

Synthesisが成功したら、Open DesignしてSet Up Debugを行うようです。

Chipscope_2

Chipscope_3_2

こんなダイアログが出るので、Nextを押していくだけで再びクロックがつながるようになりました。

ChipScopeのクロックは自動的に推定されるのでしょうか。

さらに論理合成をするとクロックの配線ができない・・とエラー。なかなかハードルが高いです。

エラーメッセージの中に解決法が書かれていたので、

set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets eth_ref_clk_IBUF]

を追加して、再度論理合成。

そして、実機に書き込んだら、動きました!

Artix-7がUDP爆弾を大量に発行しています。

Artix7udp

すごい、このコア!ちゃんと動く。

PING爆弾というかPINGスキャンもちゃんと動きました。

Artix7ping

というわけで、Artix-7でも動くようになりました。

そんな特電Artix-7ボードと、拡張ボードはオンラインショップ

https://shop.tokudenkairo.co.jp/shopping/detail.php?shpci=ART7&shpdi=EXTFBASE

のページにございます。

ご購入のお客様には、今回動くようになったイーサネットコアのデザインを送らせていただきます。通信欄に「イーサネットコア希望」と書いておいてください。

皆様も、FPGAを使ってワイヤースピードでLANに何かを送信しましょう!

|

« ADS54J60の隠しレジスタ(2) | トップページ | 振込手数料はどちらが負担するべきか »

コメント

コメントを書く



(ウェブ上には掲載しません)




« ADS54J60の隠しレジスタ(2) | トップページ | 振込手数料はどちらが負担するべきか »