FC2カウンター FPGAの部屋 2012年01月01日
FC2ブログ

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

FPGAの部屋

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

2011年のFPGAの部屋のアクセス数

あけましておめでとうございます。

2011年のFPGAの部屋のアクセス数は522,286アクセスでした。
皆さん見て頂いてありがとうございました。今年もよろしくお願いします。

FPGA_room_2011_120101.png

今年は、ISE14が出るという噂なので、どのように変わっているか楽しみです。Alteraも触ってみたいと思っていますが、なかなかXilinxのツールを覚えるのに大変で、そこまで行きません。とりあえずはXilinx用にAXI4バスのカスタム・マスタIPを作ってみようと思っています。
  1. 2012年01月01日 04:28 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

AtlysボードでXPSプロジェクトを試す1(XPSのプロジェクト作成、インプリメント)

Atlysボードを使用した2つのAXI4バスのマスタIPを作ろうと思っている。それは、カメラのピクセルデータをDDR2 SDRAMに書きこむカメラ制御回路とDDR2 SDRAMからカメラのピクセルデータを取得して表示するディスプレイ表示回路だ。

その前段階として、XPS(バージョンは13.3)を使ってAltysボードのプロジェクトを作ってみた。
Atlys™ Spartan-6 FPGA Development BoardのWebページにあるProject Peripheral Repositoryサンプルを使用した。それは、DSD-0000282、”Atlys board support files for EDK BSB wizard. Supports EDK 13.2 for both AXI and PLB buses.”(ZIPファイル)だ。
このファイルを予めダウンロードし、展開しておく。展開するとAtlys_BSB_Support_v_3_2というフォルダが作られる。

1.XPSを立ち上げる。Create New Project Using Base System Builder をクリックしてBSBウィザードを起動する。
Atlys_8_111231.png

2.BSB Wizardが起動する。Project Fileを指定して、Select an Interconnect TypeをAXI Systemに指定する。Set Project Peripheral Repository Search PathをAtlys_BSB_Support_v_3_2\Atlys_AXI_BSB_Support\libに指定する。OKボタンをクリックする。
Atlys_9_111231.png

3.BSBダイアログが起動した。Boardには、Digilent Spartan-6 Atlysと入っていた。デフォルトのSigle MicroBlaze Processer System とOptimization StrategyにはAreaを選択した。Next->ボタンをクリックした。
Atlys_10_111231.png

4.Processor, Cache, and Peripheral Configuration では、デフォルトからmicroblaze_0のLocal Memory Sizeを16KBに変更した。axi_timerをAddして、Use Interruptにチェックを入れた。Finishボタンをクリックした。
Atlys_11_111231.png

5.XPSプロジェクトが生成できた。
Atlys_12_111231.png

6.HardwareメニューからGenerate Bitstreamを選択して、ビットファイルを生成した。

7.インプリメント終了。ビットファイルが生成できた。
Atlys_13_111231.png

8.各モジュールのリソース使用量の見積もり値を下に示す。
Atlys_14_120101.png

9.全リソース使用状況を下に示す。

Release 13.3 Map O.76xd (nt)
Xilinx Mapping Report File for Design 'system'

Design Information
------------------
Command Line   : map -o system_map.ncd -w -pr b -ol high -timing -detail
system.ngd system.pcf 
Target Device  : xc6slx45
Target Package : csg324
Target Speed   : -2
Mapper Version : spartan6 -- $Revision: 1.55 $
Mapped Date    : SAT 31 DEC 18:42:38 2011

Design Summary
--------------
Number of errors:      0
Number of warnings:   28
Slice Logic Utilization:
  Number of Slice Registers:                 3,484 out of  54,576    6%
    Number used as Flip Flops:               3,475
    Number used as Latches:                      0
    Number used as Latch-thrus:                  0
    Number used as AND/OR logics:                9
  Number of Slice LUTs:                      4,149 out of  27,288   15%
    Number used as logic:                    3,837 out of  27,288   14%
      Number using O6 output only:           2,903
      Number using O5 output only:             104
      Number using O5 and O6:                  830
      Number used as ROM:                        0
    Number used as Memory:                     236 out of   6,408    3%
      Number used as Dual Port RAM:             96
        Number using O6 output only:             4
        Number using O5 output only:             1
        Number using O5 and O6:                 91
      Number used as Single Port RAM:            4
        Number using O6 output only:             4
        Number using O5 output only:             0
        Number using O5 and O6:                  0
      Number used as Shift Register:           136
        Number using O6 output only:            43
        Number using O5 output only:             1
        Number using O5 and O6:                 92
    Number used exclusively as route-thrus:     76
      Number with same-slice register load:     58
      Number with same-slice carry load:        12
      Number with other load:                    6

Slice Logic Distribution:
  Number of occupied Slices:                 1,800 out of   6,822   26%
  Nummber of MUXCYs used:                      652 out of  13,644    4%
  Number of LUT Flip Flop pairs used:        5,065
    Number with an unused Flip Flop:         1,860 out of   5,065   36%
    Number with an unused LUT:                 916 out of   5,065   18%
    Number of fully used LUT-FF pairs:       2,289 out of   5,065   45%
    Number of unique control sets:             278
    Number of slice register sites lost
      to control set restrictions:           1,082 out of  54,576    1%

  A LUT Flip Flop pair for this architecture represents one LUT paired with
  one Flip Flop within a slice.  A control set is a unique combination of
  clock, reset, set, and enable signals for a registered element.
  The Slice Logic Distribution report is not meaningful if the design is
  over-mapped for a non-slice resource or if Placement fails.

IO Utilization:
  Number of bonded IOBs:                        89 out of     218   40%
    Number of LOCed IOBs:                       89 out of      89  100%
    IOB Flip Flops:                             20

Specific Feature Utilization:
  Number of RAMB16BWERs:                        20 out of     116   17%
  Number of RAMB8BWERs:                          0 out of     232    0%
  Number of BUFIO2/BUFIO2_2CLKs:                 1 out of      32    3%
    Number used as BUFIO2s:                      1
    Number used as BUFIO2_2CLKs:                 0
  Number of BUFIO2FB/BUFIO2FB_2CLKs:             0 out of      32    0%
  Number of BUFG/BUFGMUXs:                       2 out of      16   12%
    Number used as BUFGs:                        2
    Number used as BUFGMUX:                      0
  Number of DCM/DCM_CLKGENs:                     0 out of       8    0%
  Number of ILOGIC2/ISERDES2s:                  12 out of     376    3%
    Number used as ILOGIC2s:                    12
    Number used as ISERDES2s:                    0
  Number of IODELAY2/IODRP2/IODRP2_MCBs:        24 out of     376    6%
    Number used as IODELAY2s:                    0
    Number used as IODRP2s:                      2
    Number used as IODRP2_MCBs:                 22
  Number of OLOGIC2/OSERDES2s:                  52 out of     376   13%
    Number used as OLOGIC2s:                     7
    Number used as OSERDES2s:                   45
  Number of BSCANs:                              1 out of       4   25%
  Number of BUFHs:                               0 out of     256    0%
  Number of BUFPLLs:                             0 out of       8    0%
  Number of BUFPLL_MCBs:                         1 out of       4   25%
  Number of DSP48A1s:                            3 out of      58    5%
  Number of ICAPs:                               0 out of       1    0%
  Number of MCBs:                                1 out of       2   50%
  Number of PCILOGICSEs:                         0 out of       2    0%
  Number of PLL_ADVs:                            1 out of       4   25%
  Number of PMVs:                                0 out of       1    0%
  Number of STARTUPs:                            0 out of       1    0%
  Number of SUSPEND_SYNCs:                       0 out of       1    0%

Average Fanout of Non-Clock Nets:                3.95


次はSDKを立ち上げて、簡単なソフトウェアを作って動作を確かめる。
  1. 2012年01月01日 04:10 |
  2. Atlysボード
  3. | トラックバック:0
  4. | コメント:0