帰らざるMOS回路(41) 2相ノンオーバラップクロック生成回路をFPGA実装

FPGA_WAVEFORM0
Joseph Halfmoon

前回Verilogで古の8080用2相ノンオーバラップクロック生成をシミュレーション。シミュレーションできたからにはFPGA上に実装せずにはいられませぬ。手元にあるFPGAボードは「お求めやすかった」けれども「既に販売されていない」某国製品です。新規購入と思いつつ、大したロジック作るわけじゃないと思うと手が出ませぬ。

“帰らざるMOS回路(41) 2相ノンオーバラップクロック生成回路をFPGA実装” の続きを読む

ぐだぐだ低レベルプログラミング(140)ARM64(AArach64)SIMD cmeq

cmge_cmgt_cmhi_cmhs
Joseph Halfmoon

今回練習するのはSIMDの比較命令です。スカラー同士の比較であれば分岐のためですが、SIMDの場合は各要素の計算を「通すか否か」のマスク的なものの生成。今回対象は浮動小数比較でなく整数のみですが、いつものとおりA64の命令多すぎ。便利そうな命令は網羅するのがArmの行き方か。ミニマリストではないわいな。多分。

“ぐだぐだ低レベルプログラミング(140)ARM64(AArach64)SIMD cmeq” の続きを読む

GoにいればGoに従え(41) ラズパイPico、ArmのSystick使えるの?

Systick100kHz
Joseph Halfmoon

前回は周辺装置の割り込みの「元締め」NVICの動作状況を見てみました。しかしNVICを経由しないArmコア固有の例外、システム割り込みの中にSysTickというものも含まれているのです。プロセッサクロックで動作している高速なタイマです。今回はこいつが使えるのか否かを確かめてみます。 “GoにいればGoに従え(41) ラズパイPico、ArmのSystick使えるの?” の続きを読む

データのお砂場(107) R言語、channing、老人ホーム入居者データ、{boot}

ChanningHousePlot
Joseph Halfmoon

R言語のパッケージbootには、ブートストラップ法の適用むけと想定できるサンプルデータセット多数が含まれてます。ブートストラップ法の適用自体、忘却力の年寄には過ぎたる技なので毎回は行えてません。しかし今回のデータは「右打ち切りデータ」に対してブートストラップ法を適用するためのもののようです。ディープ過ぎ?

“データのお砂場(107) R言語、channing、老人ホーム入居者データ、{boot}” の続きを読む

帰らざるMOS回路(40) 2相ノンオーバラップクロックをVerilogで設計もどき

counter12SIMwave
Joseph Halfmoon

別件記事で古の8080用の2相ノンオーバラップクロックもどきを制作。標準ロジックIC2個、合計7ゲートのロジックを組むのが老人には辛いっす。この際FPGAでやれば自分で配線せずとも出来るじゃん。ということでFPGAにしてみることにしましたが、そのためには回路をHDLで書かないとなりません。久しぶりにVerilog?

“帰らざるMOS回路(40) 2相ノンオーバラップクロックをVerilogで設計もどき” の続きを読む

忘却の微分方程式(121) 反復練習84、グリーンの定理、Maxima

Ex100_Formula
Joseph Halfmoon

奥底で渦をまく者どもを引っくくって積分すればあら不思議、表に見えている何やらをまるっと積分するのと等価だと。ストークスの定理は「ベクトル解析業界」の一丁目一番地かもしれません。今回はそんなストークスの定理の手前の平面にいるらしいグリーンの定理を練習してみます。Maxima様に計算をお願するだけだけれども。

“忘却の微分方程式(121) 反復練習84、グリーンの定理、Maxima” の続きを読む

部品屋根性(105) LTC1144、スイッチトキャパシタコンバータ、2倍の電圧に昇圧

LTC1144VDoublerDUT
Joseph Halfmoon

前回はLTC1144を使って、+5Vという正電圧から-5Vという負電圧を取り出してみました。他に必要な部品はコンデンサ2個とな。今回は同じくLTC1144を使って入力電圧を2倍昇圧してみます。実験では単三乾電池3本で約4.5Vの電圧を8V以上まで持ち上げてます。前回の回路にダイオード2個追加ね。それでも回路はスッキリ。 “部品屋根性(105) LTC1144、スイッチトキャパシタコンバータ、2倍の電圧に昇圧” の続きを読む

STM32三昧(2) Cube IDEでGPIOから割り込み、Nucleo

GPIO_CONFIG
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを使用し、STM32のHAL(hardware abstraction layer)を思いつくまま試用中です。前回はGPIO入力とprintf出力を使えるようになりました。今回はソフトウエアでのGPIOポーリングを割り込み入力に変更してみます。 “STM32三昧(2) Cube IDEでGPIOから割り込み、Nucleo” の続きを読む

レトロな(7) 8080用のクロック波形もどきを標準LOGICで作ってみる

2PNO_Clock
Joseph Halfmoon

前々回8080のクロックはメンドクセー2相ノンオーバラップクロックだと書きました。当時は8224という「8080専用クロックジェネレータ」が存在。それを使えばOK。しかし8224が出るまでは皆さん自分で作っていた筈。今回はそんな古の時代を偲びつつクロック波形もどきを作ってみたいと思います。現物の8080は無いのだけど。 “レトロな(7) 8080用のクロック波形もどきを標準LOGICで作ってみる” の続きを読む

手習ひデジタル信号処理(105) Scilab、comm_tbx、赤外線リモコンの波形

irPulses0
Joseph Halfmoon

ここ数回、NRZとかNRZIとか「バイナリシーケンス」の操作を行ってきました。通常はこのバイナリシーケンスを変調・復調して搬送波に載せたり取り出したりするのがメンドクセーわけです。しかしそこを簡単に済ませている奴を思い出しました。赤外線リモコンのあれね。今回はScilab上で赤外線リモコンのバイナリシーケンスを作製してみます。

“手習ひデジタル信号処理(105) Scilab、comm_tbx、赤外線リモコンの波形” の続きを読む

レトロな(6) 8080, Z80, 8086を比べる、レジスタ編

8080_Z80_8086_REGS
Joseph Halfmoon

前回はピン配置のみから8080、8085、Z80のハードウエアの違いというか、設計思想?について勝手なことを書きました。今回はレジスタ一覧から8080、Z80そして8086について語りたいと思います。8085が居なくなった?レジスタ的には8080と8085はクリソツだからっす。代わりに16ビット8086を比較すると。

“レトロな(6) 8080, Z80, 8086を比べる、レジスタ編” の続きを読む

MicroPython的午睡(128)M5Stack UIFlow2、Displayを探る?

UIFlow2_Display_Trial
Joseph Halfmoon

前回、UIFlow2版のMicroPython、ThonnyIDEからも普通に使えることを確かめました。ビジュアルプログラミングは別シリーズなのでこちらではあくまでテキストベースでソースを書いていきたいと思います。素のESP32版MicroPythonと比べると独自拡張強力。今回はディスプレイ周りを探っていきたいと思います。

“MicroPython的午睡(128)M5Stack UIFlow2、Displayを探る?” の続きを読む

PIC三昧(20) CLKREF、参照クロックの外部出力、PIC16F18855

PIC16F18855_PackageView
Joseph Halfmoon

PIC16マイコン搭載の周辺回路を脈絡もなく思いつくまま気の向くままの順番で練習してきました。ここで「なんの一番基本的なモジュール」を練習してないことに気づきました。内部のクロック信号を外部にお知らせできるCLKREFモジュールです。クロックを出力するだけ、地味だあ~。でも単純だけれどもよく考えられてる?

“PIC三昧(20) CLKREF、参照クロックの外部出力、PIC16F18855” の続きを読む

ぐだぐだ低レベルプログラミング(139)ARM64(AArach64)SIMDsqdmulh

SDMULH_results
Joseph Halfmoon

今回練習するのは2命令、その一つのニーモニックはSQRDMULHです。マニュアルから命令の意味を引用すると「Signed saturating Rounding Doubling Multiply returning High half」です。これだけでメンドクセー奴だということだけは分かります。掛け算系の氷山の一角。

“ぐだぐだ低レベルプログラミング(139)ARM64(AArach64)SIMDsqdmulh” の続きを読む