banked-stencil-multicast の同報経路を、共通tickとタイマーへ転用する派生参照実装です。
共通コア: banked-stencil-multicast
このリポジトリは、共通コアが時刻基準へ適用できることを先行公開するための応用記録です。独立したクロック回路、物理精度、または本体のRTL・性能証拠を主張するものではありません。
flowchart LR
C["共通原理<br/>静的供給元 → multicast → 複数lane"] --> A["固有の派生<br/>common tick + route校正"] --> E["実証範囲<br/>4 lane / 1,024 tick<br/>参照モデル + 8 tests"]
| 層 | このrepoで固定する内容 |
|---|---|
| 共通原理 | 本体の固定的なデータ供給とmulticastを、共通イベントの配布として読む |
| 固有の派生 | tick発行、lane別route遅延、既知tickによる校正、補正時刻 |
| 実証範囲 | 整数参照モデル、固定ケース、8 tests。capture RTL・物理時計は含まない |
t_emit(k) = k * period
t_arrival(i, k) = t_emit(k) + route_delay[i]
t_corrected = t_arrival(i, k) - calibrated_delay[i]
既知tickを一度観測し、laneごとの固定経路遅延を校正します。
| コア | 派生側 |
|---|---|
| multicast | 共通tickのlane配布 |
| lane | 時刻マークを受ける観測点 |
| 固定経路 | laneごとの校正対象 |
| FIFO/capture/RTL | 本リポジトリの対象外 |
lane数4は本体の基準境界に合わせた値です。本体のbank scheduleやRTL/formal結果を、このrepoだけで再証明するものではありません。
reference/clock_benchmark.py の既定値です。
| 項目 | 値 |
|---|---|
| lane数 | 4 |
| tick数 | 1,024 |
| tick間隔 | 10,000,000 fs |
| 時刻マーク数 | 4,096 |
| 校正前route skew | 52 fs |
| 校正後skew | 0 fs |
| 校正誤差 | 0 fs |
fsは整数シミュレーション単位です。物理的なfs分解能や精度保証を意味しません。
同じtickを4 laneへ配布し、route skew 52 fsを既知遅延として補正すると、参照モデル上のskewは0 fsになります。intervalとdeadlineも整数tickから再生できます。
これは、共通tick・lane別遅延・校正値を分離して扱えることの証拠です。物理時計の精度証明ではありません。
リポジトリルートでPython 3.10以降を実行します。
python -B -m unittest discover -s tests -v
8 tests、OK。
| 区分 | 内容 |
|---|---|
| 参照 | tick生成、固定遅延、校正、補正後時刻、interval、deadlineのモデルとテスト |
| 実測 | なし |
| 試算 | なし。固定ケースの値はモデル内のカウント |
| 未検証 | 発振器、PLL、ジッタ、実チップ、衛星・宇宙環境、capture RTL、物理実装 |
このrepoは時刻・タイマー応用の独立した公開単位です。公開版のDOIは CITATION.cff に記録します。コードはApache-2.0、文書はCC BY 4.0です。