(C) by T.IZUMI, Oct.2025 - 無断複製・再配布を禁ず。リンクは歓迎。
Ver. 2025.10.26.a
Xilinx の 論理回路用 IP
ここでは いずみ が作成した IP (ライブラリ)を用いて論理回路設計を進めたが、
Xilinx提供の論理回路用の IP を使用することもできる。
- Inline Utility Vector Logic
- 汎用論理ゲート、入力ごとに入力ポートを持ちビットごとに演算する(普通の論理ゲート)、
例:   \(\displaystyle f_i \leftarrow a_i + b_i\)
- Inline Utility Reduced Logic
- 汎用論理ゲート、多ビットの入力ポートをひとつ持ち各ビットを集約して演算する、
例:   \(\displaystyle f \leftarrow \sum_{i} a_i\)
- Inline Constant
- 定数値を出力する
- Inline Concat
- 複数の1ビット入力をひとつの多ビット出力にまとめる
- Inline Slice
- 多ビット入力の部分ビット列を切り出す
- util_ff
- Dフリップフロップ ※いずみの環境ではSynthesisはできてもImplementationができなかった
Xilinx の IP では、ビット幅やビット位置などを設定して使用する。
以下にいくつか設定例を示す。
ばらばらの配線を束にまとめる例
- [Diagram] ウィンドウ(E)の上側 [+] ボタンを押下して Inline Concat を追加する。
- 生成したオブジェクトを右クリックし Customize Block を実行し、
入力配線数 Number of Ports: を設定する。
- 入力側にまとめたいばらばらの配線、出力側にまとめた束(vector)の配線をつなげる。
束配線をばらばらの配線にする例
- 入力の btn, sw が 4 bits の束線 btn[3:0], sw[3:0] であったとする。
- [Diagram] ウィンドウ(E)の上側 [+] ボタンを押下して Inline Slice を追加する。
- 生成したオブジェクトを右クリックし Customize Block を実行し、
Din Width: 4 、
Din From: 0 、
Din Down To: 0 、
Dout Width:1
とする。
- 同様に btn, sw のすべてのビットを設定する。
| ブロック名 | 入力の接続先 | 入力ビット幅 | 切出位置 |
slice_btn0 | btn | 4 | 0:0 |
slice_btn1 | btn | 4 | 1:1 |
slice_btn2 | btn | 4 | 2:2 |
slice_btn3 | btn | 4 | 3:3 |
slice_sw0 | sw | 4 | 0:0 |
slice_sw1 | sw | 4 | 1:1 |
slice_sw2 | sw | 4 | 2:2 |
slice_sw3 | sw | 4 | 3:3 |
泉 知論
@
立命館大学
理工学部
電子情報工学科
その他の講義&演習資料はこちら