<< 2025年11月 >>
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
新着記事
最近のコメント
月別
カテゴリ
2025.11.30 18:42

FT232Hを同期FIFOしてみようとTRY


・FT232Hを同期FIFOで使うには?と思ってガタガタと。
・手頃なサンプルが見当たらないので、FTDI提供のサンプルをベースにあちこちいじる。Makefileもとりあえずサンプルのを流用。
・動かしてみるとどうしてもうまくいかない。なんだか妙なエラーが出る。
・ドライバはとりあえずコピーしたし、blacklistへの登録もしたしなぜだろうと悩んでいて、まさかと思ってsudoを付けたら動いた。
・そうか、デバイスのアクセス権があるものな。
・明日更に詰めていくことにしよう。

2025.11.29 21:17

やはり同期FIFOか


・FT232Hの非同期FIFOモードのリード/ライト動作の記述をしてみる。パルス幅などをparameterで設定できるようにしてなるほどねという確認。
・これで頑張ると20Mbyte/secくらいで回せる計算にはなるのだけど、よくよくデータシートを見たら非同期FIFOだと8Mbyte/sec程度が限度らしい。
・結局同期FIFOにするしかない。でも、FT232Hのクロックで動かすわけにもいかないしな。さてどうしたものかな。

2025.11.28 18:45

法人の申告


・ギリギリになってしまった法人の申告。法人税支払いして、市役所、税務署、都税事務所の三社参り。確定申告シーズンではないので混雑はしていないけどもね。法人税の支払いはご近所イオンのATMでおろしてこれまたご近所イオンに入っている郵便局で納めるのがお気楽極楽。
・これで年明けからは源泉徴収納付とか個人の方の確定申告が続くのだな。

2025.11.27 18:26

部屋の片付け&ゴミ捨て


・ドタバタとしながら部屋の片付け。「使うかもしれないな」と思ってとっておいた梱包材料などももうめったに使うことはないなということで捨てることにしてどんどんゴミ袋に突っ込み。今まであまり気にしていなかった先から出てくるでてくるいろいろ細かいゴミ。掃除機掛けて雑巾で拭いて、できたスペースにピッタリ入るはずのテーブルをセット。計算というのか、事前の測定どおりピッタリおさまって、部屋が少し広く使えるようになった感じ。
・このテーブルの上にこの前買ったBambuを置くことにしよう。
・そんなところで、年金事務所へ。
・法人からの報酬を変更するときには新年度から三ヶ月以内でないといけないというので、届け出に行った・・・のだが・・・なんと届け出は更に先。実際に報酬変更が行われてから三ヶ月の実績が出来た後だということ。結局無駄足だったか。残念。

2025.11.26 18:07

処分処分処分


・あれこれ売り払い&処分にいく。MZ-2500は値段がつかないという。本体にゲームソフトの「レイドック」まで付けといたんだけどな。まぁ、それでも結構いい値段で売るんだろう。
・まぁ、その他のゴチャゴチャが3000円程度にはなったから良いとするか。
・他の重量物は粗大ごみとして直接クリーンセンターに持ち込み。今までは電話を掛けて粗大ごみシールを買ってきて貼りつけて指定日に出して・・という感じだったけど、直接クリーンセンターに持ち込むとそんな手間はない。
・車で入って行って重さを測り、引き取ってもらって返ってきた時の車の重さとの差分に応じてお金を払うというシステム。
・そういえばこのクリーンセンターの重量計・・・トラックスケールと呼んでたっけ・・・のプリンタ制御部分は私が手掛けたんだっけ。今はとっくにリプレースされているけれど。
・これでだいぶすっきりした。空いた隙間にテーブルが一つ押し込めそうだから、そこにBambuを置くかな。
・そんなところで、再びSystemVerilogでボチボチ書き始め。interfaceは下位の方だけで使うことにして・・・というところかな。結構あれこれ悩まされたためか、自分が使う範囲では良い感じで書けるな。

2025.11.25 20:44

Bambuを懸念する方々


・ゴチャゴチャとしたものをちょっと片付け。明日にでも処分しにいこう。
・そんなところで、Bambuの3Dプリンタだけど何でもクラウド経由というのがなんとなく気持ち悪いと思っていたら結構海外でも同じような反応はあって、中国や中国企業にに対する不信感がかなりある模様。
・ファームウェアのバージョンアップやらライセンス関係などが懸念されたり、リモートで文鎮化できるのではないかとかまぁいろいろなことも懸念されているようだけど、そうした意図的なものでなくてもBambuのサイトが落ちて迷惑したというのもあるようで。
・で、LAN・・・ローカルネットワークのみ・・・で動かすというのもやられているようだ。
・とりあえず最初のアクティベーションのような作業はスマホにBambuHandyとかいうアプリを入れなくてはならない(このアプリの機能自体は悪くないようだけど、やはり中国というのが懸念される)というのは面白くないけど、それ以降はLANモードにしてやれということ。
・さらにHome Assistantを使ってカメラの映像を配信する(通常はBambuのサーバー経由)ようにするということも行われているらしいけど、この方法に賛同するコメントを下げるような動きがあるということなので、何かBambu(というか中国)に依存しないような方向にすることを快く思わない勢力が一定程度いるようでもある。
・さて、私はどうしたものかな。


2025.11.24 22:21

3DCADの旅で出会ったOpenSCADと仲間たち


・ちょっと引っ越しの後片付けの手伝いに行く。
・それほど大したダンボールの数ではないのだけど、それでも結構大変。
・さて、3Dプリンタとなるとやはり3D CADが気になるわけで、今ちょこちょこ使っているFreeCAD以外に何かあるのかなということで眺めているとOpenSCADなるものに巡り合う。CADというよりプログラミング言語的に3Dのオブジェクトを記述するという感じ。
・でご本家のこのページを眺めていたら最後のところに関連リンクがある。ちょっと試しにリンクを踏んでみて特に面白いなと思えたのが次の二つ。
Blocks CADはOpenSCADを、Scratchのようなブロックというのかタイルというのか・・・をGUI上でベタベタ貼り付けていくようにしたもの
ImplicitCADはブラウザだけでとりあえず遊べるようにしたもの
 という感じで、いろいろ派生しているようだな。とりあえず面白そうなのでインストールしていこう。


2025.11.23 22:09

Bambu A1 miniをポチッ


・というところで、ちょっとメカ物に手を出したくなって、ついセールになっていたBambu A1 mini(なんか、クセでBanbooと書いてしまっていたかも)とPLAフィラメントをポチッとしてしまった。
・PLAはかなり硬いので、機構がうまくできるかな。
・ギヤなどをやるならノズルを0.2mmのを入手したほうが良いのだろうけど、とりあえず標準の0.4mmでどのくらいいけるのか試してみよう。


2025.11.22 06:36

暫定Final:Interface


・ということで、シミュレーションしようとしたらやはり駄目。
・結局はQuartusによる論理合成と、DSimやVerilatorによるinterfaceの解釈が違うということが根本原因の模様。ModelSimとかあっちの方なら大丈夫なのかは不明だけど、やはりここは最大公約数的にいかないとな。
・ということで、暫定FinalAnswerとしては「外部との接続ポートにinterfaceは使わない」ということにしよう。残念だけど仕方ない。

2025.11.21 21:33

Quartusではとりあえず解決:interface


・というところで一回は諦めたinterfaceだけど、解決策が見つかった。
・これは試したはずなんだがなというところで、Quartusではポートリストに書いた信号をそのままmodport()に記載してしまえば良い。
・結局Quartusはinterfaceのポートリストではなくmodportの方を参照してピンに割り付けてしまうようなので、interfaceで信号の始末とかをやっても意味がない。DSimとかVerilatorではもちろんこんなことにはならないのだけど。
・シミュレーションできるようにテストベンチなどを書くのはこれからだけど、まずは突破方法だけは見つかったというところだな。


2025.11.20 15:03

とりあえず結論:interface


・さて、とりあえずLED点滅を使って実際にFPGAでお試し。
・結果を言えば駄目だった。
・interfaceのポートリスト以外で宣言した信号がピンに引き出されてしまうのを避けるためにvirtualに設定してみたのだけどもね。
 たとえば、
 interface xxx (... ,inout logic[7:0] data_bi);
....
logic data_oe;
logic[7:0] data_out;
assign data_bi = (data_oe) ? data_out : 'z;
....
endinterface
なんてことをして、data_outが出るのをやめさせるためにvirtualにすると、data_biにも何も出力されない。data_oeがうまく読めていないのかと思ったけどそうではない。
・ということで残念ながら、普通にトップモジュールのポートリストで書くしかないなという、つまらない結論にしておこう。
・長い長い遠回りだったけど、こういうのも経験さ。おかげで勉強になった。


2025.11.19 23:48

腕時計のいただきもの


・先日古い某会社名入りのなんかの記念品のような腕時計を頂いた。古いとはいってもクォーツ式なのでアンティークというほどではないけれど、ベルトはボロボロになってしまっている。
・とりあえず電池交換をお願いするかと近所に出向いたら即日はできないようで預かり品になっていたのを今日取りに行った。
・「残念ながら電池を入れ替えても動きませんでした」ということで、引き取ったのだけど、竜頭をいじっていたら突然動き出した。でも、動かなかったということはまたすぐ止まるのかな。
・しばらく様子を見ていたけど動いているようなので、ちょっと使ってみるかとベルト交換。手持ちのものだと残念ながらサイズが合わなかったのでホームセンターに買いに行く。
・元からついていたのと似たようなものがあったので、購入。昔は1000円くらいで買えたとおもったのだけど、1500円ほど。
・交換は難しくない。ピンをグッと押して付け外しするだけ。
・交換してみるとなかなか良い感じ。いつまで動くかわからないけどありがたく使わせていただこう。


2025.11.18 23:29

Quartus君とinterface


・さてinterfaceが思ったように動き出したのでそれならばと合成してみることに。
・interfaceのポートリストには外部ピンとつなぎたいもの、そして内部のモジュールとつなぎたい信号類はinterfaceの本体側に書いてある。イメージとしてはこんな感じ。
 interface (input logic RESET, CLOCK, inout logic[7:0] DATABUS);
logic[7:0] data_out;
logic[7:0] data_in;
logic data_oe;
modport slave(output data_out, data_oe, input data_in);
endinterface
・Quartusでプロジェクトを作成して、ソースコードをプロジェクトのディレクトリにコピーしてQuartusに登録。
・これでAnalysis&Synthesis。エラーなく終わったのでAssignments=>Pin Plannerを見るとdata_outなどまでピンに出そうとしている。
・どうやらQuartusはポートリストと内部との区別をしないらしい。
・これではちょっと困る。何か手はないのかとダメ元でGeminiにお問い合わせしていたら「設定ファイルでVirtualに書き換える」というのを提示された。
・そんな設定があるなら絶対Quartus上からできるはず・・・と探したらアルティマさん作成のQuartus Prime
よく使用するピン・オプションの設定方法
なんていうドキュメントがあった。これの最後の方の11章で「仮想ピンの設定」がある。なるほど、ピンに割り当てたく無いならこんなふうにすれば良いのか。
・Assignments=>Assignment Editorで起動しておいて、試しにTo欄でdata_outをvirtualに設定して、もう一回Analysis&SynthesisしてPin Plannnerを開いたらピンのリストからdata_outピンが消えた。なるほどね。
・ちゃんと動くのかどうかはまだわからないけど、これで外部バスをinterfaceとして記述して、テストベンチを作ってシミュレーションして、Quartusで合成するというところまで問題なくいけることはわかった。なんか随分手間取ったけど、おかげでいろいろすっきりと腑に落ちたな。
・あとは実際に動くかどうか。これは実機で動作確認できるソースにしないとな。DE-10LITE使ってLEDとスイッチでやってみるか。


2025.11.17 19:30

やっと動いたInterface


・というところで実装してみる。話はわかったので難しくはない。
・まずはターゲットとなるモジュールを作る。
・普通だとこれをテストベンチでインスタンス化してテストベンチ内の記述でダミーの信号を与えるわけだけど今回はちょっと違う。
・このターゲットの相手となるバスマスタモジュールを作る。
・そして、テストベンチではターゲットとバスマスタモジュール、そしてInterfaceをインスタンス化してこの3つを結合する。
・双方向バスの3ステート制御はInterface部分のお仕事
という具合。
・これでやっとできたかなと思ったけど、DSimではエラーが出る。間違ってないはずなんだけどなと思いながらVerilatorでやってみたら何も問題なく出来上がって、シミュレーションのも動いた。
・さて、DSimのエラーは何だろうと改めてメッセージを見たら「そんなインターフェースなんて知らんぞ」ということ。あぁ、ひょっとして・・・ということで、プロジェクトにインターフェースのソースコードも追加してやって改めてやり直したら無事にパスして、ちゃんと波形も表示された。
・さて、あとはこういう記述がQuartusで許されるのか、ちゃんと合成できるのかというところだな。
・そんなところでいろいろ算段。こういうのは苦手なんだよなぁ。Pythonあたりを使ってシミュレーションで何かできないものかなと思ってしまったり。

2025.11.16 19:17

Interfaceはそういうことか


・その後あちこち眺めたりGeminiにお問い合わせししていてだいたい見えてきた感じ。
・結局テストベンチのことまで考えると3-Stateバッファをモジュール側で実装するのは面倒そうで、interfaceに実装するのがシンプルかつ確実ということになるようだな。
・そういえば振り込みもしておかないとな。法人口座は明日でないと難しいから明日やっておこう。

2025.11.15 12:54

interfaceで相変わらず


・相変わらずという感じでinterfaceでお悩み中。
・そんなところで、「存続危機事態」発言に対して暴れている方々がいる。でも、確かにあそこを押さえられたら大動脈に血栓ができたような状態になるわけで、まさしく生命の危機、存続危機事態であることは間違いない。
・その時に何をするのか、しないのかはまた別問題だけど、単に傍観だけしていたらこちらの命に関わる事態であることは確かではある。
・とりあえず「最悪の事態を想定してそれに備えておく」というのは大切なこと。そんな事態にならなければそれが一番だ。「何より楽で良い」

2025.11.14 17:10

interfaceで方向が決まっているようなのはポートリストで書け・・かな?


・SystemVerilogのInterfaceあれこれ。
琉球大学さんのサイトのPDFがあったのでこちらもチラ見。
・結局のところ、interfaceは内部のモジュール間接続を想定しているので、3-stateはやりにくいのかな。
・チップ外とのインターフェースをinterfaceで書くとしてもテストベンチを使う時は双方向同士がつながるしで。
・結局方向が決まっている信号はポートリストに書けということになって
interface xxx(input logic clock, reset, inout logic[7:0] databus);
logic a,b,c;
modport Tx(output a,b, input c);
modport Rx(input a,b, output c);
endinterface
なんて具合にしろっていうことになるのかな。
・これを使おうとしたらモジュール側では
xxx bus (clock, reset ,databus);
なんて調子になってくるのか。
・外部とのインターフェース部分では方向が決まっていることも多々だけど、そうするとなんだかモジュールで書くのと大差なくなってしまうか。

2025.11.13 23:33

SystemVerilogのinterfaceがやっと腑に落ちた


・そんなこんなで現状in/outで別れているバスを双方向バスに作り変えようとしたのだけど、これがうまくいかない。interfaceを使っているとうまくいかないのかな。
・と思って改めてドキュメントを探していたら、Using SystemVerilog “Interfaces”
as Object-Oriented RTL Modules
というものを発見。どうやらinterfaceに関する自分の理解が間違っていたということがわかる。なるほどね。そりゃそうだし、今まで感じていた違和感も含めて納得。
・interface xxx #(type t=logic)という記述は初めて見たけど、こう書いてやればインスタンス化するときにxxx #(logic [7:0])なんてやって動的にバス幅などを変えられるという仕掛けか。
・仕方ない。行き詰まっていたソースは捨ててgit reset --hardしてやり直そう。

2025.11.12 07:29

双方向バスのテスト


・ロジックアナライザというのか、PicoScopeを収納しておくのに手頃なキャンバスバッグがったので、本体+プローブ4本+ロジックプローブを入れているのだけど、ロジックプローブは例によってクリップがたくさんあるので、袋だと出し入れがちょっと面倒・・・ということで、100均で手頃そうなケースを見つけたので使ってみたら空いていたスペースにジャストフィット。
・双方向バスの記述ってこんな感じでいけたっけ?と思って試し書き。当初
 assign data = (data_oe == 1) ? data_o : z;
なんて書いてしまったら「zなんて無いよ」と言われてしまった。「'z」としなくてはいけなかったのか。そりゃそうだよね。
・ならば、always_combの中に書いても良いのかなと思ったけどエラー。なんでと思いながらいじってたらエラーが無くなった。
always_comb begin
data = (data_oe == 1) ? data_o : 'z;
data_i = data;
end
・でも、この三項演算子をif文に書き換えたらエラー。なんだかややこしいヤツだな。


2025.11.11 18:10

ロジックアナライザの準備


・さて、ボチボチ実機を動かさなくてはというところで、まずは今の所FT_PROGで非同期FIFOモードになっているはずなので、このモードで動かしてやろうじゃないかというところ。FT_Writeしてやれば良いのかな?
・というところで、やっぱりロジックアナライザの準備もしておかねば。
・AcuteさんのTravelLogicのJDSさん(その後ELECOM)のOEM版・・・といってもすでに製造中止。そういえばサポートソフトウェアは?と思ったけど今の環境に見当たらない。
・なんとなく検索していたらLinux版のページを見つけたので試しにダウンロードしてみたけど、やっぱり対象外の機種のようで相手にしてもらえなかった。
・というところで、やっぱりPicoScopeだな。ちょっとサイズは大きいけど、Linux上で動かせるし、アナログデジタル連動でシミュレーションできるし。
・とりあえず久しぶりなので下準備ということで、以前インストールしていたアプリを起動。24.04になってからは初めての起動じゃないかなと思うけど、何も問題ない。
・起動したらとりあえずアナログチャンネルが動いている。デジタルチャンネルを増やしたらした半分に表示された。
・プローブをつけて、ついでにデジタルのコネクタもつけて、とりあえずアナログプローブでテスト信号端子をつまむ。
・レンジ切り替えも問題なし、トリガもこれでよしか。簡単だな。なるほど2Vの矩形波だな。
・2Vならそのままロジック側のプローブもいけるだろうということで、つまんでみる。うん、ちゃんとアナログデジタル連携。トリガ条件もポチッとクリックして、アナログからデジタルチャンネルに変更するだけ。
・これなら何も問題ないだろう。よしよし。
・これとAlteraのSignalTapのロジックアナライザ機能を併用すればまぁいろいろいけるだろう。
・あとは・・・DE10には個別LEDの他に7セグもついてるしな。

2025.11.09 21:44

少し体調復活


・この4週間ほど腰から臀部、太ももあたりまで痛みがあったのがだいぶ治ってきた。
・これといって過激なことをした記憶はないのだけど、酷い時は寝ていて寝返りを打つと太もも部分に走っている神経なのか何なのかわからない太い繊維状のものががゴリッと転がるような感触とともに鈍痛が走るという具合だったり、立っていても体をちょっとひねるとズキッとくるという感じで結構ひどかったのだけど、今日はだいぶマシ。
・歳を取ると話は病気自慢、痛み自慢になるというし、「歳です!痛いのは当たり前です!」なんて言いながらなんとかやり過ごしてきたけど、全治一ヶ月というと骨折並だな。
・そんなところでちょっと月額報酬を減額しようかなと思って検討。これがなかなか面倒くさい。

2025.11.08 18:18

Slic3r+Wineが異様に起動が遅い


・Slic3rをWine下で動かしてみると、Ubuntuの22.04LTSではそれなりの時間で起動されるのだけど、24.04LTSではどこかでハマってるのかと思うくらい時間がかかって、忘れた頃に起動するという具合。
・あれこれ眺めたけどよくわからない。何か原因があるのかな?

2025.11.07 19:11

ftdiのBitModeサンプルが動いた


・3Dプリンタのホルダを昔のリールと新しいリールの両方に対応するようにしようと少し設計変更。
・ついでに.iniファイルをいじって調整していたらまともに印刷できなくなってきた。
・この後しばらく時間がかかったのだけど、結局は
 .iniファイルのヒートベッドの温度設定が間違っている(50度なんかに・・)
 ヒートベッドに貼っていたマスキングテープの貼り直し
 Z軸の原点位置がベッドよりちょっと浮いているので(ノズルが衝突してはまずいので、必ず少し浮く)G92 Z0.4なんて具合に現在位置のZ座標を0.4にしていたりしたのをやめる
 というあたりでなんとなくうまく行くようにはなった。
・出来上がったものを使ってみると滑らかに回転してなかなか良い感じ。
・というところで、FT232H。D2XXドライバのBitModeサンプルを動かしてみるのだけど、素直に行かない。こちらはftdi_sioドライバが組み込まれてしまうため。
  sudo rmmod ftdi_sio
なんてしてからサンプルをsudo付けて実行したらあっさり動いた。
 毎回rmmodするのも面倒。これは /etc/modprobe.dの下。ここに
 blacklist ftdi_sio
 と書いた「なんちゃら.conf」なファイルを用意すると、Plug&Playで勝手にロードしなくなる。
 今回はftdi.confにしてみた。
 これで、ボード抜き差ししてlsmodで確認したけど確かにftdi_sioドライバは組み込まれていない。テスト用のアプリを動かしたらちゃんと動いた。

2025.11.06 09:13

3Dプリンタ再起動


・久しぶりに3Dプリンタを使うことになった。
・というのも、白いフィラメントをポチッとしたからなのだけど、到着してみたらリールの穴が大きい。
・これでは使えない・・・フィラメントを引っ張ってもうまく回らない。
・ということで、なにか無いかなと探しているときに「穴を埋めるようなもの・・ブラケットをその3Dプリンタで作ればいいじゃないか」という至極単純かつまっとうな手段に気づいた。古いフィラメントでとりあえず作って、そのあと本番にすれば良い。
・FreeCADを立ち上げて軽く設計。先日ひさしぶりに使った時は手間取ったけど、色々やっていたら別にチュートリアルを見なくても十分。まぁ、スケッチを書いて押し出した円盤を重ねるだけだしな。
・というところで、とりあえずSTLは出来た。スライサは・・・結局Curaは今一つまだわからないので、昔ながらでSlic3rを使うことにした。
・以前作ったSlic3rの.iniファイルがバックアップ用のHDDに残されていたので日付をを見ると2013年。干支が一周している。
・ところで今でも生きているのかとSlic3rで検索してみたら、slic3r.orgはご存命。ただ、2018年で更新は止まっている。
・一応Windows版とLinuxのAppImageはあったので、落としてきて動かしてみたらLinux版はなんだか「一応スライスできるよ」レベルで、なんともはや。
・で、Windows版を試しにWineで動かしてみたらちゃんと動いた。なんだかカラフルだな。これで昔の.iniファイルなんて読めるのかな?とやってみたらあっさり読み込んだ。なるほど。
・じゃあということでスライス・・・いいじゃないか。ちょっとエディタで開いてみたけど問題なさそう。
・これをこれまた昔懐かしいPrintrun(pronterface)で印刷してみる。
・おっ、ちゃんといける。
・ということで、無事に古いフィラメントでブラケットが完成。これを使って、新しいフィラメントをセット。そして、試しに同じものをプリント。
・うん・・・綺麗だ。仕上がりが全然違う。手元の3Dプリンタの仕上がりがいまどきのものに比べるといまひとつどころではないくらい見劣りするなと思っていたけど、フィラメントのせいだったかもしれないな。
・Printrunも新しいのがありそうだし、少し環境更新しておくか

2025.11.05 08:41

OpenShotでビデオ編集


・OpenShotを少し使っている。うん、これだこれだ。素材となるビデオファイルをドラッグ&ドロップして一覧にしたら、そこからタイムラインのトラックにドラッグ&ドロップ。
・タイムラインを左クリックしてフェードイン/アウトしたり、エフェクトかけたりという感じで、気楽にいける。
・自分が作る程度のものなら今のところはこれで十分かな。


2025.11.05 23:49

Kdenliveでもない、ShotCutでもない、OpenShotだ


・ちょっと動画編集が必要になったのだけど、さてどうしようというところ。
・コロナ騒動のときに動画教材を必死に作った時は何を使っていたんだっけな。すっかり忘れている。
・まぁ、Linux上だとこれかなぁというところでKdenliveとShotCutをインストール。何故かこの手のものは似たような画面レイアウトのものが多い気がする。左上が素材のビデオファイル。下にタイムライン、右上がタイムラインで編集した結果の表示という感じ。
・基本的な使い勝手は似たようなもので、あとはそれぞれの機能か。
・でも、使っていたのはこれじゃない。ということは・・・ということで、OpenShotをインストール。これだ、これだ。これが一番シンプルでわかりやすいんだな。
・そんなことをしながらなにげなくdf ーhしたらUsedが88%。もう少し開けておかないとなんとなく不安だなということで、とりあえず最近使っていないXilinxな環境を消去することに。
・さて、ところでどうやったんだっけと思って検索して、どうやら、/tools/Xilinxの下の"."付きディレクトリの下に降りるとxsetupがいるので、
 sudo なんちゃらかんちゃら/xsetup -Uninstall
してやれば良いらしい。やってみたらあっさり終了。df ーhでは55%ほど空きが出来た。

2025.11.04 21:01

FT245モードの切り替えは?


・FT-232Hの動作モード切り替えなどをするのにFT_PROGというユーティリティを使うわけだけど、これってWineを使ってLinux下でつかえないのかなと思ってちょっとお試し。結果はといえば、FT_PROG自体は難の問題もなくインストールできるし、起動もするけどデバイスが見つけられないというオチ。
仕方ないので、Windows10な仮想マシンを立ち上げて起動してみるとちゃんと動いた。デバイスも認識された。
・さて、モードを変えてみるかと思ったけど、FT245 FIFOとあるだけでSynchronousとAsynchronousはどこで選ぶのかな?と思ったら結局そこはソフトウェア設定するしかないらしい。デフォルトではAsyncでソフトでSyncに切り替えるということのようだ。しかもこの切り替えのためにD2XXドライバ必須・・・ということはVCP(Virtual COM Port)ドライバは使えない。
・じゃあASynchronousで行くかと思って改めて資料を読みなおししたらAsyncFIFOでは8MByte/secまでしか出ないらしい。さすがにこれでは寂しいな。
・仕方ないなということで、FT245 FIFOモードにして、ドライバをD2XXドライバを使うように指定してEEPROM書き込みを行った。残りはまたあとで。
・さて、テスト用に「メスーメス」のジャンパケーブルが欲しいなということで探していたらフラットケーブルの両端に1ピンごとのメスピンを付けたものが274円で送料無料ときた。フラットケーブルというのがなぁ・・・と思っていたのだけど、考えたら裂いてしまえばいいだけか。ということはこれ1個で40本分。まぁ十分だな。ポチッ




2025.11.03 12:02

FT232のAsyncFIFO


・米国の大統領が核実験の再開を指示だとかいうことでなんだかあれこれ書かれているのを目にした。
・でも、確かもう米国は基本的なデータは全部持っているので臨界前核実験すら必要なくて、ほぼコンピュータ上のシミュレーションで事足りるという話ではなかったかな。
・結局ロシアが核利用の兵器を使ったブラフを仕掛けてきたことに対するメッセージなのだろうな。
・時に韓国が原子力潜水艦を米国で建造する(というのか、それって米国製の韓国向け原潜を買うってことかな?)のにGoサインも出したらしい。
・ということは、ということは・・・そういうことになるんだろうな。
・そんな生臭い話は横に置いて、FT232Hとの非同期FIFO転送をSystemVerilogで書いてみる。
・WR#の幅が30ns必要らしいのでここを2サイクルとすると15ns。まぁ、66MHz程度。これでリカバリを1サイクルとして1転送3サイクルにすると。まぁ、22Mbyte/sec。まぁ、非同期だとこんなもんか。

2025.11.02 08:03

Simpyなるものがあるのか


・Verilogのシミュレーションで出てきている計算結果が果たして合っているのかちょっと気になってPythonでプログラミング。
・久しぶりだと忘れているなぁ。困った時のAI頼みで、リハビリしていて少し回復。
・Pythonだと配列(というかリストか)も雑に扱えるからシフトレジスタやらFIFOなども簡単に書けるし、sum()一発でリストの合計値が出たりと結構気楽。
・Pythonで論理シミュレーションなんかも楽なんだろうなと思いながらなんとなく検索していたら、論理ではなくて離散事象のシミュレーションに向けたものとしてsimpyなるライブラリがあることを知る。製造ラインや交通システム、サービス施設などの最適化などに適していて、かなり歴史もあって枯れたものらしい。
・具体的にどうすると美味しいのか、こっちの世界でも遊べるものなのかチェックしてみるかな。

2025.11.01 21:13

省リソースなAIモデルGranite


・なんとなくニュースなどを眺めていたらIBMがオープンソースで省リソースで動くAIモデルhttps://www.ibm.com/jp-ja/graniteをリリースしていることを知る。Granite(グラナイト)というと、花崗岩か。
・とりあえずお試ししてみると結構遅いけどそれなりな回答をしてくる。面白そうだな。ところでどうやってインストールすれば良いのだろう・・・と検索しかけて、「そんなことGraniteに聞けば良いのでは?」ということで、「Graniteを試す」の中で「Graniteをインストールするにはどうしたら良いの?OSはUbuntuなんだけど」と訪ねたら教えてくれた。
--------------------
Granite4のインストール手順について、Ubuntu環境での方法をご案内します。以下の手順に従ってインストールを進めてください。

前提条件
Ubuntu 20.04 LTS または 22.04 LTS
Python 3.8 以上
pip がインストールされていること
手順
仮想環境の作成 まず、プロジェクト用の仮想環境を作成します。以下のコマンドを実行してください。

python3 -m venv granite4_env

仮想環境のアクティベート 作成した仮想環境をアクティベートします。

source granite4_env/bin/activate

必要なパッケージのインストール Granite4に必要なパッケージをインストールします。以下のコマンドを実行してください。

pip install granite4

インストールの確認 インストールが正しく行われたか確認します。以下のコマンドを実行して、バージョン情報が表示されることを確認してください。

python -c "import granite4; print(granite4.__version__)"

注意点
インストール中にエラーが発生した場合は、エラーメッセージを確認し、必要に応じて追加のパッケージをインストールしてください。
仮想環境を使用することで、システム全体に影響を与えずに安全にインストールできます。
以上でGranite4のインストールは完了です。何か他にご不明な点があれば、お気軽にお尋ねください。
--------------------
なんて具合。やってみたらpip installでエラー。やっぱり騙された。まぁそんなものだな。