FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

Pulp Platform の Common Cells デザイン概要

Pulpのcommon cellsにどういうものが入っているのかを、ChatGPTに纏めてもらった。この記事は、概要を知りたいだけのもの。

github.com

概要テーブル

カテゴリ モジュール名 ファイル名 概要 リンク
アドレスデコーダ 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
カテゴリ モジュール名 ファイル名 概要 リンク
アービタ 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
カテゴリ モジュール名 ファイル名 概要 リンク
クロック 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
カテゴリ モジュール名 ファイル名 概要 リンク
カウンタ 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
カテゴリ モジュール名 ファイル名 概要 リンク
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
カテゴリ モジュール名 ファイル名 概要 リンク
フィルタ 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
カテゴリ モジュール名 ファイル名 概要 リンク
レジスタ 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
カテゴリ モジュール名 ファイル名 概要 リンク
ユーティリティ 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: ワンホットチェック