2010年9月27日月曜日

SMM(Simple MicroBlaze Micro controler) のコンセプト

<概要>
  • MicroBlaze は 70 以上のパラメータが設定可能で、高度なエンベデッド ツールを使用するため、シンプルなマイクロコントローラで十分なアプリケーションの場合はシステム設計が面倒となることもあります。→SMMの出番!
  • HDLに直接インスタンシエート。
  • これは 2 つのハードウェア インプリメンテーション ファイルと 1 つのソフトウェア定義ファイルがあればよい。
  • 11.1 以降のツールには、MicroBlaze のソフトウェア開発向けにスタンドアロンのソフトウェア開発キット (SDK) が付属され、フル機能のエンベデッド開発キット (EDK) がなくても C および C++ アプリケーションの作成とデバッグが行える。
<FPGAデザインフロー>
  • ISE を使用した一般的な FPGA インプリメンテーション フローと同様。任意の階層にHDLでインスタンシエートできる。
  • マイクロコントローラのネットリスト (smm.ngc) とブロック RAM メモリのマップ ファイル (smm.bmm) の 2 つ。

<ソフトウェアアプリケーションフロー>
  • マイクロコントローラ アプリケーションの開発を始めるために必要な情報すべてが 1 つのソフトウェア記述ファイル (smm.xml) に含まれています。
  • アプリケーションの開発は、FPGA デザイン フローと切り離して開始できる。
  • ISE 11.1 以降では、SDK がスタンドアロンのオプションとして提供されている。
  • SDK には、ソフトウェア アプリケーションの開発に必要なツール、ドライバ、ライブラリ、ユーティリティすべてが含まれている。
  • ソフトウェア アプリケーションは、C または C++ で作成したものをマイクロコントローラのブロック RAM に格納できます。
  • デ バ ッ グ オ プションを使用すると、アプリケーションをソース レベルで完全にデバッグでき、メモリ、レジスタ、変数の内容が確認できます。
  • デバッグを容易にするためにアプリケーション内にブレークポイントを設定することも可能。
  • デバッグには、FPGA のコンフィギュレーションと同じケーブルが使用できます。
  • SMMの詳細は、アプリケーション ノート XAPP1141 を参照してください。

2010年9月24日金曜日

XC6SLX16

XILINX Spartan6 XC6SL16
PowerPCのハードコアが入っているらしいが、データシートから読み取れない。そもそもハードコアなの?
    => ハードコアのラインナップは無い!

■その1■
Xcell Journal 69-70 より(page26)
「ザイリンクスは 2000 年以来、ハード (PowerPC®405、PowerPC 440) およびファブリック ベースの(MicroBlaze™) エンベデッドマイクロプロセッサを提供してきました。」

XILINXがハードコア入りのFPGAを供給していることは間違いない。


■その2■
2009年1月29日XILINXの記者発表会の翌日のSenior Director, Product Marketing, Advanced Products GroupのCharles Tralka氏のインタビュー内容

【進化したFPGA - Virtex/Spartan-6にXilinxの考えるFPGAの未来を見る】 
(マイコミジャーナル  2009/04/07)
http://journal.mycom.co.jp/articles/2009/04/07/xilinx_tralka/index.html

  • Q:Virtex-5では「PowerPC 405」と「PowerPC 440」がHard Coreとしてラインナップされていました。ただ昨日の話では、Virtex-6とSpartan-6向けにHard CoreのCPUは計画が無いという事でしたが、本当のところどうなんでしょう?
  • X:1つ言えることは、我々は引き続き将来製品に統合するCPUについての評価を行っているという事だ。なので、将来は何かしらのアナウンスをすることができるかもしれない。
  • Q:ただ将来にそうしたHard Coreを提供する事は可能なわけですよね?
  • X:現在提供しているPowerPCに関しては、今後も引き続きサポートしてゆく。もちろん、それはVirtex-5で、という意味で、Virtex-6ではない。

■その3■
プレスリリース 2009/02/03
http://www.eis-japan.com/wl-news/wlnews.cgi?id=release&no=1015
  • ザイリンクス社とアルテラ社がくしくも同じ日に40nm/45nmプロセスを使用した新製品を発表。
  • 従来のVirtex-5の後継にあたるVirtex-6ファミリと、Spartan-3の後継にあたる、Spartan-6ファミリ。
  • Virtex-6には40nmプロセス(12層配線)を、Spartan-6には45nm(9層配線)の最先端プロセス。
  • ファンダリ・パートナは、台湾のUMC、それに今回から韓国のサムソンが新たに加わり、東芝の名前はない。

  • しかし、Vitex-5で提供されていたPowerPCコア内蔵のプラットフォーム(FXT)は、Virtec-6で提供されない。これは、あまり需要が見込めないと判断されたためであろう。PowerPCのヘビー・ユーザには少し残念な知らせだ。

  • Virtex-6 LXT FPGA - 高性能なロジック、DSP、低消費電力の GTX 6.5 Gbps シリアル トランシーバを必要とするアプリケーション向けに最適化されたプラットフォーム
  • Virtex-6 SXT FPGA - 超高性能 DSP と低消費電力の GTX 6.5 Gbps シリアル トランシーバを必要とするアプリケーション向けに最適化されたプラットフォーム
  • Virtex-6 HXT FPGA- 最高 11.2 Gbps までサポートする 64 GTH による最高速のシリアル接続を必要とする通信用アプリケーションに最適化されたプラットフォーム
  • Spartan-6 LX FPGA : 低コスト性が絶対的に要求されるアプリケーション用に最適化されたプラットフォーム
  • Spartan-6 LXT FPGA : LX プラットフォームを拡張して最大 8 個の 3.125 Gbps GTP トランシーバと PCI Express 対応コアを搭載したプラットフォーム

2010年9月7日火曜日

XILINX Foundation ISE5.1i 簡単操作ガイド

<Simulation>
  • Modelsim Xilinx版を付属
  • VHDL/Verilogのいずれもサポート ミックス言語はサポートしない
  • ISEとは別途インストール

XSTの設定

2010年9月2日木曜日

SIMetrix/SIMPLIS スケール

<使用できるスケール>

<ユニバーサル電圧源>
  • AC電圧
  • DC電圧
  • パルス波
  • 正弦波
  • ランダム雑音波
  • テキスト記述の電圧              の種類がある。

2010年9月1日水曜日

PIC USB Framework

<準備>
  • MicrochipのホームページからUSB Framework を入手
         - MAL:Microchip Application Libraries (インストーラー)をダウンロード
         - v2010-08-04 をダウンロードした
  • インストール
         - Microchip Solution v2010-08-04 が作成され、そこにインストールされた
  • workディレクトリ作成
  • workディレクトリに次のディレクトリをコピー
         - Microchip
         - USB Device -CDC -Basic Demo
  • CDC -Basic Demo -Firmware \ USB Device -CDC -Basic Demo -C18 PICDEM FSUSB.mcp を実行
  • 何も変更せずにビルド -> BUILD SUCCEEDED

<PIC18F2550用に変更>
  • デバイスを変更 Configure>SelectDevice デバイスをPIC18F2550に設定
  • ビルドするとエラーになる HardwareProfile が定義できないので
  • PIC4550用HardwareProfileをコピーして別名定義、それをPI24550用HardwareProfileとし読み込むことにする
  • PIC2550用HardwareProfileはコピーしたものからLEDポートの定義を変更
  • PIC4550用LinkerScriptをコピーして別名定義、それをPI24550用LinkerScriptとし読み込むことにする
  • PIC2550用LinkerScriptはコピーしたものから FILES p18f2550.lib と変更
  • ビルド -> BUILD SUCCEEDED

<プログラム>
  • デバイスにプログラム
  • LEDが点滅する
  • IDEとの接続を切り、USBでPCと接続するとLED点滅している -> プログラム成功

<PCのデバイス認識>
  • USBケーブルでPCに接続
  • デバイスドライバインストールを促すダイヤログをキャンセル
  • デバイスマネージャを開く
  • デバイス認識ができていないデバイスを右クリック指定してドライバ更新を選択
  • ファイルを指定して.. を選択
  • 同プロジェクトのinfを選択し、デバイスドライバのインストール完了

<動作確認>
  • デバイスマネージャでCOM5に認識を確認
  • TeraTermを開く
  • COM5,8,n,1 の設定
  • 文字を送信すると+1のコードが返信される