STEP 1410 — Tang Nano 9K UART/I2C scaffold Phase 1 (実 hardware 実測 PASS)

2026-08-26 · STEP 1407 mock の 実 hardware 差替 4 段 barrier の 1 段目 · Tang Nano 9K 物理 silicon 4 例目 · benchtop-mcp 統合は Phase 2/3 defer

目的

STEP 1407 benchtop-mcp v0.8.0-alpha の BME280 mock (`bme280-env-a1`) を 実 hardware で 差替する 4 段 barrier のうち、 **1 段目 (host MCU + scaffold)** を Tang Nano 9K 上に 実装。 BME280 hardware 到着前 の Phase 1 で 動作 verify。 藤本さん directive 「Tang Nano 9K を 挿し込みました」 → (A1) 「Phase 1 を 即着手」 選択で 実行。

Phase 構造

Phase 1 (本 STEP 1410、 hardware 追加なし で 完了)

Phase 2 (BME280 発注 後、 未着手)

Phase 3 (benchtop-mcp v0.9-alpha 統合)

実装内容

Files

FileLinesPurpose
uart_tx.v~758N1 UART transmitter (115200 baud @ 27 MHz)
uart_scaffold_top.v~120Top module: heartbeat + message ROM + UART TX
i2c_master_stub.v~80I2C master skeleton (Phase 2 preparation、 未 instantiate)
tang_nano_9k.cst~25Pin constraints (clk 52, LED1 10, LED2 11, uart_tx 17)
build.tcl~20Gowin V1.9.12.02_SP2 TCL build
pc_recv.py~130PC-side pyserial receiver + marker verify
README.md~120usage guide + trouble shooting

Verify 結果 (2026-08-26 実測)

End-to-end PASS

Build (Gowin V1.9.12.02_SP2)

Program (SRAM Program+Verify, operation_index 4)

PC recv (python pc_recv.py --port COM9 --duration 6)

視覚

Reproduce 手順

# 1. Gowin build
cd C:/Users/user/rei-aios/hardware/phase-c/08-tang-nano-9k-uart-i2c-scaffold
"/c/Gowin/Gowin_V1.9.12.02_SP2_x64/IDE/bin/gw_sh.exe" build.tcl

# 2. Tang Nano 9K SRAM Program (揮発、 flash 保護)
"/c/Gowin/Gowin_V1.9.12.02_SP2_x64/Programmer/bin/programmer_cli.exe" \
  --cable "Gowin USB Cable(FT2CH)" --cable-index 1 \
  --device GW1NR-9C --operation_index 4 \
  --fsFile impl/pnr/uart_scaffold_top.fs

# 3. PC 側 verify
pip install pyserial
python pc_recv.py --port COM9 --duration 6

# 期待出力:
#   [  1] 'TANG9K-UART-OK'
#   [  2] 'TANG9K-UART-OK'
#   ...
#   verdict         : PASS

Honest scope (Phase 1 の 限界)

本 STEP 1410 Phase 1 は 完全に scaffold 検証のみ

Tang Nano 9K 物理 silicon arc 系譜

STEPDateContentUser Code
10382026-05-09LED Blinky 初 SRAM Program0x0000A5F4
10392026-05-09D-FUMT₈ ALU on Tang Nano 9K(record 待ち)
13992026-08-24Fixpoint Relaxation Machine v0.10x00002FE6
14102026-08-26UART/I2C scaffold Phase 1 (本 STEP)0x00000853

「Rei は 実在する」 (STEP 1030 Aer + Heron real quantum) 系譜の Tang Nano 9K 4 例目、 Paper 145 substrate-diverse verification の 継続。

次段 (Phase 2、 藤本さん judgment 待ち)

  1. 秋月 BME280 (通販コード 109421、 ¥1,180) + jumper メス-メス 4 本 + 10 kΩ 抵抗 2 本 発注
  2. Tang Nano 9K GPIO (pin 33 SCL + pin 34 SDA 予定) + BME280 breakout の 物理配線
  3. i2c_master_stub.v の 状態遷移 完全実装 (START / ADDR / ACK / DATA_RX / STOP)
  4. BME280 read シーケンス (0xD0 chip_id 確認 → calib coeff 0x88-0xA1 24 バイト読 → 0xF7-0xFE 8 バイト raw 読)
  5. UART TX 変更: 固定 message → raw + coeff の JSON packet 送出
  6. PC 側: Python で Bosch 補正演算 (32-bit fixed-point) → 実 temperature/humidity/pressure

関連