概要 Linuxを実行可能なマルチコアシステムを実装する上では、Linuxカーネルの理解は欠かせません。 本記事は、RISC-V向けLinuxカーネルの実装を読み、筆者が思い込みを解消した備忘録です。 本編 筆者は現在、RISC-VのCPU (コア) を複数搭載したマルチコア…
概要 世は大マルチコア時代、身近なコンピュータシステムの多くがマルチコアのCPUを搭載しています。 本記事では、WSL2上でLinuxの動くマルチコアRISC-V SoCをシミュレートし、その動作を観察します。 作業 今回はLinux on LiteX-VexRiscvを使います。 まず…
概要 SpinalHDLやChiselなど、ScalaベースでHDLを生成するフレームワークの利用が広まっています。 本記事では、ScalaやJavaのビルドツールであるSBTをWSL2にインストールします。 作業 基本的に、SBTのドキュメントに則って作業します。 はじめに、依存パッ…
概要 FPGAに搭載する論理のシミュレーションは、その動作の正しさを検証するために重要な工程です。 今回は高速なVerilogシミュレータであるVerilatorの最新安定版をビルドします。 作業 Verilatorのマニュアルに従って、Verilatorを自前でビルドします。 今…
概要 AMDのKria KR260 Robotics Starter Kitは、Kria K26 SOMを搭載するFPGAボードのキットです。 産業ロボットをはじめとするリアルタイム処理に関連した機能に加え、10GbpsのSFP+ポートも搭載している点が魅力的です。 筆者はこのKR260キットを昨年10月にM…
背景 ソフトウェアに比べて、ハードウェアの設計・実装は複雑で難しいという印象があります。 特にハードウェア記述言語 (Hardware Description Language, HDL) を用いたレジスタ転送レベル (Register Transfer Level, RTL) でのプログラミングは、人間の脳…
背景 筆者宅 (いけおじハウス) では、ラトビアMikroTik社のCCR2116-12G-4S+がメインのルータとして利用されています。 このルータは2GHz, 16コア16スレッドのARM64 CPU、16GBのRAM、4つのSFP+ポートなどを搭載し、RouterOSと呼ばれるOSを用います。 mikrotik…