Pulpのcommon cellsにどういうものが入っているのかを、ChatGPTに纏めてもらった。この記事は、概要を知りたいだけのもの。
概要テーブル
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| アドレスデコーダ | addr_decode |
addr_decode.sv |
アドレスマップデコーダ | addr_decode.sv |
| アドレスデコーダ | addr_decode_dync |
addr_decode_dync.sv |
動的設定可能なアドレスデコーダ | addr_decode_dync.sv |
| アドレスデコーダ | addr_decode_napot |
addr_decode_napot.sv |
NAPOT領域用アドレスデコーダ | addr_decode_napot.sv |
| アドレスデコーダ | multiaddr_decode |
multiaddr_decode.sv |
複数アドレス入力対応デコーダ | multiaddr_decode.sv |
- addr_decode: 基本的なアドレスマップデコーダ。アドレス範囲をインデックスにマッピング
- addr_decode_dync: 動的設定可能なアドレスデコーダ。実行時のアドレスマップ変更をサポート
- addr_decode_napot: NAPOT(自然アライメント2の累乗)領域用アドレスデコーダ
- multiaddr_decode: 複数のアドレス入力に対応したデコーダ
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| アービタ | rr_arb_tree |
rr_arb_tree.sv |
ラウンドロビンアービタツリー | rr_arb_tree.sv |
| アービタ | stream_arbiter |
stream_arbiter.sv |
ストリームアービタ | stream_arbiter.sv |
| アービタ | stream_arbiter_flushable |
stream_arbiter_flushable.sv |
フラッシュ可能ストリームアービタ | stream_arbiter_flushable.sv |
- rr_arb_tree: ラウンドロビン方式のアービタツリー。対数的スケーラビリティ
- stream_arbiter: ストリーム用の基本的なアービタ
- stream_arbiter_flushable: フラッシュ機能付きストリームアービタ
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| クロック | clk_mux_glitch_free |
clk_mux_glitch_free.sv |
グリッチフリークロックマルチプレクサ | clk_mux_glitch_free.sv |
| クロック | clk_int_div |
clk_int_div.sv |
整数分周器 | clk_int_div.sv |
| クロック | clk_int_div_static |
clk_int_div_static.sv |
静的整数分周器 | clk_int_div_static.sv |
- clk_mux_glitch_free: グリッチフリークロックマルチプレクサ。N個の入力クロック間の安全な切り替え
- clk_int_div: 整数分周器。動的な分周比設定
- clk_int_div_static: 静的整数分周器。コンパイル時分周比固定
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| カウンタ | counter |
counter.sv |
汎用アップ/ダウンカウンタ | counter.sv |
| カウンタ | max_counter |
max_counter.sv |
最大値追跡カウンタ | max_counter.sv |
| カウンタ | trip_counter |
trip_counter.sv |
トリップカウンタ | trip_counter.sv |
| カウンタ | delta_counter |
delta_counter.sv |
デルタカウンタ | delta_counter.sv |
| カウンタ | credit_counter |
credit_counter.sv |
クレジットカウンタ | credit_counter.sv |
- counter: 汎用アップ/ダウンカウンタ。スティッキーオーバーフロー対応
- max_counter: 最大値追跡カウンタ。可変デルタでの最大値監視
- trip_counter: トリップカウンタ。指定値到達時の自動リセット
- delta_counter: デルタカウンタ。可変増分/減分
- credit_counter: クレジットカウンタ。フロー制御用
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| CDC | cdc_2phase |
cdc_2phase.sv |
2相CDC | cdc_2phase.sv |
| CDC | cdc_2phase_clearable |
cdc_2phase_clearable.sv |
クリア可能2相CDC | cdc_2phase_clearable.sv |
| CDC | cdc_4phase |
cdc_4phase.sv |
4相CDC | cdc_4phase.sv |
| CDC | cdc_fifo_2phase |
cdc_fifo_2phase.sv |
2相CDC FIFO | cdc_fifo_2phase.sv |
| CDC | cdc_fifo_gray |
cdc_fifo_gray.sv |
グレーカウンタCDC FIFO | cdc_fifo_gray.sv |
| CDC | cdc_fifo_gray_clearable |
cdc_fifo_gray_clearable.sv |
クリア可能グレーCDC FIFO | cdc_fifo_gray_clearable.sv |
| CDC | cdc_reset_ctrlr |
cdc_reset_ctrlr.sv |
CDCリセットコントローラ | cdc_reset_ctrlr.sv |
- cdc_2phase: 2相CDC。基本的なクロックドメイン間データ転送
- cdc_2phase_clearable: クリア可能2相CDC
- cdc_4phase: 4相CDC。より安全なデータ転送
- cdc_fifo_2phase: 2相CDC FIFO
- cdc_fifo_gray: グレーカウンタ使用CDC FIFO
- cdc_fifo_gray_clearable: クリア可能グレーCDC FIFO
- cdc_reset_ctrlr: CDCリセットコントローラ
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| エンコーダ/デコーダ | ecc_encode |
ecc_encode.sv |
SECDEDエンコーダ | ecc_encode.sv |
| エンコーダ/デコーダ | ecc_decode |
ecc_decode.sv |
SECDEDデコーダ | ecc_decode.sv |
| エンコーダ/デコーダ | binary_to_gray |
binary_to_gray.sv |
バイナリ→グレー変換 | binary_to_gray.sv |
| エンコーダ/デコーダ | gray_to_binary |
gray_to_binary.sv |
グレー→バイナリ変換 | gray_to_binary.sv |
| エンコーダ/デコーダ | onehot_to_bin |
onehot_to_bin.sv |
ワンホット→バイナリ変換 | onehot_to_bin.sv |
- ecc_encode: SECDED(単一誤り訂正・二重誤り検出)エンコーダ
- ecc_decode: SECDEDデコーダ
- binary_to_gray: バイナリ→グレーコード変換
- gray_to_binary: グレーコード→バイナリ変換
- onehot_to_bin: ワンホット→バイナリ変換
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| FIFO | fifo_v3 |
fifo_v3.sv |
汎用FIFO v3 | fifo_v3.sv |
| FIFO | stream_fifo |
stream_fifo.sv |
ストリームFIFO | stream_fifo.sv |
| FIFO | stream_fifo_optimal_wrap |
stream_fifo_optimal_wrap.sv |
最適化ストリームFIFO | stream_fifo_optimal_wrap.sv |
| FIFO | passthrough_stream_fifo |
passthrough_stream_fifo.sv |
パススルーストリームFIFO | passthrough_stream_fifo.sv |
- fifo_v3: 汎用FIFO v3。フォールスルーモード対応
- stream_fifo: ストリーム用FIFO
- stream_fifo_optimal_wrap: 最適化ストリームFIFO
- passthrough_stream_fifo: パススルーストリームFIFO
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| フィルタ | cb_filter |
cb_filter.sv |
コールバックフィルタ | cb_filter.sv |
| フィルタ | mv_filter |
mv_filter.sv |
移動平均フィルタ | mv_filter.sv |
| フィルタ | stream_filter |
stream_filter.sv |
ストリームフィルタ | stream_filter.sv |
- cb_filter: コールバックフィルタ
- mv_filter: 移動平均フィルタ
- stream_filter: ストリームフィルタ
- boxcar: ボックスカーフィルタ
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| ハンドシェイク | isochronous_4phase_handshake |
isochronous_4phase_handshake.sv |
等時4相ハンドシェイク | isochronous_4phase_handshake.sv |
| ハッシュ | sub_per_hash |
sub_per_hash.sv |
サブパーフェクトハッシュ | sub_per_hash.sv |
- isochronous_4phase_handshake: 等時4相ハンドシェイク
- sub_per_hash: サブパーフェクトハッシュ
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| LFSR | lfsr |
lfsr.sv |
線形フィードバックシフトレジスタ | lfsr.sv |
| LFSR | lfsr_8bit |
lfsr_8bit.sv |
8ビットLFSR | lfsr_8bit.sv |
| LFSR | lfsr_16bit |
lfsr_16bit.sv |
16ビットLFSR | lfsr_16bit.sv |
- lfsr: 線形フィードバックシフトレジスタ。4-64ビット対応
- lfsr_8bit: 8ビット専用LFSR
- lfsr_16bit: 16ビット専用LFSR
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| 数学 | cf_math_pkg |
cf_math_pkg.sv |
共通数学パッケージ | cf_math_pkg.sv |
| 数学 | popcount |
popcount.sv |
ポップカウント | popcount.sv |
| 数学 | lzc |
lzc.sv |
リーディングゼロカウンタ | lzc.sv |
| 数学 | heaviside |
heaviside.sv |
ヘビサイド関数 | heaviside.sv |
| 数学 | boxcar |
boxcar.sv |
ボックスカーフィルタ | boxcar.sv |
- cf_math_pkg: 共通数学パッケージ
- popcount: ポップカウント(1のビット数カウント)
- lzc: リーディングゼロカウンタ
- heaviside: ヘビサイド関数
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| メモリ | mem_to_banks |
mem_to_banks.sv |
メモリ→バンク変換 | mem_to_banks.sv |
| メモリ | mem_to_banks_detailed |
mem_to_banks_detailed.sv |
詳細メモリ→バンク変換 | mem_to_banks_detailed.sv |
| メモリ | stream_to_mem |
stream_to_mem.sv |
ストリーム→メモリ変換 | stream_to_mem.sv |
- mem_to_banks: メモリ→バンク変換
- mem_to_banks_detailed: 詳細メモリ→バンク変換
- stream_to_mem: ストリーム→メモリ変換
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| PLRU | plru_tree |
plru_tree.sv |
PLRUツリー | plru_tree.sv |
- plru_tree: PLRU(Pseudo-Least Recently Used)ツリー
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| キュー | id_queue |
id_queue.sv |
IDキュー | id_queue.sv |
- id_queue: IDキュー
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| レジスタ | spill_register |
spill_register.sv |
スピルレジスタ | spill_register.sv |
| レジスタ | spill_register_flushable |
spill_register_flushable.sv |
フラッシュ可能スピルレジスタ | spill_register_flushable.sv |
| レジスタ | stream_register |
stream_register.sv |
ストリームレジスタ | stream_register.sv |
| レジスタ | fall_through_register |
fall_through_register.sv |
フォールスルーレジスタ | fall_through_register.sv |
| レジスタ | isochronous_spill_register |
isochronous_spill_register.sv |
等時スピルレジスタ | isochronous_spill_register.sv |
| レジスタ | shift_reg |
shift_reg.sv |
シフトレジスタ | shift_reg.sv |
- spill_register: スピルレジスタ
- spill_register_flushable: フラッシュ可能スピルレジスタ
- stream_register: ストリームレジスタ
- fall_through_register: フォールスルーレジスタ
- isochronous_spill_register: 等時スピルレジスタ
- shift_reg: シフトレジスタ
- shift_reg_gated: ゲート付きシフトレジスタ
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| レジスタ | shift_reg_gated |
shift_reg_gated.sv |
ゲート付きシフトレジスタ | shift_reg_gated.sv |
| リセット | rstgen |
rstgen.sv |
リセット生成器 | rstgen.sv |
| リセット | rstgen_bypass |
rstgen_bypass.sv |
バイパスリセット生成器 | rstgen_bypass.sv |
- rstgen: リセット生成器
- rstgen_bypass: バイパスリセット生成器
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| リングバッファ | ring_buffer |
ring_buffer.sv |
リングバッファ | ring_buffer.sv |
- ring_buffer: リングバッファ
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| 同期 | sync |
sync.sv |
同期器 | sync.sv |
| 同期 | sync_wedge |
sync_wedge.sv |
ウェッジ同期器 | sync_wedge.sv |
- sync: 同期器
- sync_wedge: ウェッジ同期器
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| ストリーム | stream_intf |
stream_intf.sv |
ストリームインターフェース | stream_intf.sv |
| ストリーム | stream_mux |
stream_mux.sv |
ストリームマルチプレクサ | stream_mux.sv |
| ストリーム | stream_demux |
stream_demux.sv |
ストリームデマルチプレクサ | stream_demux.sv |
| ストリーム | stream_fork |
stream_fork.sv |
ストリームフォーク | stream_fork.sv |
| ストリーム | stream_fork_dynamic |
stream_fork_dynamic.sv |
動的ストリームフォーク | stream_fork_dynamic.sv |
| ストリーム | stream_join |
stream_join.sv |
ストリームジョイン | stream_join.sv |
| ストリーム | stream_join_dynamic |
stream_join_dynamic.sv |
動的ストリームジョイン | stream_join_dynamic.sv |
| ストリーム | stream_xbar |
stream_xbar.sv |
ストリームクロスバー | stream_xbar.sv |
| ストリーム | stream_omega_net |
stream_omega_net.sv |
オメガネットワーク | stream_omega_net.sv |
| ストリーム | stream_delay |
stream_delay.sv |
ストリーム遅延 | stream_delay.sv |
| ストリーム | stream_throttle |
stream_throttle.sv |
ストリームスロットル | stream_throttle.sv |
| ストリーム | lossy_valid_to_stream |
lossy_valid_to_stream.sv |
ロッシーvalid→ストリーム変換 | lossy_valid_to_stream.sv |
- stream_intf: ストリームインターフェース
- stream_mux: ストリームマルチプレクサ
- stream_demux: ストリームデマルチプレクサ
- stream_fork: ストリームフォーク
- stream_fork_dynamic: 動的ストリームフォーク
- stream_join: ストリームジョイン
- stream_join_dynamic: 動的ストリームジョイン
- stream_xbar: ストリームクロスバー
- stream_omega_net: オメガネットワーク
- stream_delay: ストリーム遅延
- stream_throttle: ストリームスロットル
- lossy_valid_to_stream: ロッシーvalid→ストリーム変換
| カテゴリ | モジュール名 | ファイル名 | 概要 | リンク |
|---|---|---|---|---|
| ユーティリティ | unread |
unread.sv |
未読信号生成 | unread.sv |
| ユーティリティ | read |
read.sv |
読み取り信号生成 | read.sv |
| ユーティリティ | edge_detect |
edge_detect.sv |
エッジ検出 | edge_detect.sv |
| ユーティリティ | edge_propagator |
edge_propagator.sv |
エッジ伝播器 | edge_propagator.sv |
| ユーティリティ | edge_propagator_ack |
edge_propagator_ack.sv |
ACK付きエッジ伝播器 | edge_propagator_ack.sv |
| ユーティリティ | edge_propagator_rx |
edge_propagator_rx.sv |
RXエッジ伝播器 | edge_propagator_rx.sv |
| ユーティリティ | edge_propagator_tx |
edge_propagator_tx.sv |
TXエッジ伝播器 | edge_propagator_tx.sv |
| ユーティリティ | serial_deglitch |
serial_deglitch.sv |
シリアルデグリッチ | serial_deglitch.sv |
| ユーティリティ | exp_backoff |
exp_backoff.sv |
指数バックオフ | exp_backoff.sv |
| ユーティリティ | cc_onehot |
cc_onehot.sv |
ワンホットチェック | cc_onehot.sv |
- unread: 未読信号生成
- read: 読み取り信号生成
- edge_detect: エッジ検出
- edge_propagator: エッジ伝播器
- edge_propagator_ack: ACK付きエッジ伝播器
- edge_propagator_rx: RXエッジ伝播器
- edge_propagator_tx: TXエッジ伝播器
- serial_deglitch: シリアルデグリッチ
- exp_backoff: 指数バックオフ
- cc_onehot: ワンホットチェック