FC2カウンター FPGAの部屋 Xilinx 社のマイクロプロセッサまとめ1(PicoBlaze, MicroBlaze MCS)

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

FPGAの部屋

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

Xilinx 社のマイクロプロセッサまとめ1(PicoBlaze, MicroBlaze MCS)

ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016”の記事として書きます。
始めはVivado HLS について書こうと思ったのですが、マイクロプロセッサの話題が主というか?ほとんどマイクロプロセッサの話題のようなので、急遽ブログ記事を変更しました。

PicoBlaze
最初に一番小さいマイクロプロセッサから行きましょう。まだあるんだ。。。ということで、「PicoBlaze 8-ビット マイクロコントローラー」です。

デバイス ファミリ サポート: Zynq-7000 Virtex-7 Kintex-7 Artix-7 Spartan-6 Virtex-6 Virtex-5 Virtex-4 Virtex-II Pro Virtex-II Spartan-3AN Spartan-3A Spartan-3

Zynqもサポートされているんですね。。。知らなかった。とってもコンパクトな 8 ビット マイクロプロセッサです。
ブロック図です(UG129 - PicoBlaze 8-bit Embedded Microcontroller User Guide for Spartan-3, Spartan-6, Virtex-5, Virtex-6 and 7 Series FPGAs ( v2.1, 2835 KB ) [PDF] の8 ページの「Figure 1-1: PicoBlaze Embedded Microcontroller Block Diagram」を転載させていただきました)
Xilinx_Micon_1_161203.png

PicoBlaze フォーラムもありますよ。

PicoBlaze資料のページ

PicoBlaze のダウンロードページ

FPGAの部屋のブログのPicoBlazeの記事
スパルタン3EスターターキットのLCD表示回路まとめ」でLCDを表示するためにPicoBlazeを使用しました。
「スパルタン3Eスタータキットのロータリーエンコーダ2
Spratan3E Starter KitのDDR SDRAMコントローラ(プロジェクト)」 DDR SDRAMコントローラのシミュレーションのためにPicoBlaze を使ったんだったかな?

MicroBlaze MCS
MicroBlaze MCS もまだあったとは知らなかった。。。

資料
MicroBlaze Micro Controller System v3.0 LogiCORE IP Product Guide Vivado Design Suite PG116 October 5, 2016


MicroBlaze MCS はパイプライン3段固定のMicroBlaze で 32 ビットのRISC プロセッサです。
MicroBlaze Micro Controller System (MicroBlaze MCS) のブロック図をMicroBlaze Micro Controller System v3.0 LogiCORE IP Product Guide Vivado Design Suite PG116 October 5, 2016
の 5 ページ Figure 1-1: MicroBlaze Micro Controller System から引用します。
Xilinx_Micon_8_161203.png

次に示す IO モジュールがあります。

I/O Bus
Interrupt Controller using fast interrupt mode
UART
Fixed Interval Timers
Programmable Interval Timers
General Purpose Inputs
General Purpose Outputs


MicroBlaze と MicroBlaze MCS の違いは、MicroBlaze がフルスペックなのに対して、MicroBlaze MCS は固定された機能を使えるという違いがあります。(MicroBlaze マイクロ コントローラー システム (MCS)の表を参照ください)
以前はフルスペックのMicroBlaze が有償だったので使っていましたが、MicroBlaze が無償となった今となっては使いどころはあまりないと思われます。
ですが、7 シリーズも対応しているし、Vivado でも使えるようです。

Vivado のIP Integrator でも使えるので、Add IP してやってみましょう。

Vivado 2016.3 を起動して、IP Integrator のブロックデザインを開きます。

Add IP ボタンをクリックしてAdd IP します。Micro で検索するとMicroBlaze MCSが出てきます。これをダブルクリックして、ブロックデザインに入れてみましょう。
Xilinx_Micon_2_161203.png

すると、MicroBlaze MCS がインスタンスされました。まだ、Clk と Reset のみの状態です。
Xilinx_Micon_3_161203.png

MicroBlaze MCS をダブルクリックして設定してみましょう。
Xilinx_Micon_4_161203.png

MCS タブです。
Xilinx_Micon_5_161203.png

UART タブでUART をイネーブルしてみます。
Xilinx_Micon_6_161203.png

OK ボタンをクリックすると、MicroBlaze MCS にUART のポートが追加されているのが分かります。
Xilinx_Micon_7_161203.png

MicroBlaze MCSのソフトウェアを作るには、Eclipse ベースのSDK を使用します。

FPGAの部屋の「MicroBlaze MCS」のページです。
  1. 2016年12月04日 05:39 |
  2. FPGAのマイクロプロセッサ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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