FC2カウンター FPGAの部屋 Virtex5, Virtex4, Spartan3Eのインプリメント結果3(SLICEL)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Virtex5, Virtex4, Spartan3Eのインプリメント結果3(SLICEL)

Virtex5, Virtex4, Spartan3Eのインプリメント結果2(分散RAM)では分散RAMのFPGA Editorでの見え方を比較したが、今度はロジックとして使用したLUT(LookUp Table)を比較してみようと思う。SLICELというスライスだ。

まずはSpartan3Eはこのようになる。これはN27という中間のインスタンスだ。LUTから出力に出ている。
Spa3E_FPGA_Editor_N27_070318.png


次にVirtex4はこうだ。N31という中間のインスタンスだ。同様にLUTから出力に出ている。
V4_FPGA_Editor_N31_070318.png

以前のSLICEMとの差はLUTのようだ。

次にVirtex5はこのようだ。N31という中間のインスタンスだ。同様にLUTから出力に出ている。
V5_FPGA_Editor_N31_070318.png

かなり配線が来ていて、6入力LUTを有効に使用しているようだ。上の2つのLUTは結合されてより大きなロジックを担当している。出力はin_port<3>となっている。3つ目のLUT出力のN31も上の2つのLUTの入力として使われている。これはLCD4HEXDisp.vファイルにある、PicoBlazeプロセッサの入力ポートのセレクタとして、使われているようだ。

    // 入力ポート用のセレクタ
    always @* begin
        if (read_strobe==1'b1) begin
            case (port_id)
                8'h00 : in_port <= input_data_latch;
                8'h01 : in_port <= {6'b000000, ope_is_idle, int_cnt_is_zero};
                8'h02 : in_port <= upper_4hex_data[15:8];
                8'h03 : in_port <= upper_4hex_data[7:0];
                8'h04 : in_port <= lower_4hex_data[15:8];
                8'h05 : in_port <= lower_4hex_data[7:0];
                default : // 6
                    in_port <= {cursor_position, 1'b0, cursor_move, left_level, right_level};
            endcase
        end else
            in_port <= 8'bxxxx_xxxx;
    end


複雑なセレクタでは6入力LUTが有効に使われるのだろう。
  1. 2007年03月21日 10:27 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/445-43431881
この記事にトラックバックする(FC2ブログユーザー)