FC2カウンター FPGAの部屋 openMSP430のSpartan3 Stater Kitへのインプリメント
fc2ブログ

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

FPGAの部屋

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

openMSP430のSpartan3 Stater Kitへのインプリメント

今回は、OpenCoures のopenMSP430 のプロジェクトをダウンロードして、解凍した。
openMSP430 :: OverviewのLatest version: downloadをクリックしてダウンロードした。openmsp430_latest.tar.gz がダウンロードできたので、解凍したところopenMSP430フォルダができた。
openmsp430\trunk\fpga\xilinx_diligent_s3boardにSpartan3 Stater Kit用のプロジェクトが入っているようなので、これをやってみることにした。
openMSP430_4_110609.png

openmsp430\trunk\fpga\xilinx_diligent_s3board\synthesis\xilinx にcreate_bitstream.bat があるので、ISE13.1のISE Design Suteコマンド プロンプトを立上て、create_bitstream.batを起動した。
openMSP430_5_110609.png

すると、BATファイルが実行されたが、エラーで止まってしまった。../../../rtl/verilog/openmse430/periph/omsp_timerA.v でomsp_timerA_define.vが見つからないそうだ。

次に、Project Navigatorでプロジェクトを作成してやってみることにした。

1.Project Navigatorで3S200FT256-4のプロジェクトを作成した。
2.openmsp430\trunk\fpga\xilinx_diligent_s3board\rtl\verilogにあるVerilogファイルを大体 Add Source した。
3.penmsp430\trunk\fpga\xilinx_diligent_s3board\synthesis\xilinx にあるopenMSP430_fpga.ucfもプロジェクトにAdd Sourceした。
4.openmsp430\trunk\fpga\xilinx_diligent_s3board\rtl\verilog\coregenにある4つのIPをAdd Copy of Source した。


とりあえず、penmsp430\trunk\fpga\xilinx_diligent_s3board\synthesis\xilinx にあるmemory.bmm はプロジェクトに入れないでこのままインプリメントしてみた。

インプリメントが成功した。インプリメント結果を下に示す。
openMSP430_6_110609.png

ROMへのパスがクリティカルパスになっていて、動作周波数は25MHz程度のようだ。
Number of 4 input LUTsが81%使用されている。かなりの占有率だ。結構リソースを消費する。下にMAPのリポートを示す。

Design Information
------------------
Command Line   : map -intstyle ise -p xc3s200-ft256-4 -cm area -ir off -pr off
-c 100 -o openMSP430_fpga_map.ncd openMSP430_fpga.ngd openMSP430_fpga.pcf 
Target Device  : xc3s200
Target Package : ft256
Target Speed   : -4
Mapper Version : spartan3 -- $Revision: 1.55 $
Mapped Date    : THU 9 JUN 5:6:4 2011

Design Summary
--------------
Number of errors:      0
Number of warnings:   40
Logic Utilization:
  Number of Slice Flip Flops:         1,060 out of   3,840   27%
  Number of 4 input LUTs:             3,136 out of   3,840   81%
Logic Distribution:
  Number of occupied Slices:          1,862 out of   1,920   96%
    Number of Slices containing only related logic:   1,862 out of   1,862 100%
    Number of Slices containing unrelated logic:          0 out of   1,862   0%
      *See NOTES below for an explanation of the effects of unrelated logic.
  Total Number of 4 input LUTs:       3,244 out of   3,840   84%
    Number used as logic:             3,136
    Number used as a route-thru:        108

  The Slice Logic Distribution report is not meaningful if the design is
  over-mapped for a non-slice resource or if Placement fails.

  Number of bonded IOBs:                 65 out of     173   37%
  Number of RAMB16s:                      4 out of      12   33%
  Number of MULT18X18s:                   1 out of      12    8%
  Number of BUFGMUXs:                     2 out of       8   25%
  Number of DCMs:                         1 out of       4   25%
  Number of STARTUPs:                     1 out of       1  100%

Average Fanout of Non-Clock Nets:                3.95


The Simple MicroBlaze Microcontroller(SMM) は、SMM + UART + DebugのSpartan3で、使用LUTsは1770なので、SMMよりopenMSP430の方が約2倍LUTリソースを消費している。
しかも、SMMは32ビットプロセッサで、openMSP430は16ビットプロセッサなんだよね。。。一応、Spartan3 Stater Kitドライブ用にtimerやgpio, 7segment driver等が入っているのか。。。

  1. 2011年06月09日 05:33 |
  2. FPGA内蔵マイクロコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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