lynxeyedの電音鍵盤

MBDとFPGAと車載で使うデバイスの備忘録

FPGA/CPLD

QuickLogic EOS S3基板を起こすハメになった話

ついに半導体枯渇が死活問題になってきた ある程度の在庫を抱えてはいたのですが、Cyclone 10LP/MAX10が枯渇しそうです。 少なくともトレイに入った状態のintel FPGAはここ半年くらいお目にかかっていません。在庫しているボードものこりがわずかで、使い終…

QuickLogic EOS S3でCMOSカメラOV5642を駆動する

小規模FPGA+小規模マイコンならではの使い方としてイメージセンサの駆動は最適かもしれません。 マイコンだけだと、駆動ロジック自体は単純な割に処理速度がギリギリになってしまうからです。外部メモリーIFを持っているマイコンであれば駆動は簡単ですが、…

QuickLogic EOS S3のハードマクロFIFOを使う

EOS S3はPSoC3/5LPと比較すると、アーキテクチャの差があるので単純比較できないものの、およそ3~4.5倍ほどの論理ゲート規模を有します。それはそうと、ロジック規模だけで優劣をつけてしまうので有れば15年以上前のCPLDと同等になってしまいます。それ以上…

QuickLogic EOS S3をDockerで使う

前回の記事のキャッチアップです。Dockerが使えると環境整備の負担が少なくて良いので、作ってみました。 脱・開発環境汚染 現在、複数の大学と企業と連携したプロジェクトで開発をしているのですが、環境構築やってらんない、CI/CD考慮した環境にすべきとの…

小規模マイコン+FPGA、QuickLogic EOS S3の試食

小さめなマイコン+グルーロジックの代表格はPSoC5 LPなどが挙げられます。回路規模でその上になるとXilinxであればZynq、IntelであればCyclone V SoCのような比較的中規模デバイスでしょう。www.quicklogic.com 昨年の11月に購入して積んでいました。 必要に…

intelHLSプロトタイプの設計(Cyclone10GX基板の設計)

最近では、安全運転支援のカメラ開発も乗用車から船舶向け、最近では庫内の運搬用群ロボットまで引き合いをいただいております。 ありがとうございます。 開発スピード向上 上記のような簡易プロトタイプ用途としてCyclone10LPのボードを1年前に開発しました…

自作RISC-Vでスイッチサイエンスの測距ToFセンサー VL53L1X を動かす

2000円もせずに400cm測れる超優秀なセンサーモジュールがあります。www.switch-science.com4mまで測れるので単眼カメラの停止時の車間詰め補助に使おうと思っています。 ADAS搭載車両で、前方車両が発進したことを知らせる機能がある車両がありますが、大抵4…

自作RISC-V向けにCライブラリの整備やPlatformDesigner連携をする

前回の記事でCが使えるようになりました。ですが、標準入出力もない乗除算もできない不便なものでした。 組み込みマイコンレベルで使えるように整備していきます。 libgccをリンクする RV32Iは算術演算命令セットとしては加減算とシフトくらいしかありません…

C言語で自作RISC-Vを動作させる

前回の記事でアセンブラでLチカ、Hello worldはできました。 今回はC言語で試してみました。 実用性を求めるとC記述でも動作することが重要ですが、なによりもハーバードアーキテクチャの場合、Load/Store動作のデバッグになると思います。関数にジャンプす…

Intel FPGA Cyclone 10LPで自作RISC-Vを動作させた話

この記事を執筆した段階ではアセンブラのみ動作が確認できていました。その後C言語での動作確認も終えています。詳しくはこちらをご覧ください。 自作RISC-V向けにCライブラリの整備やPlatformDesigner連携をする - lynxeyedの電音鍵盤 この記事はQuartus Pr…

Chiselを使ったRISC-Vの勉強(最終話:FPGAへの実装2)

今月中にQuartus Primeユーザー向けにもまとめを書きます。ご期待いただければ。この記事はChiselサイドから見たブログ記事にしたいと思います。Alternative HDLとしてそこそこ使えるじゃん!という手応えを感じたのとriscv-testsにFPGA実機上でもパスできる…

Chiselを使ったRISC-Vの勉強(14.Intel HEXの生成)

Intel Hexファイルの生成 Intel FPGAで初期値をRAMに与えたい場合、インテルHEXかMIFファイルにしておく必要があります。 https://www.intel.co.jp/content/dam/altera-www/global/ja_JP/pdfs/literature/ug/ug_ram_rom_j.pdf今後、OpenOCDでデバッグできるI…

アルテラCPLDで150LE未満のワンチップCPUを作ったお話

150LE未満のMISC CPU スタック1段のみ、キャリーフラグなし、6命令のMISC CPUを作りました。 (ほんとは5命令だったんだけど、このネタに使うのに1命令追加した)以下が命令です。内部的には最初のコマンド以外、殆ど同じ動きをします。 GO_IF_NON_ZERO_ELS_SU…

エナジーハーベストPLDボードRODSZEPTA進捗状況(その3) :通常電力版MOZPENTAを作った

ハード開発環境の分離 前回の結果をうけて、エナジーハーベスト電源側とCPLD側の開発を別々に進める事にしたわけですが、MAX V 1270LEの144ピンTQFPパッケージ(5M1270ZT144)が手に入ったため、このデバイスで基板を起こしました。RODSZEPTA(ラセタ)と区別す…

エナジーハーベストPLDボードRODSZEPTA進捗状況(その2)

デバイステストが終了 RODSZEPTAにはエナジーハーベスト用電源管理ICにLTC3330を試験的に採用しています。 LTC3588-1と基本的構造は同じですが、バックブーストDCDCとLDOの2電源を内蔵しているところが異なります。また取得できる電流が少し減っているようで…

RODSZEPTA進捗状況(その1)

基板到着 エナジーハーベストイメージセンサボードRODSZEPTAの基板が到着しました。 PCBはDesignSparkPCB v.5.1で作成、ViewMate Proで面付けしています。 おもて うら シルクもスルーホールもそこそこ奇麗。 部品もSRAM以外は届いているので試作してみよう…

省電力イメージセンサボードを作る

事の発端 今年の初めに友人と天王寺ミオで、 こんな↓ラジコンにラインスキャン乗せて映像撮ったら面白そうだねという会話 でも大容量Li-PO電池もたないといけないかも、ついでに重くなるから出力上げないと、という話をしてたときに、「振動で発電すれば電池…

Avalon-MM Master Bridgeを探す

USB付きで簡単に使えるBridge Qsysを使ってAvalonバスにモジュールをぶら下げて使えるシステムを開発中です。 Alteraのデバイスの以下のシリーズで検討しています。 Cyclone IV E / GX Cyclone V E MAX V CPLD Nios IIは規模が500LE未満と軽量なソフトマクロ…

裏付けの無い開発手法とFPGA石器時代

それは10年前と変わっていないのか 以前の記事( 魔法のようなSoCはない - Lynx-EyEDの電音鍵盤 新館)に付け加えたい事があったのでちょっと書いてみました。最近FPGAの図書がまた増えつつあるCQ関連ムックですが、 例えばコレとか FPGAスタータ・キットで初…

Max II CPLDでQsysをつかってみた

QsysのProject SettingsメニューにCPLDもある 前回(JTAG to Avalon Master Bridgeを使ったバスコントロール - Lynx-EyEDの電音鍵盤 新館)でやってみた内容とほぼ同じ事を、CPLDでやってみました。 使用ボードはMax II Micro Kit (Terasic MMK)です。 具体的…

JTAG to Avalon Master Bridgeを使ったバスコントロール

バスアーキテクチャの学習というハードル 2013年も1月が終わろうとしていますが、今年初記事です。(笑74シリーズで論理設計した経験があり、HDLをある程度習得しているなら単体モジュールをFPGA内に作り込むのはさほど困難な事ではないと思われます。 問題と…

PSoC3で指定回数分だけクロック送出

前回(PSoCでVerilog - Lynx-EyEDの電音鍵盤 新館)の関連記事になります。 PSoC3/5で指定回数分だけパルス出力したいと考えました。8bit長シフトレジスタでは、通常8クロックを送出してから、保存用レジスタにストアします。 しかし、データストリームが8の倍…

PSoCでVerilog

画像を利用した姿勢制御計画がちょっと部品選定で頓挫中です。 MachXO2 → PLD付きCPUのPSoC3でも出来そうということで、部品選定フェーズに巻き戻ししてます。あーあ。【メリット】 ・CPUによってPLDのステートマシーンをなくす、または最小限に出来る。ある…

凄いカメラボード改めYABUSAME'S ROD

ボードの再設計 前に↓設計していたカメラボードの外形をまた直しています。 特徴量検出と姿勢制御用のデバイスの設計(その2) - Lynx-EyEDの電音鍵盤 新館価格と、ハードマクロの豊富さが決定打となりCPLDはMachXO2-2000を採用しました。 和製FPGAボードはDQN…

魔法のようなSoCはない

次世代ry 30代半ば〜40代後半のソフトウェアをメインとする技術畑にいる人々の中には、未だにFPGA=魔法のSoCという刷り込みがある模様。汎用と専用の違いをどこかで見失ったのかもしれない。 2000年はじめ頃、FPGAについて \魔法のデバイス!何でも出来る…

特徴量検出と姿勢制御用のデバイスの設計(その2)

前回のエントリの続き。 まだ作りかけですが、、、一応ボード設計のメドがたちました。今回はAltiumではなくDesignSpark PCBを使っています。 トラ技でも紹介された技適取得済みWT32モジュールWCA-009を乗せています。もともと、A2DP、AVRCPプロトコルを生か…

特徴量検出と姿勢制御用のデバイスの設計

ここからしばらくはこの話題を追いかけていこうと思います。 2足歩行ロボットや小型無人飛行機の姿勢制御は通常ジャイロや加速度センサを組み合わせて実装されますが、 そのシステムに「目」を追加することによって、姿勢制御の補助ができるのではないかと…

カメラ基板が到着

Spartan-6 LX9 MicroBoard用カメラスタック基板が到着しました。LPDDRを読み書きするMCBの速度評価をしたいと思います。 10月31日に発注したので到着まで27日かかった模様。 3電源回路ですが部品点数がかなり少ないので2層で十分です。 FusionPCBに発注しま…

Spartan-6のMCBとカメラボード設計

ずっと、UG388と格闘しつつMIGを使ってLPDDRを駆動するMCBラッパをインスタンシエートしたり、シミュレーションしている訳ですが、ALTERAユーザから見るとかなり奇異に見えるかも知れません。(自分もそうだったので) まず、Spartan-3E、Spartan-6、Virtex-6…

Spartan-6 LX9 MicroBoardを使ったLPDDR SDRAMのハードマクロ実装(その4)

MIGが生成したuser_designを使って、MCBラッパーと分散メモリのインスタンシエートをしているわけですが、ふと、違和感を感じました。user_designのトップファイルのモジュール宣言。 module mymig # ( //(中略) ) ( inout [C3_NUM_DQ_PINS-1:0] mcb3_dram_d…