AI-translated from English; not yet reviewed by a fluent editor.

# Cara menjalankan simulator openTPU dan menilai persyaratan FPGA-nya

> openTPU mendokumentasikan simulator Python untuk inferensi model bahasa dan jalur terpisah menuju kartu Inspur Kintex-7. Panduan ini merangkum perintah, keluaran yang diharapkan, dan persyaratan perangkat keras dari repositori.

By BIG CHANGE Editorial

Published: 2026-10-07T13:36:01.795Z
Updated: 2026-10-07T13:36:01.795Z
Canonical: https://bigchange.ai/blog/opentpu-simulator-fpga-requirements-guide

![Conceptual charcoal illustration of one engineer holding and examining a PCIe FPGA accelerator card above an electronics work mat.](https://bigchange.ai/api/media/file/opentpu-fpga-card-hero-v2.png)
AI-generated conceptual illustration by BIG CHANGE, based on a reference photograph of the Inspur YPCB-00338 board. It does not depict a BIG CHANGE test or observed openTPU run.

Sebuah [repositori openTPU](https://github.com/FeSens/openTPU/tree/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93) menggabungkan simulator instruction set Python, compiler, desain SystemVerilog, dan alat host FPGA dalam satu proyek. Para penulis melaporkan bahwa mereka menjalankan model bahasa pada kartu Inspur Kintex-7. Bagi pengembang sistem ML atau FPGA, langkah awal yang mudah diakses adalah menjalankan chat perangkat lunak dengan bobot model nyata. Memindahkan proyek yang sama ke kartu memerlukan papan tertentu, alat build berlisensi, dan konfigurasi host Linux. Panduan ini mengikuti repositori pada commit `b9a3f3b` tanggal 7 Oktober 2026; BIG CHANGE belum menginstal, menyimulasikan, atau mengujinya.

## Perubahan besar

- **Apa yang berubah:** openTPU menerbitkan set instruksi akselerator, simulator, compiler, RTL, dan integrasi papan secara bersamaan. Insinyur dapat memeriksa jalur dari operasi model hingga instruksi yang disimulasikan sebelum membeli kartu yang didukung.
- **Mengapa penting:** Simulator yang terdokumentasi memberi kesempatan konkret bagi pembelajar perangkat keras untuk mempelajari desain dan menjalankan model bahasa kecil menggunakan perangkat lunak host biasa. Proyek tersebut menyebut bahwa agen AI membantu menghasilkan tumpukan perangkat keras; artefak yang dapat diperiksa membuat klaim pengembangan itu layak ditelaah, sedangkan hasil kartu yang dilaporkan tetap merupakan pengukuran proyek sendiri.
- **Yang perlu diamati:** Mereproduksi hasil fisik bergantung pada papan Kintex-7, build Vivado berlisensi, dan bring-up PCIe yang berfungsi. Repositori menyediakan perintah dan pengujian mandiri untuk pekerjaan itu. Pengujian independen pada revisi yang dikunci akan menunjukkan seberapa mudah insinyur lain mengulanginya.

## Kunci sumber dan pilih jalur perangkat lunak

Langkah-langkah di bawah mengikuti repositori `main` pada [commit `b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93`](https://github.com/FeSens/openTPU/commit/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93), yang dibuat pada 7 Oktober. Repositori memiliki tag `v0.5`, tetapi panduan ini memakai commit terkunci yang lebih baru karena README-nya menambahkan bagian validasi [Hugging Face](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#validating-against-hugging-face). Paket Python masih mengidentifikasi dirinya sebagai versi `0.1.0` di [`pyproject.toml`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml); nomor paket itu saja tidak mengidentifikasi snapshot sumber. Repositori menggunakan lisensi Apache 2.0.

Anda membutuhkan Python 3.10 atau yang lebih baru. Paket tersebut mendeklarasikan `numpy` dan `textual`; README secara terpisah memasang `pytest`, `torch`, dan `transformers` untuk pengujian dan penggunaan model. README menunjukkan perintah Hugging Face `hf` untuk mengunduh checkpoint ke `models/LFM2.5-230M`. Pastikan `hf` tersedia di lingkungan Python Anda sebelum mengunduh. Checkpoint adalah masukan untuk perintah chat, bukan model yang disertakan dengan sumber. Proyek tidak menyebutkan ukuran total unduhan, kebutuhan memori host, atau waktu simulator yang tetap untuk jalur ini.

Dari root repositori, [urutan yang terdokumentasi](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#try-it) adalah:

```shell
git clone https://github.com/FeSens/openTPU.git
cd openTPU
git checkout b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93
pip install -e .
pip install pytest torch transformers
python3 -m pytest -q
hf download LiquidAI/LFM2.5-230M --local-dir models/LFM2.5-230M
otpu-chat --model lfm2 --backend isa
```

Perintah checkout mengunci revisi yang diperiksa; perintah instalasi, pengujian, pengunduhan, dan chat berasal dari README. `--backend isa` memilih simulator instruction set Python. Seluruh rangkaian `pytest` juga mencakup pengujian RTL yang memerlukan Verilator 5, sehingga mesin tanpa alat itu tidak dapat menggunakan rangkaian lengkap sebagai pemeriksaan keberhasilan yang hanya mengandalkan perangkat lunak. Tanda selesai untuk sesi interaktif terkecil yang didokumentasikan adalah checkpoint LFM2.5-230M berhasil dimuat, lalu antarmuka chat menerima prompt dan mengembalikan teks model. Kata-kata persis dalam jawaban yang dihasilkan bergantung pada prompt dan sampling. Sumber [chat CLI](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py) juga menyediakan `--plain` untuk REPL terminal dan `--prompt` untuk satu jawaban; yang terakhir mencetak jawaban dan statistik giliran. Itu adalah antarmuka yang didokumentasikan, bukan keluaran yang diamati BIG CHANGE.

README mencantumkan Qwen3-0.6B, LFM2.5-230M, dan Qwen3.5-0.8B di antara pilihan chat utama, serta beberapa model yang lebih besar. Masing-masing memerlukan checkpoint sendiri di direktori model yang diharapkan atau jalur checkpoint eksplisit. Jalur LFM2 di atas adalah contoh pengunduhan model terpendek di repositori. Hasil yang lebih luas di README mencakup sepuluh model pada kartu, termasuk Gemma 4 dan model yang memerlukan expert offloading, dengan beberapa format bobot untuk sebagian model. Tabel itu merupakan pengukuran penulis, bukan jaminan bahwa setiap model dapat mengikuti penyiapan LFM2 satu perintah ini.

## Apa yang diperiksa simulator

Proyek menjelaskan bahwa bahasa kernel dan compiler menghasilkan instruksi untuk akseleratornya. Simulator ISA Python menjalankan instruksi tersebut; RTL SystemVerilog adalah implementasi perangkat kerasnya. [Gambaran sistem di README](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#how-it-works) dan [`opentpu/isasim.py`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/isasim.py) membantu pembaca mengikuti batas tersebut. Menjalankan `otpu-chat` dengan `isa` menjalankan inferensi model melalui jalur instruksi perangkat lunak. Cara ini tidak memprogram FPGA atau mengukur throughput kartu.

Para pemelihara melaporkan bahwa kartu menghasilkan token yang identik bit demi bit dengan simulator, dan menyediakan [skrip validasi](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/tools/validate.py) untuk membandingkan pilihan eksekusi perangkat dengan referensi CPU Hugging Face. README yang dikunci menjelaskan prompt bawaan, perbandingan token dan logit, serta pengujian kartu pada 7 Oktober. Laporan dan kodenya dapat diperiksa. BIG CHANGE belum mengulanginya, jadi hal tersebut tidak membuktikan akurasi atau kecepatan secara independen.

## Perbedaan saat memakai kartu fisik

Panduan [papan](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md) menargetkan **Inspur YPCB-00338** dengan Xilinx Kintex-7 `xc7k480t-ffg1156-2`, dua kanal DDR3 2 GiB, dan koneksi PCIe ke PC host. Build bitstream bawaannya menggunakan Vivado 2026.1. Panduan itu menyatakan edisi gratis tidak menyertakan perangkat ini dan menyarankan lisensi berbayar atau evaluasi 30 hari. [Tabel perangkat AMD 2026.1](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A) membantah klaim tentang perangkat itu: **Basic mencakup semua perangkat Kintex 7**.

[Pilihan lisensi AMD saat ini](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html) mencantumkan Basic seharga $0, dukungan Linux, dan perpanjangan tahunan gratis. [FAQ lisensi](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) menyatakan bahwa Basic tetap memerlukan file lisensi tahunan yang valid; evaluasi penuh fitur yang terpisah berlangsung selama **60 hari**. [Tabel fitur AMD 2026.1](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features) mencantumkan pemrograman JTAG di Basic, tetapi membatasi simulasi XSIM dan sejumlah fitur debug. Tingkat berbayar yang lebih tinggi menambahkan fitur, dan AMD menyatakan lisensi IP tidak berubah. BIG CHANGE belum membangun openTPU dengan Basic. Hak penggunaan alat dan IP untuk alur bitstream ini perlu diperiksa sebelum menyebutnya build tanpa biaya. Panduan papan memperkirakan waktu `make bit` selama 1,5 hingga 3 jam, bergantung pada mesin. Panduan itu maupun tabel tingkat AMD tidak mencantumkan harga pembelian kartu ini atau total biaya reproduksi.

Setelah memiliki papan dan toolchain, jalur papan yang terdokumentasi adalah membangun bitstream di `boards/ypcb-00338`, memprogram FPGA melalui JTAG, dan mengonfigurasi host Linux. [`Makefile`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/boards/ypcb-00338/Makefile) pada papan mengirim keluaran `make bit` ke `build/vivado/otpu.bit`. `make program` menggunakan openFPGALoader secara bawaan; panduan itu juga menjelaskan hardware manager Vivado. Muatan JTAG tidak bertahan setelah daya dimatikan.

```shell
cd boards/ypcb-00338
make lint
make bit
make program
```

Langkah perangkat keras di atas berasal dari panduan papan, bukan urutan yang diuji di sini. Daftar bring-up host Linux meminta paket Python dan checkpoint, `sudo otpu-setup` untuk memasang driver XDMA dan aturan perangkat, pemindaian ulang PCIe setelah pemuatan JTAG, serta `otpu-setup --check`. Perintah terakhir didokumentasikan untuk keluar dengan sukses dan menampilkan “all in place” ketika driver, kartu, tautan, node perangkat, dan register ID berfungsi dengan benar. Setelah itu, `otpu-selftest` memeriksa kartu sebelum menjalankan `otpu-chat --backend board --model lfm2`. Diagnostik papan dapat disimpan dengan `otpu-diag --json diag.json`. Pemeriksaan tersebut merupakan tanda selesai konkret untuk jalur kartu; chat ISA saja tidak dapat menggantikannya.

Angka kinerja yang dipublikasikan juga perlu dicermati. README melaporkan, misalnya, **82,1 token per detik berdasarkan waktu dinding** untuk LFM2.5-230M dengan bobot 4-bit dan head int8 pada kartu penulis. Metodenya menggunakan 64 token greedy decode setelah prompt 512 token; tabel membedakan siklus perangkat dari waktu dinding yang mencakup host. Host, bitstream, format bobot, atau prompt lain menghasilkan pengukuran yang berbeda. Pesan commit 7 Oktober mencatat kualifikasi tambahan pada kartu, tetapi itu tetap catatan pemelihara. Sumber yang ditinjau untuk panduan ini tidak memuat benchmark yang direproduksi secara independen.

## Sumber & bacaan lebih lanjut

- [Repositori openTPU pada commit yang diperiksa](https://github.com/FeSens/openTPU/tree/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93), 7 Oktober 2026. README memuat gambaran sistem, perintah simulator, daftar model, dan pengukuran kartu yang dilaporkan sendiri. Hasilnya merupakan klaim proyek; BIG CHANGE tidak menjalankan repositori.
- [Metadata paket Python](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml) dan [lisensi Apache 2.0](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE). Ini menetapkan versi Python, dependensi yang dinyatakan, entry point CLI, versi paket, dan lisensi sumber. Checkpoint model dan Vivado memiliki ketentuan dan persyaratan tersendiri.
- [Panduan bring-up papan dan host](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md), diperiksa pada 7 Oktober 2026. Panduan ini menentukan kartu yang didukung, langkah bitstream, penyiapan Linux, pemrograman JTAG, dan pengujian mandiri. Pernyataannya tentang lisensi berbayar dan evaluasi 30 hari bertentangan dengan dokumen lisensi AMD 2026.1 terkini. Beberapa contoh bitstream lama merujuk pada build terdahulu; gunakan pohon sumber yang dikunci dan instruksi build terkini saat mereproduksi.
- [Ketersediaan perangkat AMD Vivado 2026.1, UG973](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A) dan [perangkat serta fitur yang didukung](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features), keduanya bertanggal 23 Juni 2026, serta [pilihan lisensi](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html), diperiksa pada 7 Oktober. Dokumen ini menempatkan semua perangkat Kintex 7 di Basic gratis, mencantumkan dukungan Linux dan JTAG, serta menunjukkan batas simulasi/debug Basic. [FAQ lisensi AMD](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) menjelaskan file lisensi Basic tahunan dan evaluasi 60 hari. Cakupan perangkat saja tidak memverifikasi keseluruhan alur bitstream proyek ini di Basic.
- [Chat CLI](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py) dan [panduan LFM2](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/lfm2.md). Sumber ini menunjukkan pemilihan backend, jalur model, perilaku keluaran interaktif dan sekali jalan, serta contoh checkpoint kecil.
- [Laporan GIGAZINE pada 7 Oktober](https://gigazine.net/gsc_news/en/20261007-opentpu) berguna sebagai konteks perhatian publik terhadap proyek. Detail penyiapan dan kinerja dalam panduan ini diperiksa terhadap repositori, bukan diambil dari laporan tersebut.

## Sources

- [README openTPU pada commit yang diperiksa](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md) — Ikhtisar utama, perintah simulator, daftar model, pengukuran kartu yang dilaporkan, dan metodologi. Hasil serta uraian desain berbantuan AI adalah klaim proyek.
- [Panduan papan openTPU](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md) — Kartu Inspur, perangkat, DDR3, Vivado 2026.1, penyiapan build/program/host, dan pemeriksaan yang didukung. Saran lisensi khusus berbayar/evaluasi 30 hari bertentangan dengan dokumen tingkat AMD 2026.1. Bagian historis memuat gambar lama.
- [Metadata paket dan sumber chat openTPU](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml) — Batas minimum Python, dependensi yang dinyatakan, versi paket, pernyataan lisensi, dan entry point CLI; sumber chat menunjukkan pilihan backend dan antarmuka keluaran yang diharapkan.
- [Lisensi Apache 2.0 openTPU](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE) — Lisensi kode sumber proyek; tidak menyiratkan ketentuan terpisah model maupun Vivado.
- [Ketersediaan perangkat per tingkat langganan AMD Vivado 2026.1 (UG973)](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A) — Tabel perangkat AMD 2026.1 secara tegas mencantumkan semua perangkat Kintex 7 di bawah Basic; cakupan perangkat tidak secara independen memverifikasi seluruh alur bitstream/IP openTPU.
- [Perangkat dan fitur yang didukung AMD Vivado 2026.1 (UG973)](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features) — Memerlukan file lisensi yang valid saat dijalankan; Basic mencakup pemrograman JTAG dan membatasi simulasi XSIM serta sejumlah fungsi debug. Sumber ini tidak memverifikasi build openTPU dengan Basic.
- [Pilihan lisensi AMD Vivado](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html) — Basic saat ini $0, diperpanjang gratis setiap tahun, mendukung Linux, memiliki perbedaan fitur per tingkat, dan lisensi IP tidak berubah; model tingkat dimulai pada 2026.1.
- [FAQ lisensi AMD](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) — Basic 2026.1 ke atas memerlukan file lisensi tahunan valid yang dapat diperoleh gratis; evaluasi penuh fitur yang terpisah berlangsung 60 hari.
- [GIGAZINE: laporan openTPU](https://gigazine.net/gsc_news/en/20261007-opentpu) — Hanya sebagai konteks pemberitaan sekunder. Fakta penyiapan dan kinerja diperiksa terhadap sumber primer repositori.
