忍者ブログ
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month12345678910111213141516171819202122232425262728293031Next Month
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

category :
PR
人が多いコミュニティ・界隈も大変そうだ
なんか、いつもの休日とは異なる変な時間に起きてしまった。。

ここずっとハードウェアのFPGAネタばかり書いていたので、久しぶりに
他のネタ書きます。って言っても、独り言回ですが。


ソフトウェアのプログラミング関係については、活動の中心は依然として
XOPSで、XOPS関連活動は紛れもなく自身の中で最先端の技術・ノウハウを
投入しているのですが、
XOPS以外の世界・界隈はどんなものなのか、XOPS以外のゲーム界隈や
オープンソースのコミュニティを時々視察しています。
・・・・「視察」って言っても、言うほどのことはしていないですが。
ゲームの場合、普通の人が遊ぶような完成しきった商業作ではなく、
XOPSのように ある程度ユーザーメイドの文化があるコンテンツです。

人が多いコミュニティというのは発信される情報量も絶大で、24時間は
言い過ぎですが、常に誰かが何かをやっており、SNS上や公式コミュニティ
だけでも色々な作品・活動が上がり続けているような世界です。
ネット上に何かを配信・アウトプットしない人も多々いるでしょうから、
実際の活動人数はとてつもなく多いはずです。

2021年現在のXOPSのように、活動メンバーが非常に限られている世界とは
真逆で、とんでもない人数がいるため、どんな人がいてどんなことをやって
いるのか、全容は全く把握できません。
ここまでくると、把握する必要すらないのかもしれませんが(^^;

あとは、やはりXOPSとは文化が全然違ったり。


現在XOPSの世界にいる人間からすれば、とにかく人が多いコミュニティは
魅力的ではありますが、人が多いゆえに色々な人がいるため、問題もある
ようです。

見掛けた事案としては、
開発も有志で言わばワンオペによる1人運用にも関わらず、毎日のように
何かしらの問い合わせを受けており、毎晩のようにサポートやデバックに
追われているとか・・・。
マニュアルやダウンロードページには、「~についての問い合わせには
応じられない」との旨が書いてあるにも関わらず、公の場で開発元に質問
して、「日本語が読めないのですか?」とキレられているとか・・。
私はその界隈をよく分からないですが、比較的よくあるエラーでググれば
簡単に見つかる類(らしい)の問題を、やはり堂々と開発元に聞いてくる
とか・・。
もっと酷い場合だと、単に「なんか変なエラーが出ました」とだけ報告が
上がってきて、開発元が困惑(ってより呆れ)しているとか・・・。
ユーザー同士のトラブル・いざこざ も絶えない雰囲気だったり。

実年齢は不明で別ですが、精神年齢が幼い方もいるようで。
まぁ人が多い界隈・世界 特有の問題ですよね。

今だと全く想像できませんが、XOPSも ひと昔前(2006~2010年頃?)は
似たような雰囲気でした。
nine-two氏の元にどんな問い合わせが行っていたのか分かりませんが、
私の所にも、よく
「ezds.dllがないってエラーが出ました」
「オンライン版って、どうやって遊ぶのですか?」
「addonってどうやってプレイするのですか?」
「どうやったらXOPSのマップって改造できますか?」
みたいな問い合わせが来てました。
ユーザー同士のトラブルも、意図しない事故から 意図的に起こされた事件
まで、色々なパターンでちょくちょく起きてました。
ちょっと今じゃ考えられませんけど(遠い目


今のXOPS界隈は非常に落ち着いている(我ながらかなり良い表現w)ので、
落ち着いて自分の作業に没頭できますが、
人が多いと人が多いで、色々問い合わせやトラブルも増えるんだろうなぁ
っと思いました。

「だから今のまま過疎状態で良い」とは微塵も思ってないですが。
これ以上人が増えるとも思っていませんけど。
category : 管理人の独り言 comment [0]
FPGA Gbps通信そろそろできそう
ここ数日は殆ど晴れなかったので、涼しい日々を過ごしていました。
暑いのは苦手なので、このままの温度感で夏が終わってほしい感じは
あります。


FPGAでギガビット・トランシーバーを用いてGbpsの高速通信に挑戦
している件、この連休を潰して黙々と取り組んだ結果、そろそろ動き
そうなところまで来ました。
てか まだ不完全ですが、なんかそれっぽく動きつつあります。


先週「タイミング制約がうまく行かない」と言っていた件は、ネットで
調べながらアレコレ試行錯誤していたら、良い感じに制約できたっぽい
です。(多分)

ポイントは、ロジックアナライザーでのデバック用に一時的に引き出して
いる信号線については「set_false_path」でタイミング制約から除外、
かつ、お互いに同期せず無関係なクロック信号は「set_clock_groups
-asynchronous」で外してあげると、うまく行くようです。
タイミング制約の条件をちゃんと書いてあげることで、タイミング解析
のエラーが防げ、コンパイル時間も短縮し、回路が動作する最高周波数
も向上しました。・・・知った後から思えば当たり前なのですが。
あとは、回路のクロック同期処理を見直したり、不必要に速いクロック
ラインは速度を一段下げたり、コンパイラの最適化設定を変更しました。

結果として、40MHz程度でしか動かないとされ大量にタイミング解析で
エラーが出ていたロジックが、解析結果からエラーが無くなり回路自体
も200MHzオーバーで動くようになりました。
そして、コンパイルするごとに挙動が変わる不安定さも無くなりました。
・・凄いぞ! 不安定なLSIが 5倍以上高速化して安定したぞ!
いやー、FPGAのタイミング制約って超重要なんだなぁ・・(痛感
またひとつ勉強になりました。


それ以外に行ったこととして、プロトコルのリセット処理を見直したり、
勘違いにより特定の信号の論理(0・1)が逆だったことが判明したので
修正したり、プロトコルの上位レイヤーのエラー処理やデータ転送処理
を修正したりしていました。

そんなこんなやったことで、なんか所々は動くようになりつつあります。
全体的にはまだまだ不安定で、不規則に初期化シーケンスがコケたり、
特定のコマンドの組み合わせが通らず途中でフリーズしたりするので、
まだ「動きました」「できました」とは言えない状況ですが、
ちょっと前のように「全く動かない」というような文鎮状態ではないので、
だいぶ望みは出てきた感じです。

そろそろ何を作っているのか詳細を公言(本ブログに記載)しても良い
かもしれませんが、XOPSと関わりのない他所で どのように活用・展開
していくのか未定なため、もうしばらく伏せておきます。


本一件は、XOPSの世界では全く使わない無縁な話で、XOPS以外の他所で
使うことを見込んでやっているわけですが、
昨今の世間の状況や、使用・活用先の近状、今後の自身の状況など総合的
に考えると、まさに『やるなら今しかない』みたいな状況なので、
短期集中で今勝負するしかありません。
今のところは まだモチベーションが保てていますが、(他の世界へ)
よそ見をして道を外れる前に終わらせたいと思っています。
category : 電子工作 comment [0]
FPGA タイミング制約と解析
もう2ヶ月以上経ちますが、FPGAでギガビット・トランシーバーを
やっている件、それっぽく動く(はずの)ロジックはできました。

トランシーバー(正しくはRXなのでレシーバーだが)のPHYの初期化
処理を変更し、クロック同期の処理を変更することで、『タイミングが
合えば』RXも信号が拾えるようになりました。
通信相手が不意なタイミングでリセット処理に入ると、こちらも追従
しなければいけないわけですが、
これが結構クセモノで、相手の信号にクロックを同期していると、相手
のリセットシーケンスをうまく検知できないようです。
なので、通信状態を常に監視し、相手がリセットらしき処理に入った
場合は、クロック同期の処理を変更するようにしました。
・・・・何を言っているか分からないと思いますが(^^;


そんなこんなで、ギガビット・トランシーバー自体はできたはず、
クロック同期処理もできたはず、プロトコルを扱うロジックも
基本的な処理は抑えたはずなのですが、やっぱり動きません(n回目

直接動作の関係ないところのロジックに軽微な修正を加え、コンパイル
(論理合成と配置配線)を掛け直すと、
変更するたびに動いたり動かなかったり、その動かない個所や不具合内容
も毎回変化する状態です。
実行後のタイミング解析結果を見ると、数ns(ナノ秒)レベルのタイミング
違反が多数出ているので、実デバイス上に実装する際にロジックの速度・
タイミングが要求速度に満たしていないようです。

正直言って、どうして良いのかよく分かりません。
一応クロックラインのタイミング制約は掛けているはずなのですが、
そもそも正しいのか、制約が不足しているのか、記述が間違ているのか、
確信がなく よく分かりません。
今まで扱っていた数十Mbpsクラスの通信であれば、適当なタイミング制約
で良く、ぶっちゃげ制約ゼロでも問題なかったのですが、
Gbps単位の通信となると、しっかりと制約を加えてコンパイルしないと
まともに動かず、動いても「まぐれ」で動いているだけになってしまいます。
・・・まさに今がその状態(汗

これも「n回目」と言った感じですが、
FPGAの参考文献でも、HDLのロジック設計やツールの基本操作については
初心者向けに丁寧に説明していることは多々ありますが、コンパイル時に必要
なタイミング制約やタイミング解析に関する解説やノウハウは殆ど紹介されて
いません。
まともにFPGAを使うならば、必須な技術だと思うのですが・・。


こりゃもう、いつになったら まともに動くようになるのか、分からねぇな。。
category : 電子工作 comment [0]
FPGAのギガビット・トランシーバー 残り数歩?
世間ではオリンピックが始まったようですが、まだ今年は全く
観れてないです。
ここまで観てない年・回は初めてではないだろうか・・?

今回の週末は4連休だったので、作業が大きく進みました。
このタイミングの4連休は実に嬉しい&有難い。


FPGAでギガビット・トランシーバー実装を試みている件、
プロトコル部分も最低限動作するロジックを載せられました。
これで最低限の動作確認ができるはずだったのですが・・・、
例のごとくうまく動きません。(デスヨネー....)

書いたロジックにも細かいバグが複数あったので、バグは全部潰した
はずなのですが、
入力(RX)のデータが かなりの頻度で化けるのです。。
むしろ、正しいデータで取れるほうが少ない・・・(;;

自分の書いたロジックが間違えているのではないかとか、自分が
用意したケーブルが悪いのではないかとか、色々疑いを掛けて回り
ましたが、どうも入力におけるクロック同期がマズイようで。
相手が送ってくるデータを正しいタイミングで同期して信号が拾えて
いないようで、データが化けまくっているみたいです。
・・・これは、PC上のシミュレーションでは分からんわ(^^;
同じデバイス(FPGA)でループバックする分には、同じクロック
信号を共有して同期するので全く問題ないのですが、
他のデバイスと通信しようとすると、途端にダメになります。

おそらく、先月6月頃にやっていたギガビット・トランシーバーの
PHYあたりがおかしく、そこのクロック設定や初期化処理に問題
があるのではないかと思っていますが、
その目星が正しい保証はどこにもなく、現にちょっと設定・初期化
処理を変えると、まともに動かなくなる状況です。
んー、困ったなぁ・・・。
ギガビット・トランシーバーのPHYを今一度勉強し直さないといけない
かもしれませんorz


全体を通してみれば、残り数歩でゴールではないかと思っており、
ここまで来たならば最後までやりたい気持ちもありますが、
なかなかキツイです。。。

まぁ、今回が特別な訳でも何でもなく、十数年前から今まで新しい
こと(XOPSへの関係性問わず)に挑戦してきて、"余裕"だったこと
なんて一度もないんですけどね。
こういう、常に新しいことにチャレンジしていく姿勢は大切で、
決して間違えてはいないと確信しています。
category : 電子工作 comment [0]
FPGAにGbps通信するプロトコルを載せたい
最近このブログは、日曜日の深夜に更新するのが通例になっていますね。
別に意図しているわけではないのですが、土日・休日にやったことを
書きたくなるのが、たまたま日曜日深夜なのかもしれません。
あるいは、迫りくる月曜日への現実逃避か?(^^;


6月上旬から始めて そろそろ2ヶ月経とうとしている「FPGA×ギガビット
・トランシーバー」ですが、トランシーバー自体は概ね載せ終わりました。
Gbpsクラスが測れる高価(数百万円クラス)な測定器なんて持っていないので、
波形が見れるわけではなく実感が湧かないですが、理論上は動いているはずです。

次のステップとして、通信プロトコルの実装に取り掛かっています。
前にも書いた通り、Gbps単位で0・1が高速に送られるだけでは何ら意味が
ありません。
今回ターゲットにしているデバイスを動かさないといけないので、
その対象のデバイスに合わせてプロトコルを実装しなければいけないわけ
です。
これがまぁ何ともクセモノで、単純にクロックに同期して適当にコマンド・
データを送れば済むわけではなく、複雑な実装が必要なため手を焼いて
います。
いや、事前に何となく想像はしていましたが、やはり厄介で難敵です。


オシロやロジアナでは解決できない領域に差し掛かったため、プロトコル
アナライザーを入手しました。
もちろん、新品で最新機種を買うと何百万円クラス(下手すると1千万円越え)
で個人では手に入れられないので、安い型落ちの中古品ですけども。
探し回って手に入れたわけではなく、ふと(意外な場所で)相場より格安で
売られていたところを発見し、殆ど迷いなく買いました。
これがロジアナ並みに大活躍です。これはスゲェ。。
他所で類似の機材を触ったことがあるので、使い方は何となく分かりました。

それにしても、まさか自宅にプロトコルアナライザーを備えることになる
とはな・・・(汗
でも、本当に買ってよかった。2021年の「買って良かったものランキング」
に堂々ランクインすることでしょう。

実は、FPGAのチップ単体も先日発注してしまいました。
本当はもう少し後でも十分だったのですが、世界的な半導体不足で必要なIC
(FPGA)が必要な時に手に入らなくなる可能性が否定できなかったので、
購入先に在庫があるうちに注文しました。これもこれで結構高いorz
後になって「スペックが足りない・・」みたいになったらどうしよ(震え声

オシロやロジアナは別件で買ったものなのでノーカウントとしても、
FPGAボードといい、関連の専門書といい、プロトコルアナライザーといい、
FPGAチップ単体といい、既に数十万円レベルでお金が掛かっており、
かつ、かなりの日数と手間をつぎ込んでいるので、もう後に引けない
「一大プロジェクト」になってしまいました。まさに大勝負案件。

本件の結末がどうなるか、私にも分かりません。
半年後ぐらいにはどうなっていますかね。
全部まとめてゴミ箱にダンクシュートされていなければ良いのですが(冷汗


全く関係ない別件ですが、
そう言われてみれば、7月10日はOpenXOPSプロジェクトを正式に立ち上げて
から、7周年だったのですね。
「えっ? もうそんな経ったの?」って感じですが。
今年は特に何もしませんでした。OpenXOPS関係で何か期待されていた方が
いたならば、申し訳ございませんでした。
category : 電子工作 comment [0]
[11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP