Vivado のプロジェクトを共有する

公開日:
Vivado のプロジェクトを共有

Vivado を使ったことがある人なら、プロジェクトをシェアしようとしてうまくいかなかった経験があるのではないでしょうか。基本的に自分の PC で使うことしか想定していないのかもしれませんが、簡単にシェアできたらすごく便利だなぁとずっと思っていました。特にプロジェクトのフォルダ自体は大きいので、1 つのファイルだけ Git に上げておけば誰でも再現できると便利だと思うので、実際にやってみたいと思います。>> 続きを読む

Raspberry Pi を使って Global IP を LINE に通知してみる

公開日:
Raspberry Pi を使って Global IP を LINE に通知してみる

家の Global IP を固定するほどでもないけど、外出先でも知れたらいいなぁと思って、LINE に通知してみることにしました。家に常設している Raspberry Pi で家の Global IP を取得して、LINE Notify を使って LINE に通知を流すと言う感じです。>> 続きを読む

Replacer: 自動で同時に複数の条件を適用して文字列を変換したい

公開日:
Replacer: 自動で同時に複数の条件を適用して文字列を変換したい

コードを書いていたり、文章を書いていたりすると自動で同時に複数の条件を適用して文字列を変換したくなることがありませんか…?エディタを使って変換したりしていたのですが、条件を一つしか設定できなかったり、いちいち変換のためにボタンを押すかショートカットを押さないといけなくて、少し不便だったので、ブラウザを使って自分で簡単に実装できるか試してみました。一応 Replacer と名付けてみたので(?)、もしよかったら使ってみてください。>> 続きを読む

.bin と .bag の点群データを何とかして読みたい

公開日:
.bin と .bag の点群データを何とかして読みたい

点群データの処理をしたくて、データを探していたところ、.bin と.bag という2種類の形式のファイルを見つけました。.bag の方が生データに近い形で保存されているファイルだと思うのですが、点群データはフォーマットが色々あって処理に至るまでの読み取りだけでも苦労します。今回はこの二種類のファイルを読んで、機械学習などで処理しやすい形に変形していきます!>> 続きを読む

RISC-V の 4 段パイプライン特権命令付きプロセッサを書いた話

公開日:
RISC-V の 4 段パイプライン特権命令付きプロセッサを書いた話

RISC-V の4段パイプライン (フォワーディング、分岐予測も実装) 特権命令付きプロセッサを書いた時のお話しです。何から始めればいいかわからないという人も詳しく知りたいという人もぜひ読んでみてください!>> 続きを読む

RISC-V の CSR 転送命令と特権命令の機構と実装

公開日:
RISC-V の CSR 転送命令と特権命令の機構と実装

RISC-V で例外や割り込みを処理するためには CSR 転送命令や特権命令を実装する必要があります。この辺りは OS とも非常に深い関わりがあり、これらの命令がないと自作プロセッサで OS を動かすことはできません。これらを実装するために、初めどこから手をつけていいかわからなかったので、できるだけ丁寧に直感的に理解できるように解説してみたいと思います。>> 続きを読む

Vivado を使った Verilog のシミュレーションとデバッグの方法

公開日:
Vivado を使った Verilog のシミュレーションとデバッグの方法

Verilog を書いていざコンパイル…!と思っても意外とやり方が分からなかったりデバッグの方法がわからなくて困ることが多いと思います。そこで、筆者の経験を踏まえて、簡単にコンパイル・シミュレーション・デバッグを行う方法をまとめていきたいと思います。>> 続きを読む

初めての System Verilog

公開日:
初めての System Verilog で気をつけるべきこと

System Verilog はハードウェアを記述するための言語ですが、ハードウェアを記述するのはソフトウェアを記述するのと異なる部分も多く、初めて書く人は大きく戸惑うのではないかと思います。筆者もその1人だったので、その経験を踏まえて System Verilog の書き方を雑多に解説していこうと思います。System Verilogでハードウェアを記述できるようになると FPGA 上に実際に実装して動かしたりできるようになるので、頑張ってください!>> 続きを読む

RISC-V 用のクロスコンパイラを使ってみる

公開日:
最終更新日:
RISC-V 用のクロスコンパイラ riscv-gnu-toolchain を使ってみる

RISC-V 用のプロセッサのテストをするために riscv-gnu-toolchain というクロスコンパイラを導入してみましたが、意外と詰まりどころがあったりしたので、インストールやコンパイルの方法をまとめておきたいと思います。>> 続きを読む

Shell Script でバイナリファイルを 2 進数に変換する

公開日:
最終更新日:
バイナリファイルを 2 進数に変換する

バイナリファイルを読みたいと思っても、うまく開けなかったり、16 進数で表示されたりして、うまく 2 進数に変換されなくて少し手間だったりしませんか? 今回はバイナリファイルを 4 バイト区切りの二進数に変換するシェルスクリプトを書いていきます。これを少し応用すると、一瞬で 2 進数の思った通りのフォーマットに変換するシェルスクリプトが書けるはずです!>> 続きを読む