This forum is for sharing information about SiTCP. Please do not hesitate to post any questions, comments or answers within the scope of this purpose.
KC705 Evaluation Boardにサンプルが実装できない問題
投稿日時 2017/2/6 14:52
swd_yasu
Spartan-6 FPGA SP601評価キット向けのサンプルソースファイルを参考にし、
Vivado 2015.4においてKintex-7搭載のKC705評価ボードに対してTCPループバックサーバの実装を行おうとしています。
トップモジュールではいくつか手を加えていますが、基本的にはサンプルと同じです。
ビットストリームファイルの書き込みまでは完了しました。
しかし、実装が成功していないのかping 192.168.10.16で応答がありません。
ネットワークの設定には誤りがないことは何度も確認しました。
実装が失敗する原因、解決策などについてアドバイスをいただければ幸いです。
なお、以下のような構成で実装しようとしています。
XC7K_KC705_SiTCP (XC7K_KC705_SiTCP.v)
┣━ MMCM … Clocking Wizard 5.2で生成
┣━ SiTCP - WRAP_SiTCP_GMII_XC7K_32K (WRAP_SiTCP_GMII_XC7K_32K.V)
┃ ┣━ TIMER - TIMER (TIMER.v)
┃ ┣━ SiTCP - SiTCP_XC7K_32K_BBT_V90 (SiTCP_XC7K_32K_BBT_V90.V)
┃ ┗━ SiTCP - SiTCP_XC7K_32K_BBT_V90 (SiTCP_XC7K_32K_BBT_V90.ngc)
┣━ SiTCP_FIFO … FIFO Generator 13.0で生成
┗━ RBCP_REG (RBCP_REG.v)
論理合成時のWarningは次のようなものが出ています。
[Synth 8-350] instance 'SiTCP' of module 'WRAP_SiTCP_GMII_XC7K_32K' requires 51 connections, but only 46 given
[Synth 8-312] ignoring unsynthesizable construct: assertion statement
[Synth 8-3332] Sequential element (\RBCP_REG/irAddr_reg[7] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/irAddr_reg[6] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/irAddr_reg[5] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[23] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[22] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[21] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[20] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[19] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[18] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[17] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[16] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[15] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[14] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[13] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[12] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[11] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[10] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[9] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[8] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[7] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[6] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regAddr_reg[5] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\RBCP_REG/regBe_reg[9] ) is unused and will be removed from module XC7K_KC705_SiTCP.
[Synth 8-3332] Sequential element (\inst_fifo_gen/reset_gen_cc.rstblk_cc/ngwrdrst.grst.g7serrst.wr_rst_asreg_d1_reg ) is unused and will be removed from module fifo_generator_v13_0_1.
[Synth 8-3332] Sequential element (\inst_fifo_gen/reset_gen_cc.rstblk_cc/ngwrdrst.grst.g7serrst.wr_rst_asreg_reg ) is unused and will be removed from module fifo_generator_v13_0_1.
[Synth 8-3332] Sequential element (\inst_fifo_gen/reset_gen_cc.rstblk_cc/ngwrdrst.grst.g7serrst.wr_rst_asreg_d2_reg ) is unused and will be removed from module fifo_generator_v13_0_1.
[Synth 8-3332] Sequential element (\inst_fifo_gen/reset_gen_cc.rstblk_cc/ngwrdrst.grst.g7serrst.rd_rst_asreg_d1_reg ) is unused and will be removed from module fifo_generator_v13_0_1.
[Synth 8-3332] Sequential element (\inst_fifo_gen/reset_gen_cc.rstblk_cc/ngwrdrst.grst.g7serrst.rd_rst_asreg_reg ) is unused and will be removed from module fifo_generator_v13_0_1.
[Synth 8-3332] Sequential element (\inst_fifo_gen/reset_gen_cc.rstblk_cc/ngwrdrst.grst.g7serrst.rd_rst_asreg_d2_reg ) is unused and will be removed from module fifo_generator_v13_0_1.
[Netlist 29-43] Netlist 'XC7K_KC705_SiTCP' is not ideal for floorplanning, since the cellview 'SiTCP_XC7K_32K_BBT_V90' defined in file 'SiTCP_XC7K_32K_BBT_V90.ngc' contains large number of primitives. Please consider enabling hierarchy in synthesis if you want to do floorplanning.
投稿日時 2017/2/6 16:19
masakuni
SP601を参考にしたならば、GMIIでM88E1111に接続していると思います。
KC705のジャンパの設定はGMIIになっているでしょうか?
投稿日時 2017/2/7 16:37
swd_yasu
KC705評価ボードのマニュアルに従い、モードがGMII/MIIから銅配線となるよう、ジャンパーピンJ29とJ30はピン1-2の間で接続しています。
投稿日時 2017/2/7 22:38
masakuni
Linkは安定して上がっているでしょうか?
Linkが安定して上がっているなら、PHYとPC間は正常であると思われるので
PHYとFPGA間の問題と思われます。
サンプルでは、GMII_1000MをSWで切り替えてます。
LinkスピードとGMII_1000Mが一致していないと正常に動作しません。
GMII_1000Mの状態とLinkスピードは一致していますか?
投稿日時 2017/2/8 15:51
swd_yasu
DIP_SW[3]でGMII_TX_CLKへの125MHzクロックの、MUXのセレクタをオンにしていることは確認しました。
ビットストリームファイルを書き込みした後はEther PHY Status LEDが点灯するのですが、この時に点灯するのはLink Speedが1000Mb/sであることと、何故かHalf-duplexモードであることを示すランプです。
PC側からは速度が1.0Gbsで取れていることは確認できました。
問題はおそらくPHYとFPGAの間だと考えられます。
SiTCPはFull-duplexのみサポートということですが、Half-duplexになっていることが原因でしょうか?
投稿日時 2017/2/10 18:28
masakuni
PHYが
Auto-Neg,advertise all capabilities
であれば、PCの通常設定では
1000BASE-T full-duplex
になるはずです。
CONFIGの設定を確認してください。
SiTCPはfull-duplexで正常動作しますが、
half-duplexだとしてもpingに全く応答がないとは
考えにくいです。
100BASE-Txでも応答はありませんか?
また、
「ネットワークの設定には誤りがないことは何度も確認しました。」
これは、具体的に何を確認されたのでしょう?
投稿日時 2017/3/2 17:56
swd_yasu
「ネットワークの設定には誤りがないことは何度も確認しました。」
これは、具体的に何を確認されたのでしょう?
IPアドレスとサブネットの設定に関してのチェックを行った程度です。
念のため、PCと評価ボード間にネットワークハブを挟んでテストしてみましたが反応はありませんでした。
投稿日時 2017/3/2 18:20
masakuni
FORCE_DEFAULTnは0となっていますか?
それでも応答がない場合、Linkスピードを100Mにしてみて下さい。
100Mにした場合、GMII_1000Mは0としてください。
投稿日時 2017/3/7 18:45
swd_yasu
FORCE_DEFAULTnは0に指定しております。
Linkスピードに関してはGMII_1000Mを0とすれば良いのであれば、試しましたが状況は変わりませんでした
投稿日時 2017/3/23 13:32
masakuni
VC707, KC705でのサンプルコードをアップしました。参考にしてください。
VC707のEEPROM対応サンプルソースコード
https://github.com/BeeBeansTechnologies/SiTCP_Sample_Code_for_VC707_SGMII
https://github.com/BeeBeansTechnologies/SiTCP_Sample_Code_for_VC707_SFP
KC705のEEPROM対応サンプルソースコード
https://github.com/BeeBeansTechnologies/SiTCP_Sample_Code_for_KC705_GMII
https://github.com/BeeBeansTechnologies/SiTCP_Sample_Code_for_KC705_SGMII
https://github.com/BeeBeansTechnologies/SiTCP_Sample_Code_for_KC705_RGMII
https://github.com/BeeBeansTechnologies/SiTCP_Sample_Code_for_KC705_SFP